Re: new libc working on gnu-0.2!
Date: Mon, 7 Dec 1998 14:13:17 -0500
From: Roland McGrath <email@example.com>
I have had this problem too and still not figured it out.
Well, elf/soinit.c, which is included in libc, references these
symbols. The idea is that when libc.so is created, it is explicitly
linked agains libgcc.a, and the functions are included in the shared
library. However, if one of the other shared libraries used when
building the shared libc (ld.so, libmachuser.so or libhurduser.so)
contains these functions, this doesn't happen. So the problem may be
related to the problem that creates a bogus shared libhurduser. I've
got a fix for that, see the patch at the end of this message. I'm
probably only fixing the symptoms of the real problem, but at least it
prevents the creation of a bogus libhurduser.so.
But I don't think this is the source of okuji's problem. If any
dynamically linked binary works at all (and clearly his hurd and sh
are working as well as emacs and gdb), then I don't think this is
it. When I had that problem, I got undefined symbol panics from
the dynamic linker right away in any old binary (in /bin/sh, so I
could not get usably booted).
Well, if he used the 0.2 binary release, it clearly isn't, but if he
every recompiled binaries with gcc 2.8.1 or egcs they would work.
1998-12-07 Mark Kettenis <firstname.lastname@example.org>
* sysdeps/mach/hurd/Makefile: Set LDFLAGS-machuser.so and
LDFLAGS-hurduser.so to prevent creating bogus libraries because of
linking against an already installed libc.
--- /home/kettenis/CVS/libc/sysdeps/mach/hurd/Makefile Mon Oct 19 21:47:57 1998
+++ sysdeps/mach/hurd/Makefile Mon Dec 7 22:48:49 1998
@@ -119,6 +119,8 @@
rpath-dirs += mach hurd
+LDFLAGS-machuser.so = -nostdlib -nostartfiles
+LDFLAGS-hurduser.so = -nostdlib -nostartfiles
# And get them into the libc.so ldscript.