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