summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-30 01:31:18 +0000
committerRoland McGrath <roland@gnu.org>2002-08-30 01:31:18 +0000
commit7a9ce79a3b0746e0db7d3cc4264a78a9d79620a3 (patch)
tree4a2abc188ca0309eabf51e382a8aed90119c5198 /sysdeps
parent868b78c83cef264d69a854d9128a68845f346fe3 (diff)
downloadglibc-7a9ce79a3b0746e0db7d3cc4264a78a9d79620a3.tar.gz
* sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def.
* sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64). * sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort. * include/assert.h (__assert_perror_fail): Declare it, do hidden_proto. * assert/assert-perr.c: Add libc_hidden_def. * elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function. * sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions found at all. * sysdeps/gnu/Versions: File removed. Moved all #errlist-compat sys_errlist stuff to ... * sysdeps/unix/sysv/linux/Versions: ... here. * mach/mach.h: Include <features.h>.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/gnu/Versions19
-rw-r--r--sysdeps/gnu/errlist-compat.awk5
-rw-r--r--sysdeps/mach/_strerror.c4
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c4
-rw-r--r--sysdeps/mach/hurd/pwrite64.c1
-rw-r--r--sysdeps/unix/sysv/linux/Versions14
6 files changed, 25 insertions, 22 deletions
diff --git a/sysdeps/gnu/Versions b/sysdeps/gnu/Versions
deleted file mode 100644
index 145dd0acae..0000000000
--- a/sysdeps/gnu/Versions
+++ /dev/null
@@ -1,19 +0,0 @@
-libc {
- # The comment lines with "#errlist-compat" are magic; see errlist-compat.awk.
- # When you get an error from errlist-compat.awk, you need to add a new
- # version here. Don't do this blindly, since this means changing the ABI
- # for all GNU/Linux configurations.
-
- GLIBC_2.0 {
- #errlist-compat 123
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
- }
- GLIBC_2.1 {
- #errlist-compat 125
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
- }
- GLIBC_2.3 {
- #errlist-compat 126
- _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
- }
-}
diff --git a/sysdeps/gnu/errlist-compat.awk b/sysdeps/gnu/errlist-compat.awk
index c9a7a9cc44..4ab9786e63 100644
--- a/sysdeps/gnu/errlist-compat.awk
+++ b/sysdeps/gnu/errlist-compat.awk
@@ -52,6 +52,11 @@ $1 == "#errlist-compat" {
}
END {
+ if (! highest_version) {
+ print "/* No sys_errlist/sys_nerr symbols defined on this platform. */";
+ exit 0;
+ }
+
count = maxerr + 1;
if (highest != count) {
diff --git a/sysdeps/mach/_strerror.c b/sysdeps/mach/_strerror.c
index f96ac15116..a67bbb9625 100644
--- a/sysdeps/mach/_strerror.c
+++ b/sysdeps/mach/_strerror.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996, 1997, 1998, 2000
- Free Software Foundation, Inc.
+/* Copyright (C) 1993,95,96,97,98,2000,02 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
@@ -118,4 +117,5 @@ __strerror_r (int errnum, char *buf, size_t buflen)
return (char *) _(es->subsystem[sub].codes[code]);
}
+libc_hidden_def (__strerror_r)
weak_alias (__strerror_r, strerror_r)
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index 12591167a3..e0e182c208 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -602,6 +602,10 @@ abort (void)
/* Try for ever and ever. */
ABORT_INSTRUCTION;
}
+
+/* We need this alias to satisfy references from libc_pic.a objects
+ that were affected by the libc_hidden_proto declaration for abort. */
+strong_alias (abort, __GI_abort)
/* This function is called by interruptible RPC stubs. For initial
dynamic linking, just use the normal mach_msg. Since this defn is
diff --git a/sysdeps/mach/hurd/pwrite64.c b/sysdeps/mach/hurd/pwrite64.c
index ec29032977..2637003ca8 100644
--- a/sysdeps/mach/hurd/pwrite64.c
+++ b/sysdeps/mach/hurd/pwrite64.c
@@ -34,7 +34,6 @@ __libc_pwrite64 (int fd, const void *buf, size_t nbytes, off64_t offset)
}
#ifndef __libc_pwrite64
-libc_hidden_def (__libc_pwrite64)
weak_alias (__libc_pwrite64, __pwrite64)
libc_hidden_weak (__pwrite64)
weak_alias (__libc_pwrite64, pwrite64)
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 53cd880425..9dd6b2a275 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -1,4 +1,9 @@
libc {
+ # The comment lines with "#errlist-compat" are magic; see errlist-compat.awk.
+ # When you get an error from errlist-compat.awk, you need to add a new
+ # version here. Don't do this blindly, since this means changing the ABI
+ # for all GNU/Linux configurations.
+
GLIBC_2.0 {
# functions used in inline functions or macros
__cmsg_nxthdr;
@@ -50,6 +55,9 @@ libc {
# u*
umount; uselib;
+
+ #errlist-compat 123
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
}
GLIBC_2.1 {
# functions used in inline functions or macros
@@ -75,6 +83,9 @@ libc {
# u*
umount2;
+
+ #errlist-compat 125
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
}
GLIBC_2.2 {
# needed in other libraries.
@@ -90,6 +101,9 @@ libc {
GLIBC_2.3 {
# r*
readahead;
+
+ #errlist-compat 126
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
}
GLIBC_PRIVATE {
# needed by libpthread.