[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: new libc working on gnu-0.2!



   Date: Mon, 7 Dec 1998 14:13:17 -0500
   From: Roland McGrath <roland@frob.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.

Mark


1998-12-07  Mark Kettenis  <kettenis@phys.uva.nl>

	* 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 @@
 	       $(common-objpfx)hurd/libhurduser.so
 $(common-objpfx)libc.so: $(rpcuserlibs)
 rpath-dirs += mach hurd
+LDFLAGS-machuser.so = -nostdlib -nostartfiles
+LDFLAGS-hurduser.so = -nostdlib -nostartfiles
 
 # And get them into the libc.so ldscript.
 $(inst_libdir)/libc.so: $(rpcuserlibs)


Reply to: