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