From 7a9ce79a3b0746e0db7d3cc4264a78a9d79620a3 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 30 Aug 2002 01:31:18 +0000 Subject: * 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 . --- sysdeps/gnu/Versions | 19 ------------------- sysdeps/gnu/errlist-compat.awk | 5 +++++ sysdeps/mach/_strerror.c | 4 ++-- sysdeps/mach/hurd/dl-sysdep.c | 4 ++++ sysdeps/mach/hurd/pwrite64.c | 1 - sysdeps/unix/sysv/linux/Versions | 14 ++++++++++++++ 6 files changed, 25 insertions(+), 22 deletions(-) delete mode 100644 sysdeps/gnu/Versions (limited to 'sysdeps') 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. -- cgit 1.4.1