• MorphOS Developer
    itix
    Posts: 1516 from 2003/2/24
    From: Finland
    Quote:


    Are you talking about __libcall__? The funny thing is that this extension causes no problems with new GCC versions. Th old GCC2 modifications apply to ALL later versions. Go figure..



    Does it support 68k vararg hack too?

    According to amiga_compiler.h GCC uses

    #define APICALL __attribute__((libcall))

    when VBCC uses

    #define APICALL __aos4libcall __linearvarargs

    So that every vararg library call in OS4 uses 68k varargs instead of native SysV varargs (newlib.library being an exception).

    One would also ask who had this idea using (the system private) r2 as a base pointer for baserel libraries... maybe r13 was too obvious...

    Luckily you can always extend struct Process when you need new base pointer (though it makes it tricky when your code is called from other context but not impossible).

    Quote:


    Without all the fancy stuff like __varargs68k, __saveds



    Lack of __vararg68k is not problem. You can always work around this by piece of code. However without baserel support SDL libraries cant be compiled on anything else than GCC2. But GCC4 is not secret overclocking utility so...
    1 + 1 = 3 with very large values of 1
  • »07.04.06 - 10:29
    Profile