Nachträgliches linken von binaries
Nils Bokermann
nilsb at bermuda.de
Wed Dec 22 11:58:17 CET 1999
Florian Lohoff writes:
> On Wed, Dec 22, 1999 at 12:30:46AM +0100, Jan-Benedict Glaw wrote:
> > Hallo!
> >
> > Ich hab' hier ein libc5 binary und möchte keine libc5 installieren. Ist es
> > möglich, das (dynamisch gelinkte) binary im Nachhinein auf einem libc4-System
> > statisch zu linken, sodaß es dann auch auf einem libc6-System läuft? Ich hab
> > halt keine sourcen;(
>
> Hmmm - nicht so wirklich ...
>
> Hier mein versuch - Ich bekomme das so zusammengelinkt das das
> resultierende binary keine unresolved symbols mehr zur libc6 hat
> wie man unten sieht - Leider ist aber immer noch der dynamic linker dabei
> und der scheint dann zu segfaulten ...
>
> (flo at paradigm)/tmp/i# gcc -o test test.c
> (flo at paradigm)/tmp/i# gcc -v -nostartfiles --static -o test-static test
> Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2.3/specs
> gcc version 2.7.2.3
> ld -m elf_i386 -static -o test-static -L/usr/lib/gcc-lib/i486-linux/2.7.2.3 test -lgcc -lc -lgcc
^^^
> (flo at paradigm)/tmp/i# ls -la test*
> -rwxr-xr-x 1 flo flo 3902 Dec 22 01:09 test
> -rwxr-xr-x 1 flo flo 108187 Dec 22 01:10 test-static
> -rw-r--r-- 1 flo flo 23 Dec 22 00:58 test.c
> (flo at paradigm)/tmp/i# ldd test-static
> libc.so.6 => /lib/libc.so.6 (0x4000f000)
^^^^^^^^^^^^
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> (flo at paradigm)/tmp/i# ./test-static
> Segmentation fault
>
Is klar, du hast 2 mal die libc dadrin (und die libgcc auch [aber net
weiter schlimm, weil die eh static is])
Bye, Nils
--
Nils Bokermann /"\
Johanneswerkstr. 90 \ / ASCII Ribbon Campaign
33613 Bielefeld x Say NO to HTML in email and news
Germany / \
More information about the Linux
mailing list