This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

The DT_AUXILIARY patch


Here is the DT_AUXILIARY patch for the shared libgcc. After some
experiments, I believe we shouldn't even need libgcc.so under Linux.
We just set the DT_AUXILIARY to libgcc.so$(libgcc.so-version). We will
only have /lib/libgcc.so$(libgcc.so-version) which is symlinked to
/lib/libgcc-3.0.so. /lib/libgcc.so$(libgcc.so-version) is hidden from
user. Everything is still linked with libgcc.a.

I will provide the libgcc framework soon. It should be trivial to
update /lib/libgcc-3.0.so from a new gcc installation.


-- 
H.J. Lu (hjl@gnu.org)
--
2000-07-14  H.J. Lu  <hjl@gnu.org>

	* Makeconfig (libc-so-aux): Set if libgcc is in $(add-ons).
	(rpath-dirs): Add libgcc if libgcc is in $(add-ons).

	* Makerules (+LDLIBS-c.so): Add $(libc-so-aux)

Index: Makeconfig
===================================================================
RCS file: /work/cvs/gnu/glibc/Makeconfig,v
retrieving revision 1.1.1.5
diff -u -p -r1.1.1.5 Makeconfig
--- Makeconfig	2000/07/12 20:45:21	1.1.1.5
+++ Makeconfig	2000/07/15 01:13:33
@@ -778,6 +782,11 @@ shared-thread-library = $(common-objpfx)
 static-thread-library = $(common-objpfx)linuxthreads/libpthread.a
 have-thread-library = yes
 rpath-dirs += linuxthreads
+endif
+
+ifneq (,$(findstring libgcc,$(add-ons)))
+rpath-dirs += libgcc
+libc-so-aux = -Wl,--auxiliary,libgcc.so$(libgcc.so-version)
 endif
 
 ifeq ($(elf),yes)
Index: Makerules
===================================================================
RCS file: /work/cvs/gnu/glibc/Makerules,v
retrieving revision 1.1.1.5
diff -u -p -r1.1.1.5 Makerules
--- Makerules	2000/07/14 23:41:11	1.1.1.5
+++ Makerules	2000/07/15 00:55:17
@@ -442,7 +442,7 @@ endef
 # since we define our own `.init' section specially.
 LDFLAGS-c.so = -nostdlib -nostartfiles
 # But we still want to link libc.so against $(gnulib).
-LDLIBS-c.so += $(gnulib)
+LDLIBS-c.so += $(libc-so-aux) $(gnulib)
 # Give libc.so an entry point and make it directly runnable itself.
 LDFLAGS-c.so += -e __libc_main
 # Force the backward compatibility EH functions to be linked.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]