about summary refs log tree commit diff
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.tar.gz
glibc-5fe14d967045adf037e12a5945ac56de151c2ae2.tar.xz
glibc-5fe14d967045adf037e12a5945ac56de151c2ae2.zip
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 c18816ca6f..89ec9db1c4 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 0000000000..9cdc167bf7
--- /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 0000000000..1e7ec1c199
--- /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 7307c2d6d9..724dabaf10 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 475fbe1721..e15c8225fb 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 4d75ff1f61..003d71f622 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 f71d9b5d88..1569885d56 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 0000000000..03d1d87176
--- /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 0000000000..96b7372f19
--- /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 */