about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-07-05 17:09:54 +0000
committerUlrich Drepper <drepper@redhat.com>2004-07-05 17:09:54 +0000
commit9b9ef823581ecee546653d6ac3fd335f7b79faca (patch)
tree626d2ddbc81f6e030624ec583155851a8674305e
parentc7acde598834e5dc952d516663112741444c97e9 (diff)
downloadglibc-9b9ef823581ecee546653d6ac3fd335f7b79faca.tar.gz
glibc-9b9ef823581ecee546653d6ac3fd335f7b79faca.tar.xz
glibc-9b9ef823581ecee546653d6ac3fd335f7b79faca.zip
Update.
2004-07-05  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp,
	__libc_siglongjmp): Remove symbol_version.
	* sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp):
	Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4.
	* sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias
	unconditionally.
	* sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove.
	* sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
	strong_alias instead of default_symbol_version, remove
	symbol_version.
	* sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise.
	* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change
	into strong_alias to __novmxsetjmp.
	(__vmx__setjmp): Similarly with __vmxsetjmp.
	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
	default_symbol_version and symbol_version.
	* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change
	into strong_alias to __novmxsetjmp.
	(__vmx__setjmp): Similarly with __vmxsetjmp.
	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
	default_symbol_version and symbol_version.

	* nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h.
-rw-r--r--ChangeLog26
-rw-r--r--nptl/ChangeLog4
-rw-r--r--nptl/shlib-versions1
-rw-r--r--nscd/nscd_getgr_r.c1
-rw-r--r--sysdeps/powerpc/longjmp.c4
-rw-r--r--sysdeps/powerpc/novmx-longjmp.c4
-rw-r--r--sysdeps/powerpc/novmx-sigjmp.c5
-rw-r--r--sysdeps/powerpc/powerpc32/__longjmp.S4
-rw-r--r--sysdeps/powerpc/powerpc32/bsd-setjmp.S37
-rw-r--r--sysdeps/powerpc/powerpc64/__longjmp.S4
-rw-r--r--sysdeps/powerpc/powerpc64/bsd-setjmp.S36
-rw-r--r--sysdeps/powerpc/sigjmp.c6
12 files changed, 59 insertions, 73 deletions
diff --git a/ChangeLog b/ChangeLog
index e9cdaede54..ffa376d0e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2004-07-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/powerpc/novmx-longjmp.c (__libc_longjmp,
+	__libc_siglongjmp): Remove symbol_version.
+	* sysdeps/powerpc/longjmp.c (__libc_longjmp, __libc_siglongjmp):
+	Export @@GLIBC_PRIVATE, not @@GLIBC_2.3.4.
+	* sysdeps/powerpc/sigjmp.c (__sigjmp_save): Use strong_alias
+	unconditionally.
+	* sysdeps/powerpc/novmx-sigjmp.c (__sigjmp_save): Remove.
+	* sysdeps/powerpc/powerpc32/__longjmp.S (__longjmp): Use
+	strong_alias instead of default_symbol_version, remove
+	symbol_version.
+	* sysdeps/powerpc/powerpc64/__longjmp.S (__longjmp): Likewise.
+	* sysdeps/powerpc/powerpc32/bsd-setjmp.S (__novmx__setjmp): Change
+	into strong_alias to __novmxsetjmp.
+	(__vmx__setjmp): Similarly with __vmxsetjmp.
+	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
+	default_symbol_version and symbol_version.
+	* sysdeps/powerpc/powerpc64/bsd-setjmp.S (__novmx__setjmp): Change
+	into strong_alias to __novmxsetjmp.
+	(__vmx__setjmp): Similarly with __vmxsetjmp.
+	(__setjmp): Make it strong_alias to __vmx__setjmp, remove
+	default_symbol_version and symbol_version.
+
+	* nscd/nscd_getgr_r.c: Include stdio-common/_itoa.h.
+
 2004-07-05  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/rtld.c (dl_main): Mark dyn_temp with attribute_relro.
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 8a81100cf4..5c4c43dbf3 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,7 @@
+2004-07-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* shlib-versions: Add powerpc64-.*-linux.*.
+
 2004-07-04  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S
