* 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>.
This commit is contained in:
parent
868b78c83c
commit
7a9ce79a3b
18
ChangeLog
18
ChangeLog
@ -1,5 +1,23 @@
|
||||
2002-08-29 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* 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>.
|
||||
|
||||
* elf/dl-runtime.c (IN_DL_RUNTIME): Define this macro first thing.
|
||||
* sysdeps/i386/dl-machine.h: Only declare fixup, profile_fixup and
|
||||
define ELF_MACHINE_RUNTIME_TRAMPOLINE under #ifdef IN_DL_RUNTIME.
|
||||
|
@ -83,3 +83,4 @@ __assert_perror_fail (int errnum,
|
||||
|
||||
abort ();
|
||||
}
|
||||
libc_hidden_def (__assert_perror_fail)
|
||||
|
@ -209,6 +209,19 @@ Inconsistency detected by ld.so: %s: %u: %s%sAssertion `%s' failed!\n",
|
||||
}
|
||||
rtld_hidden_weak(__assert_fail)
|
||||
|
||||
void weak_function
|
||||
__assert_perror_fail (int errnum,
|
||||
const char *file, unsigned int line,
|
||||
const char *function)
|
||||
{
|
||||
char errbuf[400];
|
||||
_dl_fatal_printf ("\
|
||||
Inconsistency detected by ld.so: %s: %u: %s%sUnexpected error: %s.\n",
|
||||
file, line, function ?: "", function ? ": " : "",
|
||||
__strerror_r (errnum, errbuf, sizeof errbuf));
|
||||
|
||||
}
|
||||
rtld_hidden_weak (__assert_perror_fail)
|
||||
#endif
|
||||
|
||||
unsigned long int weak_function
|
||||
|
@ -7,6 +7,13 @@ extern void __assert_fail (__const char *__assertion, __const char *__file,
|
||||
unsigned int __line, __const char *__function)
|
||||
__THROW __attribute__ ((__noreturn__));
|
||||
|
||||
/* Likewise, but prints the error text for ERRNUM. */
|
||||
extern void __assert_perror_fail (int __errnum, __const char *__file,
|
||||
unsigned int __line,
|
||||
__const char *__function)
|
||||
__THROW __attribute__ ((__noreturn__));
|
||||
|
||||
#if !defined NOT_IN_libc || defined IS_IN_rtld
|
||||
hidden_proto (__assert_fail)
|
||||
hidden_proto (__assert_perror_fail)
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Standard header for all Mach programs.
|
||||
Copyright (C) 1993, 1994, 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1993,94,96,97,2002 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
|
||||
@ -21,6 +21,10 @@
|
||||
|
||||
#define _MACH_H 1
|
||||
|
||||
/* We must include this before using __need_FILE with <stdio.h> below. */
|
||||
#include <features.h>
|
||||
|
||||
|
||||
/* Get the basic types used by Mach. */
|
||||
#include <mach/mach_types.h>
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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) {
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user