about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-03-26 03:44:33 +0000
committerRoland McGrath <roland@gnu.org>2003-03-26 03:44:33 +0000
commitdd410d4d4585883d02aa497f4227551c5c4cf811 (patch)
tree54a7ab4c2c2ca44f5bf7d1cc4fa0f1011312f4fc
parent6a1c6a1f18f6245f1821b8ed9d3f946b4fea541a (diff)
downloadglibc-dd410d4d4585883d02aa497f4227551c5c4cf811.tar.gz
glibc-dd410d4d4585883d02aa497f4227551c5c4cf811.tar.xz
glibc-dd410d4d4585883d02aa497f4227551c5c4cf811.zip
* sysdeps/s390/s390-32/backtrace.c (__backtrace): Remove high order
	bit from backtrace addresses.

2003-03-21  Andreas Schwab  <schwab@suse.de>

	* sysdeps/unix/sysv/linux/i386/chown.c: Don't define any versioned
	__chown symbols.
-rw-r--r--ChangeLog10
-rw-r--r--sysdeps/s390/s390-32/backtrace.c2
-rw-r--r--sysdeps/unix/sysv/linux/i386/chown.c17
3 files changed, 17 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 73792e2396..35c8bb230b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2003-03-21  Martin Schwidefsky  <schwidefskyde.ibm.com>
+
+	* sysdeps/s390/s390-32/backtrace.c (__backtrace): Remove high order
+	bit from backtrace addresses.
+
+2003-03-21  Andreas Schwab  <schwab@suse.de>
+
+	* sysdeps/unix/sysv/linux/i386/chown.c: Don't define any versioned
+	__chown symbols.
+
 2003-03-25  Roland McGrath  <roland@redhat.com>
 
 	* config.make.in (enable-check-abi): New variable from configure.
diff --git a/sysdeps/s390/s390-32/backtrace.c b/sysdeps/s390/s390-32/backtrace.c
index b89b5a39d9..11d2219c2c 100644
--- a/sysdeps/s390/s390-32/backtrace.c
+++ b/sysdeps/s390/s390-32/backtrace.c
@@ -71,7 +71,7 @@ __backtrace (array, size)
 	   out of range.  */
 	break;
 
-      array[cnt++] = stack->save_grps[8];
+      array[cnt++] = stack->save_grps[8] & 0x7fffffff;
 
       stack = (struct layout *) stack->back_chain;
     }
diff --git a/sysdeps/unix/sysv/linux/i386/chown.c b/sysdeps/unix/sysv/linux/i386/chown.c
index 7ff8740f90..493edc5599 100644
--- a/sysdeps/unix/sysv/linux/i386/chown.c
+++ b/sysdeps/unix/sysv/linux/i386/chown.c
@@ -148,20 +148,15 @@ __chown_is_lchown (const char *file, uid_t owner, gid_t group)
 #endif
 
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-strong_alias (__chown_is_lchown, _chown_is_lchown)
-compat_symbol (libc, __chown_is_lchown, __chown, GLIBC_2_0);
-compat_symbol (libc, _chown_is_lchown, chown, GLIBC_2_0);
+compat_symbol (libc, __chown_is_lchown, chown, GLIBC_2_0);
 #endif
 
 #ifdef __NR_lchown
-strong_alias (__real_chown, _real_chown)
-versioned_symbol (libc, __real_chown, __chown, GLIBC_2_1);
-versioned_symbol (libc, _real_chown, chown, GLIBC_2_1);
-libc_hidden_ver (__real_chown, __chown)
+versioned_symbol (libc, __real_chown, chown, GLIBC_2_1);
+strong_alias (__real_chown, __chown)
 #else
 strong_alias (__chown_is_lchown, __chown_is_lchown21)
-strong_alias (__chown_is_lchown, _chown_is_lchown21)
-versioned_symbol (libc, __chown_is_lchown21, __chown, GLIBC_2_1);
-versioned_symbol (libc, _chown_is_lchown21, chown, GLIBC_2_1);
-libc_hidden_ver (__chown_is_lchown, __chown)
+versioned_symbol (libc, __chown_is_lchown21, chown, GLIBC_2_1);
+strong_alias (__chown_is_lchown, __chown)
 #endif
+libc_hidden_def (__chown)