aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-29 00:34:10 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-29 00:34:10 +0000
commit5fe14d967045adf037e12a5945ac56de151c2ae2 (patch)
treea4dd7e7664ff9227560b4a0368b3d65fb68abb10 /sysdeps/unix
parent9e7f59b4b54f0a5c0d569596c961f62238ca4dfd (diff)
downloadglibc-5fe14d967045adf037e12a5945ac56de151c2ae2.zip
glibc-5fe14d967045adf037e12a5945ac56de151c2ae2.tar.gz
glibc-5fe14d967045adf037e12a5945ac56de151c2ae2.tar.bz2
Update.
* sysdeps/generic/ldsodefs.h (__rtld_global_attribute__): Define. (_rtld_global): Use it. * sysdeps/gnu/Dist: Remove errlist-compat.c. * sysdeps/gnu/Makefile (errlist-compat.c): Build this file in the object directory. Pass all Versions files to the awk script. * sysdeps/gnu/errlist-compat.c: Removed. * sysdeps/gnu/errlist.awk: Use #errlist-compat comments from the first Versions file in the search path which has them. Allow multiple errlist symbol versions to have the same count of errors. * sysdeps/gnu/errlist-compat.awk: Include <errlist-compat.c> instead of "errlist-compat.c". * sysdeps/gnu/errlist.c: Regenerated. * sysdeps/unix/sysv/linux/mips/Versions (libc): Add #errlist-compat comments at GLIBC_2.0, GLIBC_2.1 and GLIBC_2.3. * sysdeps/unix/sysv/linux/alpha/Versions: Likewise. (librt): Add aio_cancel and aio_cancel64 as GLIBC_2.3. * sysdeps/unix/sysv/linux/hppa/Versions: Likewise. * sysdeps/unix/sysv/linux/sparc/Versions: New file. * sysdeps/unix/sysv/linux/alpha/bits/errno.h: New file. * sysdeps/unix/sysv/linux/hppa/bits/errno.h (ECANCELED): Define to ECANCELLED if not defined by kernel headers. * sysdeps/unix/sysv/linux/bits/errno.h: Don't redefine ECANCELED if already defined by kernel headers. * sysdeps/unix/sysv/linux/sparc/bits/errno.h: New file. * sysdeps/pthread/aio_cancel.c: Don't include aio.h and its aio_cancel64 renaming hack nor provide weak_alias if aio_cancel is a macro. * Versions.def (GLIBC_2.3) [librt]: Add. * sysdeps/unix/sysv/linux/alpha/pipe.S: New file. 2002-08-28 Ulrich Drepper <drepper@redhat.com> * include/libc-symbols.h [!__ASSEMBLER__] (declare_symbol_1): Add missing comma to .type directive. 2002-08-28 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Versions22
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/errno.h52
-rw-r--r--sysdeps/unix/sysv/linux/alpha/pipe.S1
-rw-r--r--sysdeps/unix/sysv/linux/bits/errno.h6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/Versions21
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/errno.h8
-rw-r--r--sysdeps/unix/sysv/linux/mips/Versions16
-rw-r--r--sysdeps/unix/sysv/linux/sparc/Versions25
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/errno.h52
9 files changed, 197 insertions, 6 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions
index c18816c..89ec9db 100644
--- a/sysdeps/unix/sysv/linux/alpha/Versions
+++ b/sysdeps/unix/sysv/linux/alpha/Versions
@@ -1,5 +1,14 @@
libc {
+ # The comment lines with "#errlist-compat" are magic; see
+ # sysdeps/gnu/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 131
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
# Unfortunately in wider use.
_inb; _inw; _inl; _outb; _outw; _outl; _bus_base; _bus_base_sparse;
_hae_shift;
@@ -24,6 +33,9 @@ libc {
pciconfig_read; pciconfig_write; sethae;
}
GLIBC_2.1 {
+ #errlist-compat 131
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
# Linux/Alpha 64-bit timeval functions.
__select; select;
adjtime; adjtimex; __adjtimex;
@@ -57,4 +69,14 @@ libc {
# w*
wordexp;
}
+ GLIBC_2.3 {
+ #errlist-compat 132
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
+}
+librt {
+ GLIBC_2.3 {
+ # AIO functions.
+ aio_cancel; aio_cancel64;
+ }
}
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/errno.h b/sysdeps/unix/sysv/linux/alpha/bits/errno.h
new file mode 100644
index 0000000..9cdc167
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/bits/errno.h
@@ -0,0 +1,52 @@
+/* Error constants. Linux/Alpha specific version.
+ Copyright (C) 1996, 1997, 1998, 1999, 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux has no ENOTSUP error code. */
+# define ENOTSUP EOPNOTSUPP
+
+# ifndef ECANCELED
+# define ECANCELED 131
+# endif
+
+# ifndef __ASSEMBLER__
+/* Function to get address of global `errno' variable. */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+# if !defined _LIBC || defined _LIBC_REENTRANT
+/* When using threads, errno is a per-thread value. */
+# define errno (*__errno_location ())
+# endif
+# endif /* !__ASSEMBLER__ */
+#endif /* _ERRNO_H */
+
+#if !defined _ERRNO_H && defined __need_Emath
+/* This is ugly but the kernel header is not clean enough. We must
+ define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
+ defined. */
+# define EDOM 33 /* Math argument out of domain of function. */
+# define EILSEQ 116 /* Illegal byte sequence. */
+# define ERANGE 34 /* Math result not representable. */
+#endif /* !_ERRNO_H && __need_Emath */
diff --git a/sysdeps/unix/sysv/linux/alpha/pipe.S b/sysdeps/unix/sysv/linux/alpha/pipe.S
new file mode 100644
index 0000000..1e7ec1c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/pipe.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/alpha/pipe.S>
diff --git a/sysdeps/unix/sysv/linux/bits/errno.h b/sysdeps/unix/sysv/linux/bits/errno.h
index 7307c2d..724daba 100644
--- a/sysdeps/unix/sysv/linux/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/bits/errno.h
@@ -27,9 +27,11 @@
/* Linux has no ENOTSUP error code. */
# define ENOTSUP EOPNOTSUPP
-/* Linux also has no ECANCELED error code. Since it is not used here
+/* Linux also had no ECANCELED error code. Since it is not used here
we define it to an invalid value. */
-# define ECANCELED 125
+# ifndef ECANCELED
+# define ECANCELED 125
+# endif
# ifndef __ASSEMBLER__
/* Function to get address of global `errno' variable. */
diff --git a/sysdeps/unix/sysv/linux/hppa/Versions b/sysdeps/unix/sysv/linux/hppa/Versions
index 475fbe1..e15c822 100644
--- a/sysdeps/unix/sysv/linux/hppa/Versions
+++ b/sysdeps/unix/sysv/linux/hppa/Versions
@@ -1,6 +1,25 @@
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.1 {
+ #errlist-compat 253
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
GLIBC_2.2 {
# New rlimit interface
getrlimit; setrlimit; getrlimit64; setrlimit64;
}
-} \ No newline at end of file
+ GLIBC_2.3 {
+ #errlist-compat 254
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
+}
+librt {
+ GLIBC_2.3 {
+ # AIO functions.
+ aio_cancel; aio_cancel64;
+ }
+}
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/errno.h b/sysdeps/unix/sysv/linux/hppa/bits/errno.h
index 4d75ff1..003d71f 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/errno.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/errno.h
@@ -1,5 +1,5 @@
/* Error constants. Linux/HPPA specific version.
- Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1996,1997,1998,1999,2000,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
@@ -26,7 +26,9 @@
/* Linux also has no ECANCELED error code. Since it is not used here
we define it to an invalid value. */
-# define ECANCELED 125
+# ifndef ECANCELED
+# define ECANCELED ECANCELLED
+# endif
# ifndef __ASSEMBLER__
/* Function to get address of global `errno' variable. */
@@ -44,6 +46,6 @@ extern int *__errno_location (void) __THROW __attribute__ ((__const__));
define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
defined. */
# define EDOM 33 /* Math argument out of domain of function. */
-# define EILSEQ 84 /* Illegal byte sequence. */
+# define EILSEQ 47 /* Illegal byte sequence. */
# define ERANGE 34 /* Math result not representable. */
#endif /* !_ERRNO_H && __need_Emath */
diff --git a/sysdeps/unix/sysv/linux/mips/Versions b/sysdeps/unix/sysv/linux/mips/Versions
index f71d9b5..1569885 100644
--- a/sysdeps/unix/sysv/linux/mips/Versions
+++ b/sysdeps/unix/sysv/linux/mips/Versions
@@ -1,5 +1,13 @@
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 1134
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+
# Exception handling support functions from libgcc
__register_frame; __register_frame_table; __deregister_frame;
__frame_state_for; __register_frame_info_table;
@@ -13,8 +21,16 @@ libc {
# s*
sysmips;
}
+ GLIBC_2.1 {
+ #errlist-compat 1134
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
GLIBC_2.2 {
# _*
_test_and_set;
}
+ GLIBC_2.3 {
+ #errlist-compat 1134
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
}
diff --git a/sysdeps/unix/sysv/linux/sparc/Versions b/sysdeps/unix/sysv/linux/sparc/Versions
new file mode 100644
index 0000000..03d1d87
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/Versions
@@ -0,0 +1,25 @@
+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 127
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
+ GLIBC_2.1 {
+ #errlist-compat 127
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
+ GLIBC_2.3 {
+ #errlist-compat 128
+ _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
+ }
+}
+librt {
+ GLIBC_2.3 {
+ # AIO functions.
+ aio_cancel; aio_cancel64;
+ }
+}
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/errno.h b/sysdeps/unix/sysv/linux/sparc/bits/errno.h
new file mode 100644
index 0000000..96b7372
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/bits/errno.h
@@ -0,0 +1,52 @@
+/* Error constants. Linux/Sparc specific version.
+ Copyright (C) 1996, 1997, 1998, 1999, 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
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifdef _ERRNO_H
+
+# undef EDOM
+# undef EILSEQ
+# undef ERANGE
+# include <linux/errno.h>
+
+/* Linux has no ENOTSUP error code. */
+# define ENOTSUP EOPNOTSUPP
+
+# ifndef ECANCELED
+# define ECANCELED 127
+# endif
+
+# ifndef __ASSEMBLER__
+/* Function to get address of global `errno' variable. */
+extern int *__errno_location (void) __THROW __attribute__ ((__const__));
+
+# if !defined _LIBC || defined _LIBC_REENTRANT
+/* When using threads, errno is a per-thread value. */
+# define errno (*__errno_location ())
+# endif
+# endif /* !__ASSEMBLER__ */
+#endif /* _ERRNO_H */
+
+#if !defined _ERRNO_H && defined __need_Emath
+/* This is ugly but the kernel header is not clean enough. We must
+ define only the values EDOM, EILSEQ and ERANGE in case __need_Emath is
+ defined. */
+# define EDOM 33 /* Math argument out of domain of function. */
+# define EILSEQ 122 /* Illegal byte sequence. */
+# define ERANGE 34 /* Math result not representable. */
+#endif /* !_ERRNO_H && __need_Emath */