Nachträgliches linken von binaries

Florian Lohoff flo at rfc822.org
Wed Dec 22 01:19:17 CET 1999


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

Auch mit debugging symbols und gdb kommt man nicht wirklich weiter - 
Anscheinend segfaulted der "ld-linux.so.2" der versucht noch symbols zu resolven
was natuerlich nicht funktioniert - Ein kleiner teil des ld-linux.so.2 wird
afaik statisch immer dazugelinkt - Den muesste man entfernen koennen.

Ach ja - Unter libc5 heist der dynamische linker anders - Ausserdem ist
der name Architecturabhaengig -> ABI Specs ...

Ich denke das ist aussichtslos ...

Flo
-- 
Florian Lohoff		flo at rfc822.org		      	+49-5241-470566
  ...  The failure can be random; however, when it does occur, it is
  catastrophic and is repeatable  ...             Cisco Field Notice




More information about the Linux mailing list