linking correct libc
ng@piments.com
ng@piments.com
Mon May 25 14:18:00 GMT 2009
Yann E. MORIN wrote:
> "ng",
> All,
>
> On Sunday 24 May 2009 22:09:27 ng@piments.com wrote:
>> Yann E. MORIN wrote:
>>> It is *not* needed to pass --sysroot to the compielrs build with
>>> crosstool-NG.
>> thanks, I realised that , it was an attempt to verofu what was happening
>> by explicitly specifying everything. When it made no difference I
>> concluded the built-in sysroot was correctly interpreted and the problem
>> lay elsewhere.
>
> So, your toolchain is working, and you are trying to reproduce gcc's internal
> logic by passing args on the command line, right?
>
>>> What does the follwing command says:
>>> /back/ts/ct-wkg//x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc \
>> was something missed off after the \ :?
>
> Yes, sorry:
> bla-bla-gcc -print-search-dirs
voila:
/back/ts/ct-wkg//x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc
-print-search-dirs
install:
/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.3.2/
programs:
=/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../libexec/gcc/arm-unknown-linux-gnueabi/4.3.2/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../libexec/gcc/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.3.2/../../../../arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi/4.3.2/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.3.2/../../../../arm-unknown-linux-gnueabi/bin/
libraries:
=/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.3.2/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../lib/gcc/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.3.2/../../../../arm-unknown-linux-gnueabi/lib/arm-unknown-linux-gnueabi/4.3.2/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../lib/gcc/arm-unknown-linux-gnueabi/4.3.2/../../../../arm-unknown-linux-gnueabi/lib/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi//sys-root/lib/arm-unknown-linux-gnueabi/4.3.2/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi//sys-root/lib/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi//sys-root/usr/lib/arm-unknown-linux-gnueabi/4.3.2/:/back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi//sys-root/usr/lib/
>
>> /back/ts/ct-wkg//x-tools/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc
>> \ -print-file-name=libc.so
>> /back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi//sys-root/usr/lib/libc.so
>
> OK.
>
>> cat
>> /back/ts/ct-wkg/x-tools/arm-unknown-linux-gnueabi/bin/../arm-unknown-linux-gnueabi//sys-root/usr/lib/libc.so
>> /* GNU ld script
>> Use the shared library, but some functions are only in
>> the static library, so try that secondarily. */
>> OUTPUT_FORMAT(elf32-littlearm)
>> GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED (
>> /lib/ld-linux.so.3 ) )
>> OK , so that explains the reference to /lib/libc.so.6 , is that what you
>> would expect to see here?
>
> Yes, correct. Those are paths relative to the sysroot, so gcc will hapilly
> find them.
> BTW, notice: ld-linux.so.3 -> EABI-era dynamic linker, good.
>
> To conclude this thread: does your toolchain correctly works by default?
>
Well it builds a bootable kernel and busybox but I can't get past this
incompatible /lib/libc.so.6 error in portmap.
CPPFLAGS="-I/back/ts/root2/usr/include"
LDFLAGS="-L/back/ts/root2/usr/lib/" make
arm-unknown-linux-gnueabi-gcc -L/back/ts/root2/usr/lib/ -pie portmap.o
pmap_check.o from_local.o -lwrap -o portmap
/back/ts/ct-ng/x-tools/arm-unknown-linux-gnueabi/lib/gcc/arm-unknown-linux-gnueabi/4.3.2/../../../../arm-unknown-linux-gnueabi/bin/ld:
skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/back/ts/ct-ng/x-tools/arm-unknown-linux-gnueabi/lib/gcc/arm-unknown-linux-gnueabi/4.3.2/../../../../arm-unknown-linux-gnueabi/bin/ld:
cannot find /lib/libc.so.6
collect2: ld returned 1 exit status
make: *** [portmap] Error 1
Since that /lib/libc.so.6 would appear to be the sys-root one and you
say that file looks good, why is it crapping out and declaring this file
"incompatible"?
Thanks again.
> Regards,
> Yann E. MORIN.
>
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list