diff --git a/nptl/shlib-versions b/nptl/shlib-versions
index 9493a31978..5e18753be2 100644
--- a/nptl/shlib-versions
+++ b/nptl/shlib-versions
@@ -6,4 +6,5 @@ hppa.*-.*-linux.*	libpthread=0		GLIBC_2.2
 s390x-.*-linux.*	libpthread=0		GLIBC_2.2
 cris-.*-linux.*		libpthread=0		GLIBC_2.2
 x86_64-.*-linux.*	libpthread=0		GLIBC_2.2.5
+powerpc64-.*-linux.*	libpthread=0		GLIBC_2.3
 .*-.*-linux.*		libpthread=0
diff --git a/nscd/nscd_getgr_r.c b/nscd/nscd_getgr_r.c
index c57c6e7e61..b9cde73044 100644
--- a/nscd/nscd_getgr_r.c
+++ b/nscd/nscd_getgr_r.c
@@ -29,6 +29,7 @@
 #include <sys/uio.h>
 #include <sys/un.h>
 #include <not-cancel.h>
+#include <stdio-common/_itoa.h>
 
 #include "nscd-client.h"
 #include "nscd_proto.h"
diff --git a/sysdeps/powerpc/longjmp.c b/sysdeps/powerpc/longjmp.c
index 6d79f04b70..0345492c23 100644
--- a/sysdeps/powerpc/longjmp.c
+++ b/sysdeps/powerpc/longjmp.c
@@ -55,8 +55,8 @@ weak_alias (__vmx__libc_siglongjmp, __vmxlongjmp)
 weak_alias (__vmx__libc_siglongjmp, __vmxsiglongjmp)
 
 
-default_symbol_version (__vmx__libc_longjmp, __libc_longjmp, GLIBC_2.3.4);
-default_symbol_version (__vmx__libc_siglongjmp, __libc_siglongjmp, GLIBC_2.3.4);
+default_symbol_version (__vmx__libc_longjmp, __libc_longjmp, GLIBC_PRIVATE);
+default_symbol_version (__vmx__libc_siglongjmp, __libc_siglongjmp, GLIBC_PRIVATE);
 default_symbol_version (__vmx_longjmp, _longjmp, GLIBC_2.3.4);
 default_symbol_version (__vmxlongjmp, longjmp, GLIBC_2.3.4);
 default_symbol_version (__vmxsiglongjmp, siglongjmp, GLIBC_2.3.4);
diff --git a/sysdeps/powerpc/novmx-longjmp.c b/sysdeps/powerpc/novmx-longjmp.c
index d823239ea6..b4a6b56aa9 100644
--- a/sysdeps/powerpc/novmx-longjmp.c
+++ b/sysdeps/powerpc/novmx-longjmp.c
@@ -53,14 +53,10 @@ weak_alias (__novmx__libc_siglongjmp, __novmxlongjmp)
 weak_alias (__novmx__libc_siglongjmp, __novmxsiglongjmp)
 
 # if __WORDSIZE == 64
-symbol_version (__novmx__libc_longjmp,__libc_longjmp,GLIBC_2.3);
-symbol_version (__novmx__libc_siglongjmp,__libc_siglongjmp,GLIBC_2.3);
 symbol_version (__novmx_longjmp,_longjmp,GLIBC_2.3);
 symbol_version (__novmxlongjmp,longjmp,GLIBC_2.3);
 symbol_version (__novmxsiglongjmp,siglongjmp,GLIBC_2.3);
 # else
-symbol_version (__novmx__libc_longjmp,__libc_longjmp,GLIBC_2.0);
-symbol_version (__novmx__libc_siglongjmp,__libc_siglongjmp,GLIBC_2.0);
 symbol_version (__novmx_longjmp,_longjmp,GLIBC_2.0);
 symbol_version (__novmxlongjmp,longjmp,GLIBC_2.0);
 symbol_version (__novmxsiglongjmp,siglongjmp,GLIBC_2.0);
diff --git a/sysdeps/powerpc/novmx-sigjmp.c b/sysdeps/powerpc/novmx-sigjmp.c
index 7489ded4a9..f5d487f52c 100644
--- a/sysdeps/powerpc/novmx-sigjmp.c
+++ b/sysdeps/powerpc/novmx-sigjmp.c
@@ -41,10 +41,5 @@ __novmx__sigjmp_save (__novmx__sigjmp_buf env, int savemask)
   return 0;
 }
 
