[Stackless] Warning: build may fail on OS X with Xcode 1.1.1's gcc 3.3 compiler

Bob Ippolito bob at redivi.com
Sun Mar 14 12:55:45 CET 2004


On Mar 14, 2004, at 12:43 PM, Christian Tismer wrote:

> Bob Ippolito wrote:
>
>> gcc version 3.3 20030304 (Apple Computer, Inc. build 1636) 
>> (-mlongcall), distributed with the latest seed of Xcode 1.1.1, isn't 
>> able to build slp_transfer.  You will see errors that looks like 
>> this:
>> /var/tmp//ccyq4M9K.s:64:non-relocatable subtraction expression, 
>> "__cst" minus "L00000000001$pb"
>> /var/tmp//ccyq4M9K.s:64:symbol: "L00000000001$pb" can't be undefined 
>> in a subtraction expression
>> Current workarounds:
>>     don't upgrade Xcode
>>     or compile with gcc 3.1 (/usr/bin/gcc3)
>> If I can't tweak it to compile, I'll guess I'll distribute a .s 
>> (assembly) file for the platform (created with gcc -S from a working 
>> compiler) and jigger the makefile to use that instead.
>
> That's just fine.
> Maybe this would be the better option in general, since we
> would have more control over the registers and such.
> On the other hand, it would not integrate so nice with
> those macros which do the actual data transfers.
> Maybe these would be real functions, instead, and
> called from the assembly?

Well, I ended up "solving" this problem by adding a static variable to 
the function, and referencing it from an __asm__.. this forced the full 
PIC prologue to be generated.  I'm not sure if maintaining more 
assembly code would be a good idea if we don't have to.. this is the 
sort of function you write once and hope to never look at it again :)

-bob


_______________________________________________
Stackless mailing list
Stackless at stackless.com
http://www.stackless.com/mailman/listinfo/stackless



More information about the Stackless mailing list