summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makerules5
-rw-r--r--dlfcn/Makefile5
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/internals.h14
-rw-r--r--linuxthreads_db/Makefile5
-rw-r--r--nptl_db/Makefile5
-rw-r--r--rt/Makefile5
7 files changed, 28 insertions, 16 deletions
diff --git a/Makerules b/Makerules
index ce208d3f64..dca6d0e6c1 100644
--- a/Makerules
+++ b/Makerules
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-1999,2000,01,02 Free Software Foundation, Inc.
+# Copyright (C) 1991-2002, 2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -459,7 +459,8 @@ endif
 
 ifeq ($(elf),yes)
 define build-shlib-helper
-$(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) $(config-LDFLAGS) \
+$(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) \
+	  $(if $($(@F)-no-z-defs),,-Wl,-z,defs) $(config-LDFLAGS) \
 	  $(extra-B-$(@F:lib%.so=%).so) -B$(csu-objpfx) \
 	  $(extra-B-$(@F:lib%.so=%).so) $(load-map-file) \
 	  -Wl,-soname=lib$(libprefix)$(@F:lib%.so=%).so$($(@F)-version) \
diff --git a/dlfcn/Makefile b/dlfcn/Makefile
index 33f6e92c3b..40eb7888cc 100644
--- a/dlfcn/Makefile
+++ b/dlfcn/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -113,4 +113,5 @@ $(objpfx)bug-dlsym1-lib2.so: $(common-objpfx)libc.so \
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
-$(objpfx)libdl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
+$(objpfx)libdl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
+		   $(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index f7440a59e2..f7a01f462d 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* internals.h (LIBC_THREAD_GETMEM, LIBC_THREAD_SETMEM): Define
+	even if NOT_IN_libc is defined.
+
 2003-01-05  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h: New file.
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index 6241e9397e..f4c7653659 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -43,15 +43,13 @@
 # define THREAD_SETMEM_NC(descr, member, value) descr->member = (value)
 #endif
 
-#ifndef NOT_IN_libc
-# ifdef FLOATING_STACKS
-#  define LIBC_THREAD_GETMEM(descr, member) THREAD_GETMEM (descr, member)
-#  define LIBC_THREAD_SETMEM(descr, member, value) \
+#if !defined NOT_IN_libc && defined FLOATING_STACKS
+# define LIBC_THREAD_GETMEM(descr, member) THREAD_GETMEM (descr, member)
+# define LIBC_THREAD_SETMEM(descr, member, value) \
   THREAD_SETMEM (descr, member, value)
-# else
-#  define LIBC_THREAD_GETMEM(descr, member) descr->member
-#  define LIBC_THREAD_SETMEM(descr, member, value) descr->member = (value)
-# endif
+#else
+# define LIBC_THREAD_GETMEM(descr, member) descr->member
+# define LIBC_THREAD_SETMEM(descr, member, value) descr->member = (value)
 #endif
 
 typedef void (*destr_function)(void *);
diff --git a/linuxthreads_db/Makefile b/linuxthreads_db/Makefile
index 30eba9f042..1265a7864e 100644
--- a/linuxthreads_db/Makefile
+++ b/linuxthreads_db/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -43,6 +43,9 @@ libthread_db-routines = td_init td_log td_ta_delete td_ta_get_nthreads      \
 
 libthread_db-inhibit-o = $(filter-out .os,$(object-suffixes))
 
+# The ps_* callback functions are not defined.
+libthread_db.so-no-z-defs = yes
+
 distribute = thread_dbP.h shlib-versions proc_service.h
 include ../Rules
 
diff --git a/nptl_db/Makefile b/nptl_db/Makefile
index 4812cd2af9..4e6d1ea236 100644
--- a/nptl_db/Makefile
+++ b/nptl_db/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 2002 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -47,6 +47,9 @@ libthread_db-routines = td_init td_log td_ta_new td_ta_delete \
 
 libthread_db-inhibit-o = $(filter-out .os,$(object-suffixes))
 
+# The ps_* callback functions are not defined.
+libthread_db.so-no-z-defs = yes
+
 distribute = thread_dbP.h shlib-versions proc_service.h
 include ../Rules
 
diff --git a/rt/Makefile b/rt/Makefile
index 5ac4dd4f63..712b1a9c54 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1997-2001, 2002 Free Software Foundation, Inc.
+# Copyright (C) 1997-2001, 2002, 2003 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
@@ -53,7 +53,8 @@ include ../Rules
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
 $(objpfx)librt.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
-		   $(shared-thread-library)
+		   $(shared-thread-library) \
+		   $(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
 
 ifeq (yes,$(build-shared))
 $(addprefix $(objpfx),$(tests)): $(objpfx)librt.so $(shared-thread-library)