-#  if __WORDSIZE == 64
-symbol_version (__novmx__sigjmp_save,__sigjmp_save,GLIBC_2.3);
-#  else
-symbol_version (__novmx__sigjmp_save,__sigjmp_save,GLIBC_2.0);
-#  endif /* __WORDSIZE == 64  */
 # endif /* SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) */
 #endif /* !NOT_IN_libc && SHARED  */
diff --git a/sysdeps/powerpc/powerpc32/__longjmp.S b/sysdeps/powerpc/powerpc32/__longjmp.S
index 79c50deacd..5a050f1e71 100644
--- a/sysdeps/powerpc/powerpc32/__longjmp.S
+++ b/sysdeps/powerpc/powerpc32/__longjmp.S
@@ -25,15 +25,13 @@
 # include "__longjmp-common.S"
 
 #else /* !NOT_IN_libc */
-/* Build a versioned object for libc.  */
-default_symbol_version (__vmx__longjmp,__longjmp,GLIBC_2.3.4);
+strong_alias (__vmx__longjmp, __longjmp);
 # define __longjmp  __vmx__longjmp
 # include "__longjmp-common.S"
 
 # if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
 #  define __NO_VMX__
 #  undef JB_SIZE
-symbol_version (__novmx__longjmp,__longjmp,GLIBC_2.0);
 #  undef __longjmp
 #  define __longjmp  __novmx__longjmp
 #  include "__longjmp-common.S"
diff --git a/sysdeps/powerpc/powerpc32/bsd-setjmp.S b/sysdeps/powerpc/powerpc32/bsd-setjmp.S
index f40785624a..159b122ca5 100644
--- a/sysdeps/powerpc/powerpc32/bsd-setjmp.S
+++ b/sysdeps/powerpc/powerpc32/bsd-setjmp.S
@@ -23,34 +23,19 @@
 
 #if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)
 
-
-/* We need 2 copies of identical code for the  setjmp's as gas complains
-   erroneously about having multiple versions of setjmp.  This eliminates the
-   need for the strong alias of __setjmp to setjmp which
-   does not support versioning, i.e. another gas unimplemented feature. */
-symbol_version (__novmx__setjmp,__setjmp,GLIBC_2.0)
-symbol_version (__novmxsetjmp,setjmp,GLIBC_2.0)
-
-ENTRY (BP_SYM (__novmxsetjmp))
+ENTRY (__novmxsetjmp)
 	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__novmx__sigsetjmp))
-END (BP_SYM (__novmxsetjmp))
+	b JUMPTARGET (__novmx__sigsetjmp)
+END (__novmxsetjmp)
+strong_alias (__novmxsetjmp, __novmx__setjmp)
+symbol_version (__novmxsetjmp, setjmp, GLIBC_2.0)
 
-ENTRY (BP_SYM (__novmx__setjmp))
-	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__novmx__sigsetjmp))
-END (BP_SYM (__novmx__setjmp))
 #endif  /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4) ) */
 
-default_symbol_version (__vmx__setjmp,__setjmp,GLIBC_2.3.4)
-default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4)
-
-ENTRY (BP_SYM (__vmxsetjmp))
-	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__vmx__sigsetjmp))
-END (BP_SYM (__vmxsetjmp))
-
-ENTRY (BP_SYM (__vmx__setjmp))
+ENTRY (__vmxsetjmp)
 	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__vmx__sigsetjmp))
-END (BP_SYM (__vmx__setjmp))
+	b JUMPTARGET (__vmx__sigsetjmp)
+END (__vmxsetjmp)
+strong_alias (__vmxsetjmp, __vmx__setjmp)
+strong_alias (__vmx__setjmp, __setjmp)
+default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4)
diff --git a/sysdeps/powerpc/powerpc64/__longjmp.S b/sysdeps/powerpc/powerpc64/__longjmp.S
index 834ccb1691..968e9dce57 100644
--- a/sysdeps/powerpc/powerpc64/__longjmp.S
+++ b/sysdeps/powerpc/powerpc64/__longjmp.S
@@ -26,8 +26,7 @@
 # include "__longjmp-common.S"
 
 #else /* !NOT_IN_libc */
