i686 to c3-2 crosstool build fails on setjmp

Simon Poole simon.armlinux@themalago.net
Tue Nov 2 12:13:00 GMT 2004


Dan Kegel wrote:
> Simon Poole wrote:
>> The failure looks like this:
>>
>> ../sysdeps/i386/elf/setjmp.S: Assembler messages:
>> ../sysdeps/i386/elf/setjmp.S:63: Error: junk at end of line, first 
>> unrecognized character is `1'
> 
> 
> That looks a lot like you've run into a preprocessor symbol clash.
> Line 63 of setjmp.S (in my copy, anyway) is
> 
>         .section .gnu.linkonce.t.__i686.get_pc_thunk.cx,"ax",@progbits
> and you can easily imagine __i686 being defined to 1!
> 
 > What I do in these cases is copy the crucial lines from the build
 > log into a three line shell script (export PATH=...; cd ...;
 > the-gcc-command-that-failed ...)
 > and verify that running that script reproduces the problem quickly and
 > exactly.
 > Then I do something like -save-temps, and compare the preprocessed
 > sources (setjmp.s) with the original source (setjmp.S).

Yep, that's it.  __i686 is indeed being defined to 1.

> 
> Here's a patch I apply to fix a similar problem with sparc;
> this has been fixed in glibc mainline now, I think, but similar
> problems might lurk.
> http://kegel.com/crosstool/crosstool-0.28-rc36/patches/glibc-2.3.2/glibc-2.3.2-sparc32-sysdep.patch 
> 

Is there any reason why an equivalent patch (i.e. #undef __i686) in 
sysdeps/unix/sysv/linux/i386/sysdep.h wouldn't do the trick for me?

> 
> See similar situation
> http://sources.redhat.com/ml/crossgcc/2004-06/msg00049.html
> though that fellow didn't seem to follow through.
> 
> - Dan
> 

Switching the -c to -E in the-gcc-command-that-failed produces no output.

Next steps? You might have noticed that this is right on the boundary of 
where I have a clue and where I don't!

Thanks,

Simon.
--
Simon Poole
www.appliancestudio.com


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com



More information about the crossgcc mailing list