This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: wanted: entirely self-contained cross tool chain (no ldd referencesto /lib/libdl.so.2 etc)


Ken Wolcott wrote:
I'm a build engineer, tasked to make certain that the tool chain, checked into to ClearCase, can be used on various Linux machines whose library versions might differ (Red Hat 8, Red Hat 9, Gentoo, Mandrake, Debian, etc). We want the tool chain to be entirely static.

On Monday 15 December 2003 18:13, Roman Duka wrote:

Ken Wolcott wrote:

Hi;

 I'm still unable to generate a cross tool chain that is entirely
self-contained, ie: no references to /lib/libdl.so.2 or
/lib/i686/libc.so.6 or anything like that.

I have changed crosstool.sh so that binutils make and the final gcc build
make calls have

LDFLAGS="-static"

but that apparently isn't sufficient. How to make ld static?


arm-arm9-linux-gnu-addr2line libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-ar libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-as libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-c++ not a dynamic executable arm-arm9-linux-gnu-c++filt not a dynamic executable arm-arm9-linux-gnu-cpp not a dynamic executable arm-arm9-linux-gnu-g++ not a dynamic executable arm-arm9-linux-gnu-gcc not a dynamic executable arm-arm9-linux-gnu-gccbug not a dynamic executable arm-arm9-linux-gnu-gcov not a dynamic executable arm-arm9-linux-gnu-ld libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-nm libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-objcopy libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-objdump libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-ranlib libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-readelf libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-size libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-strings libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) arm-arm9-linux-gnu-strip libdl.so.2 => /lib/libdl.so.2 (0x4002f000) libc.so.6 => /lib/i686/libc.so.6 (0x42000000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) ************************************************************************* *

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

why do you want to do that?



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




ok try this:

When making binutils, you have to set LDFLAGS to -all-static not just -static:
configure --prefix=<yourprefix> --disable-nls && make LDFLAGS=-all-static && make install


When making gcc:
configure --prefix=<yourprefix> --enable-languages=c --disable-nls --disable-shared && make LDFLAGS=-static && make install (or whatever)


tell us if you managed to build all static tool chain


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]