-/* Build a versioned object for libc.  */
-default_symbol_version (__vmx__longjmp,__longjmp,GLIBC_2.3.4)
+strong_alias (__vmx__longjmp, __longjmp)
 # define __longjmp  __vmx__longjmp
 # include "__longjmp-common.S"
 
@@ -35,7 +34,6 @@ default_symbol_version (__vmx__longjmp,__longjmp,GLIBC_2.3.4)
 #  define __NO_VMX__
 #  undef __longjmp
 #  undef JB_SIZE
-symbol_version(__novmx__longjmp,__longjmp,GLIBC_2.3)
 #  define __longjmp  __novmx__longjmp
 #  include "__longjmp-common.S"
 # endif
diff --git a/sysdeps/powerpc/powerpc64/bsd-setjmp.S b/sysdeps/powerpc/powerpc64/bsd-setjmp.S
index 2eb191a46b..73b9a4d34e 100644
--- a/sysdeps/powerpc/powerpc64/bsd-setjmp.S
+++ b/sysdeps/powerpc/powerpc64/bsd-setjmp.S
@@ -23,33 +23,21 @@
 
 #if defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4)
 
-/* We need 2 copies of identical code for the setjmp's as gas complains
-   erroneously about having multiple versions of setjmp.  This eliminates the
-   need for the strong alias of __setjmp to setjmp which
-   does not support versioning, i.e. another gas unimplemented feature. */
-symbol_version (__novmx__setjmp,__setjmp,GLIBC_2.3)
-symbol_version (__novmxsetjmp,setjmp,GLIBC_2.3)
-
-ENTRY (BP_SYM (__novmxsetjmp))
-	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__novmx__sigsetjmp))
-END (BP_SYM (__novmxsetjmp))
 
-ENTRY (BP_SYM (__novmx__setjmp))
+ENTRY (__novmxsetjmp)
 	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__novmx__sigsetjmp))
-END (BP_SYM (__novmx__setjmp))
-#endif  /*  defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4) */
+	b JUMPTARGET (__novmx__sigsetjmp)
+END (__novmxsetjmp)
+strong_alias (__novmxsetjmp, __novmx__setjmp)
+symbol_version (__novmxsetjmp, setjmp, GLIBC_2.3)
 
-default_symbol_version (__vmx__setjmp,__setjmp,GLIBC_2.3.4)
-default_symbol_version (__vmxsetjmp,setjmp,GLIBC_2.3.4)
+#endif  /*  defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_3, GLIBC_2_3_4) */
 
-ENTRY (BP_SYM (__vmxsetjmp))
-	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__vmx__sigsetjmp))
-END (BP_SYM (__vmxsetjmp))
 
-ENTRY (BP_SYM (__vmx__setjmp))
+ENTRY (__vmxsetjmp)
 	li r4,1			/* Set second argument to 1.  */
-	b JUMPTARGET (BP_SYM (__vmx__sigsetjmp))
-END (BP_SYM (__vmx__setjmp))
+	b JUMPTARGET (__vmx__sigsetjmp)
+END (__vmxsetjmp)
+strong_alias (__vmxsetjmp, __vmx__setjmp)
+strong_alias (__vmx__sigsetjmp, __setjmp)
+default_symbol_version (__vmxsetjmp, setjmp, GLIBC_2.3.4)
diff --git a/sysdeps/powerpc/sigjmp.c b/sysdeps/powerpc/sigjmp.c
index 28cbf6b065..5c8fd9eb79 100644
--- a/sysdeps/powerpc/sigjmp.c
+++ b/sysdeps/powerpc/sigjmp.c
@@ -37,10 +37,4 @@ __vmx__sigjmp_save (sigjmp_buf env, int savemask)
   return 0;
 }
 
-#if defined NOT_IN_libc
-/* Build a non-versioned object for rtld-*.  */
 strong_alias (__vmx__sigjmp_save,__sigjmp_save)
-#else
-/* Build a versioned object for libc.  */
-default_symbol_version (__vmx__sigjmp_save,__sigjmp_save,GLIBC_2.3.4);
-#endif