From faec125f35d86af53f8d38a0ef914cb584ed7b6b Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 28 Feb 2001 04:01:29 +0000 Subject: This evening I've been investigating why linking with the shared uClibc library was not working when booting busybox as init, even though it workes when run on my desktop system. I made boot floppy with just /dev, a few /etc entries, busybox dynamically linked vs uClibc, and /lib with shared uClibc in it. And just as several people have reported, it didn't work. So I ran 'ldd /bin/true' and it showed 'true' is linked with the shared library loader. But 'ldd ./busybox' showed it was only linked with uClibc. Doh! Of course it couldn't work! This patch fixes the gcc wrapper so when we link with the shared uClibc library, we also always link with the correct shared lib loader. With this patch in place, I have now sucessfully booted busybox linked vs the shared uClibc library. And it works great! -Erik --- extra/gcc-uClibc/gcc-uClibc.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'extra/gcc-uClibc') diff --git a/extra/gcc-uClibc/gcc-uClibc.c b/extra/gcc-uClibc/gcc-uClibc.c index c29f351c4..a628705ea 100644 --- a/extra/gcc-uClibc/gcc-uClibc.c +++ b/extra/gcc-uClibc/gcc-uClibc.c @@ -142,6 +142,9 @@ int main(int argc, char **argv) } } gcc_argv[i++] = GCC_LIB; + if (!use_static_linking && DYNAMIC_LINKER[0]) { + gcc_argv[i++] = DYNAMIC_LINKER; + } } } gcc_argv[i++] = NULL; -- cgit v1.2.3