[OE-core] gcc: 0041-handle-target-sysroot-multilib.patch maybe doesn't work for n32?

Khem Raj raj.khem at gmail.com
Tue Oct 13 21:16:53 UTC 2015


On Tue, Oct 13, 2015 at 12:00 PM, Peter Seebach
<peter.seebach at windriver.com> wrote:
> So, we have this shiny new patch which appears to correct paths for MIPS, but
> when I try it with an n32 multilib, I get Very Strange failures.
>
> The actual failing line, from gcc -v:
>
> /msp-lpggp22/seebs/oemips/sysroots/x86_64-oesdk-linux/usr/libexec/mips64-oe-linux/gcc/mips64-oe-linux/5.2.0/collect2
> -plugin /msp-lpggp22/seebs/oemips/sysroots/x86_64-oesdk-linux/usr/libexec/mips64-oe-linux/gcc/mips64-oe-linux/5.2.0/liblto_plugin.so -plugin-opt=/msp-lpggp22/seebs/oemips/sysroots/x86_64-oesdk-linux/usr/libexec/mips64-oe-linux/gcc/mips64-oe-linux/5.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccSLbHqX.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux --build-id --eh-frame-hdr --hash-style=sysv -EB -mips64 -dynamic-linker /lib64/ld.so.1 -melf32btsmipn32 -o h /msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32/crt1.o /msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32/crti.o /msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32/mips64-oe-linux/5.2.0/32/crtbegin.o -L/msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/lib64/../lib32 -L/msp-lpggp
>  22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32/mips64-oe-linux/5.2.0/32 -L/msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/mips64-oe-linux/5.2.0/32 -L/msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32 -L/msp-lpggp22/seebs/oemips/sysroots/x86_64-oesdk-linux/usr/lib/mips64-oe-linux/gcc/mips64-oe-linux/5.2.0 -L/msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/lib64 -L/msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/mips64-oe-linux/5.2.0 -L/msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64 /tmp/ccIHCMJV.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32/mips64-oe-linux/5.2.0/32/crtend.o /msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32/crtn.o
> /msp-lpggp22/seebs/oemips/sysroots/x86_64-oesdk-linux/usr/libexec/mips64-oe-linux/gcc/mips64-oe-linux/5.2.0/real-ld: /msp-lpggp22/seebs/oemips/sysroots/mips32r2-oe-linux/usr/lib64/../lib32/mips64-oe-linux/5.2.0/32/crtbegin.o: ABI is incompatible with that of the selected emulation
> [... and many more errors related to this
>
> So, looking around, I see three crtbegin.o in the sysroot:
> /usr/lib/mips-oe-linux/5.2.0/crtbegin.o
> /usr/lib64/mips64-oemllib64-linux/5.2.0/crtbegin.o
> /usr/lib32/mips64-oemllibn32-linux-gnun32/5.2.0/crtbegin.o
>
> And presumably, I want the gnun32 library. But what it actually picked was:
> /usr/lib64/../lib32/mips64-oe-linux/5.2.0/32/crtbegin.o
>
> And that's the 32-bit (base library) crtbegin.o.
>
> I am pretty sure that the gcc patch 0041 affects this but I honestly don't
> entirely understand it.

also look at 0013-64-bit-multilib-hack.patch
this should not even look at bitness directories. I wonder why thats happening.

>
> -s
> --
> Listen, get this.  Nobody with a good compiler needs to be justified.
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list