summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-05-03 21:40:12 +0000
committerUlrich Drepper <drepper@redhat.com>2004-05-03 21:40:12 +0000
commit5ce98c3f3f6a4715ce4ddef03a2f15b2dcf7d676 (patch)
tree47a4966dd814c0e843fe3089c7ebe176ae38e278
parentcdd59f155c3e90ee5025fa9ea016a684f3c9f9fe (diff)
Update.
2004-05-03 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/bsd/bits/fcntl.h (F_SETOWN, F_GETOWN): Define if __USE_BSD or __USE_UNIX98. * sysdeps/unix/bsd/ultrix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/bsd4.4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/common/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/aix/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/irix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. *sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/generic/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * sysdeps/mach/hurd/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise. * io/sys/stat.h (S_ISSOCK, S_IFSOCK): Likewise. 2004-05-01 Jakub Jelinek <jakub@redhat.com> * posix/Versions (libc): Remove __libc_wait, __libc_waitpid, __libc_pause, __libc_nanosleep, __libc_pread, __libc_pread64, __libc_pwrite64, __waitid and __pselect @@GLIBC_PRIVATE. * stdlib/Versions (libc): Remove __on_exit@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/Versions (libc): Remove __libc_sigaction@@GLIBC_PRIVATE. * sysdeps/unix/sysv/linux/x86_64/Versions (libc): Remove __modify_ldt@@GLIBC_PRIVATE. * socket/Versions (libc): Remove __libc_accept, __libc_send, __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv, __libc_sendto and __libc_connect @@GLIBC_PRIVATE. * stdio-common/Versions (libc): Remove _itoa_upper_digits@@GLIBC_PRIVATE. * resolv/Versions (libresolv): Remove __ns_samename@@GLIBC_PRIVATE. * misc/Versions (libc): Remove __libc_fsync, __libc_msync, __libc_readv and __libc_writev @@GLIBC_PRIVATE. * termios/Versions (libc): Remove __libc_tcdrain@@GLIBC_PRIVATE. * io/Versions (libc): Remove __libc_open, __libc_close, __libc_read, __libc_write, __libc_lseek, __libc_fcntl, __libc_open64 and __libc_lseek64 @@GLIBC_PRIVATE. 2004-04-30 Jakub Jelinek <jakub@redhat.com> * elf/dl-load.c (open_verify): Move e_phentsize check after e_type check. 2004-04-29 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floor.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Removed. * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lround.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rint.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_round.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: New file. * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: New file. * math/test-misc.c [LDBL_MANT_DIG == 106](main): Correct LDBL_MAX mantissa for AIX long double format. * misc/qefgcvt.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Define for AIX long double format. * misc/qefgcvt_r.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Likewise. * stdlib/fpioconst.c [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (_fpioconst_pow10): AIX long double format has same exponent range as double. * stdlib/fpioconst.h [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024] (LDBL_MAX_10_EXP_LOG): AIX long double format has same exponent range as double. 2004-04-23 Art Haas <ahaas@airmail.net> * sysdeps/unix/sysv/linux/kernel-features.h: Add 'defined'.
-rw-r--r--ChangeLog106
-rw-r--r--bits/fcntl.h4
-rw-r--r--elf/dl-load.c12
-rw-r--r--io/Versions6
-rw-r--r--io/sys/stat.h18
-rw-r--r--linuxthreads/Versions2
-rw-r--r--linuxthreads_db/thread_dbP.h2
-rw-r--r--localedata/ChangeLog9
-rw-r--r--localedata/locales/nn_NO5
-rw-r--r--localedata/locales/sid_ET4
-rw-r--r--localedata/locales/wal_ET237
-rw-r--r--math/test-misc.c4
-rw-r--r--misc/Versions6
-rw-r--r--misc/qefgcvt.c2
-rw-r--r--misc/qefgcvt_r.c2
-rw-r--r--nptl/Versions2
-rw-r--r--nptl_db/thread_dbP.h2
-rw-r--r--posix/Versions6
-rw-r--r--resolv/Versions2
-rw-r--r--socket/Versions6
-rw-r--r--stdio-common/Versions2
-rw-r--r--stdlib/Versions3
-rw-r--r--stdlib/fpioconst.c4
-rw-r--r--stdlib/fpioconst.h2
-rw-r--r--sysdeps/generic/bits/fcntl.h4
-rw-r--r--sysdeps/mach/hurd/bits/fcntl.h4
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_ceil.S60
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_ceilf.S56
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_floor.S58
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_floorf.S54
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_llrint.S (renamed from sysdeps/powerpc/powerpc64/fpu/s_llrint.c)32
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_llrintf.S (renamed from sysdeps/powerpc/powerpc64/fpu/s_llrintf.c)28
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_llround.S67
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_llroundf.S59
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_lround.S2
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_lroundf.S2
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_rint.S54
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_rintf.S47
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_round.S75
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_roundf.S71
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_trunc.S67
-rw-r--r--sysdeps/powerpc/powerpc64/fpu/s_truncf.S63
-rw-r--r--sysdeps/unix/bsd/bits/fcntl.h4
-rw-r--r--sysdeps/unix/bsd/bsd4.4/bits/fcntl.h4
-rw-r--r--sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h4
-rw-r--r--sysdeps/unix/bsd/ultrix4/bits/fcntl.h4
-rw-r--r--sysdeps/unix/common/bits/fcntl.h5
-rw-r--r--sysdeps/unix/sysv/aix/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/irix4/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/Versions3
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/arm/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/cris/bits/fcntl.h5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/i386/bits/fcntl.h5
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h5
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/fcntl.h4
-rw-r--r--sysdeps/unix/sysv/linux/sh/bits/fcntl.h5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/fcntl.h5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/Versions3
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h4
-rw-r--r--termios/Versions5
65 files changed, 1205 insertions, 143 deletions
diff --git a/ChangeLog b/ChangeLog
index ddf470644c..d0a485d502 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,109 @@
+2004-05-03 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/bsd/bits/fcntl.h (F_SETOWN, F_GETOWN): Define if
+ __USE_BSD or __USE_UNIX98.
+ * sysdeps/unix/bsd/ultrix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
+ * sysdeps/unix/bsd/bsd4.4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
+ * sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/common/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
+ * sysdeps/unix/sysv/aix/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
+ * sysdeps/unix/sysv/irix4/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
+ * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/cris/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ *sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/arm/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/hppa/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (F_SETOWN, F_GETOWN):
+ Likewise.
+ * sysdeps/generic/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
+ * sysdeps/mach/hurd/bits/fcntl.h (F_SETOWN, F_GETOWN): Likewise.
+ * io/sys/stat.h (S_ISSOCK, S_IFSOCK): Likewise.
+
+2004-05-01 Jakub Jelinek <jakub@redhat.com>
+
+ * posix/Versions (libc): Remove __libc_wait, __libc_waitpid,
+ __libc_pause, __libc_nanosleep, __libc_pread, __libc_pread64,
+ __libc_pwrite64, __waitid and __pselect @@GLIBC_PRIVATE.
+ * stdlib/Versions (libc): Remove __on_exit@@GLIBC_PRIVATE.
+ * sysdeps/unix/sysv/linux/Versions (libc): Remove
+ __libc_sigaction@@GLIBC_PRIVATE.
+ * sysdeps/unix/sysv/linux/x86_64/Versions (libc): Remove
+ __modify_ldt@@GLIBC_PRIVATE.
+ * socket/Versions (libc): Remove __libc_accept, __libc_send,
+ __libc_recvfrom, __libc_recvmsg, __libc_sendmsg, __libc_recv,
+ __libc_sendto and __libc_connect @@GLIBC_PRIVATE.
+ * stdio-common/Versions (libc): Remove
+ _itoa_upper_digits@@GLIBC_PRIVATE.
+ * resolv/Versions (libresolv): Remove __ns_samename@@GLIBC_PRIVATE.
+ * misc/Versions (libc): Remove __libc_fsync, __libc_msync,
+ __libc_readv and __libc_writev @@GLIBC_PRIVATE.
+ * termios/Versions (libc): Remove __libc_tcdrain@@GLIBC_PRIVATE.
+ * io/Versions (libc): Remove __libc_open, __libc_close, __libc_read,
+ __libc_write, __libc_lseek, __libc_fcntl, __libc_open64 and
+ __libc_lseek64 @@GLIBC_PRIVATE.
+
+2004-04-30 Jakub Jelinek <jakub@redhat.com>
+
+ * elf/dl-load.c (open_verify): Move e_phentsize check after e_type
+ check.
+
+2004-04-29 Steven Munroe <sjmunroe@us.ibm.com>
+
+ * sysdeps/powerpc/powerpc64/fpu/s_ceil.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_ceilf.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_floor.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_floorf.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: Removed.
+ * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Removed.
+ * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_llround.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_lround.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_lroundf.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_rint.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_rintf.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_round.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_roundf.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_trunc.S: New file.
+ * sysdeps/powerpc/powerpc64/fpu/s_truncf.S: New file.
+
+ * math/test-misc.c [LDBL_MANT_DIG == 106](main): Correct LDBL_MAX
+ mantissa for AIX long double format.
+ * misc/qefgcvt.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Define for AIX
+ long double format.
+ * misc/qefgcvt_r.c [LDBL_MANT_DIG == 106] (NDIGIT_MAX): Likewise.
+ * stdlib/fpioconst.c [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024]
+ (_fpioconst_pow10): AIX long double format has same exponent range as
+ double.
+ * stdlib/fpioconst.h [!__NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__>1024]
+ (LDBL_MAX_10_EXP_LOG): AIX long double format has same exponent range
+ as double.
+
+2004-04-23 Art Haas <ahaas@airmail.net>
+
+ * sysdeps/unix/sysv/linux/kernel-features.h: Add 'defined'.
+
2004-04-28 Carlos O'Donell <carlos@baldric.uwo.ca>
* sysdeps/unix/sysv/linux/mq_getattr.c: Include <stddef.h>.
diff --git a/bits/fcntl.h b/bits/fcntl.h
index f23667eb95..b397f812f1 100644
--- a/bits/fcntl.h
+++ b/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for stub configuration.
- Copyright (C) 1991, 1992, 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997, 2000, 2004 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
@@ -54,7 +54,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
# define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 162fb30af3..5ff472a46b 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1520,18 +1520,18 @@ open_verify (const char *name, struct filebuf *fbp)
}
if (! __builtin_expect (elf_machine_matches_host (ehdr), 1))
goto close_and_out;
- else if (__builtin_expect (ehdr->e_phentsize, sizeof (ElfW(Phdr)))
- != sizeof (ElfW(Phdr)))
- {
- errstring = N_("ELF file's phentsize not the expected size");
- goto call_lose;
- }
else if (__builtin_expect (ehdr->e_type, ET_DYN) != ET_DYN
&& __builtin_expect (ehdr->e_type, ET_EXEC) != ET_EXEC)
{
errstring = N_("only ET_DYN and ET_EXEC can be loaded");
goto call_lose;
}
+ else if (__builtin_expect (ehdr->e_phentsize, sizeof (ElfW(Phdr)))
+ != sizeof (ElfW(Phdr)))
+ {
+ errstring = N_("ELF file's phentsize not the expected size");
+ goto call_lose;
+ }
maplength = ehdr->e_phnum * sizeof (ElfW(Phdr));
if (ehdr->e_phoff + maplength <= (size_t) fbp->len)
diff --git a/io/Versions b/io/Versions
index 9e650d482a..5b311ee03b 100644
--- a/io/Versions
+++ b/io/Versions
@@ -97,10 +97,4 @@ libc {
# n*
nftw; nftw64;
}
- GLIBC_PRIVATE {
- # functions which have an additional interface since they are
- # cancelable.
- __libc_open; __libc_close; __libc_read; __libc_write;
- __libc_lseek; __libc_fcntl; __libc_open64; __libc_lseek64;
- }
}
diff --git a/io/sys/stat.h b/io/sys/stat.h
index 24e7fe309f..29e9e625ff 100644
--- a/io/sys/stat.h
+++ b/io/sys/stat.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-2002,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1995-2002,2003,2004 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
@@ -116,7 +116,7 @@ __BEGIN_DECLS
# ifdef __S_IFLNK
# define S_IFLNK __S_IFLNK
# endif
-# if (defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN2K) \
+# if (defined __USE_BSD || defined __USE_MISC || defined __USE_UNIX98) \
&& defined __S_IFSOCK
# define S_IFSOCK __S_IFSOCK
# endif
@@ -137,13 +137,13 @@ __BEGIN_DECLS
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
#endif
-#ifdef __USE_BSD
-# ifndef __S_IFLNK
-# define S_ISLNK(mode) 0
-# endif
-# ifdef __S_IFSOCK
-# define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK)
-# endif
+#if defined __USE_BSD && !defined __S_IFLNK
+# define S_ISLNK(mode) 0
+#endif
+
+#if (defined __USE_BSD || defined __USE_UNIX98) \
+ && defined __S_IFSOCK
+# define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK)
#endif
/* These are from POSIX.1b. If the objects are not implemented using separate
diff --git a/linuxthreads/Versions b/linuxthreads/Versions
index 423b5ecedb..b9de1612c3 100644
--- a/linuxthreads/Versions
+++ b/linuxthreads/Versions
@@ -34,6 +34,8 @@ libc {
__libc_sigpause; __libc_sigsuspend; __libc_sigwait; __libc_sigwaitinfo;
__libc_waitid; __libc___xpg_sigpause; __librt_enable_asynccancel;
__librt_disable_asynccancel; __librt_multiple_threads;
+
+ __libc_sigaction; __on_exit;
}
}
diff --git a/linuxthreads_db/thread_dbP.h b/linuxthreads_db/thread_dbP.h
index 8e0a78a3ac..63b408afc1 100644
--- a/linuxthreads_db/thread_dbP.h
+++ b/linuxthreads_db/thread_dbP.h
@@ -31,7 +31,7 @@ enum
/* Comment out the following for less verbose output. */
#ifndef NDEBUG
-# define LOG(c) if (__td_debug) __libc_write (2, c "\n", strlen (c "\n"))
+# define LOG(c) if (__td_debug) write (2, c "\n", strlen (c "\n"))
extern int __td_debug;
#else
# define LOG(c)
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index af25a9ba70..000f9d35c6 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,12 @@
+2004-05-03 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/wal_ET: New file. Contributed by Daniel Yacob.
+
+2004-05-02 Petter Reinholdtsen <pere@hungry.com>
+
+ * locales/sid_ET: Correct lang_ab and source information.
+ Patch from Daniel Yacob.
+
2004-04-17 Petter Reinholdtsen <pere@hungry.com>
* locales/et_EE: Change default charset for et_EE locale from
diff --git a/localedata/locales/nn_NO b/localedata/locales/nn_NO
index e1664582e1..ec48206bc1 100644
--- a/localedata/locales/nn_NO
+++ b/localedata/locales/nn_NO
@@ -36,10 +36,7 @@ copy "i18n"
END LC_CTYPE
LC_COLLATE
-
-% Copy the template from ISO/IEC 14651
-copy "iso14651_t1"
-
+copy "nb_NO"
END LC_COLLATE
diff --git a/localedata/locales/sid_ET b/localedata/locales/sid_ET
index 81d4f06596..03727ab1b9 100644
--- a/localedata/locales/sid_ET
+++ b/localedata/locales/sid_ET
@@ -24,7 +24,7 @@ escape_char /
LC_IDENTIFICATION
%
title "Sidama language locale for Ethiopia."
-source "Ge'ez Frontier Foundation & Sagalee Sidamao Publishing Co. Inc."
+source "Ge'ez Frontier Foundation"
address "7802 Solomon Seal Dr., Springfield, VA 22152, USA"
contact ""
email "locales@geez.org"
@@ -113,7 +113,7 @@ country_num 231 % 210 found in at least one ISO 3166 doc
% country_car unknown
% country_isbn unknown, Need ISO 2108
lang_name "<U0053><U0069><U0064><U0061><U0061><U006D><U0075><U0020><U0041><U0066><U006F>"
-lang_ab ""
+lang_ab "<U0073><U0069><U0064>"
lang_term "<U0073><U0069><U0064>"
lang_lib "<U0073><U0069><U0064>"
%
diff --git a/localedata/locales/wal_ET b/localedata/locales/wal_ET
new file mode 100644
index 0000000000..33953cd60a
--- /dev/null
+++ b/localedata/locales/wal_ET
@@ -0,0 +1,237 @@
+comment_char %
+escape_char /
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Sidama language locale for Ethiopia.
+%
+% Charset: UTF-8
+%
+% Prepared and contributed to glibc by Daniel Yacob <locales@geez.org>.
+%
+% This locale data has been developed under the Yeha Project:
+% http://yeha.sourceforge.net/
+%
+% build with: localedef -f UTF-8 -i wal_ET wal_ET
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+LC_IDENTIFICATION
+%
+title "Walaita language locale for Ethiopia."
+source "Ge'ez Frontier Foundation"
+address "7802 Solomon Seal Dr., Springfield, VA 22152, USA"
+contact ""
+email "locales@geez.org"
+tel ""
+fax ""
+language "wal"
+territory "ET"
+revision "0.10"
+date "2004-04-25"
+%
+category "i18n:2000";LC_IDENTIFICATION
+category "i18n:2000";LC_COLLATE
+category "i18n:2000";LC_CTYPE
+category "i18n:2000";LC_MEASUREMENT
+category "i18n:2000";LC_MONETARY
+category "posix:1993";LC_NUMERIC
+category "i18n:2000";LC_PAPER
+category "i18n:2000";LC_TELEPHONE
+category "i18n:2000";LC_ADDRESS
+category "i18n:2000";LC_MESSAGES
+category "i18n:2000";LC_NAME
+category "i18n:2000";LC_TIME
+%
+END LC_IDENTIFICATION
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Ethiopic Specifc Data:
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+LC_COLLATE
+copy "am_ET"
+END LC_COLLATE
+
+LC_CTYPE
+copy "ti_ET"
+END LC_CTYPE
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Ethiopia Specifc and Shared Data:
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+LC_MEASUREMENT
+copy "ti_ET"
+END LC_MEASUREMENT
+
+LC_MONETARY
+copy "ti_ET"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "ti_ET"
+END LC_NUMERIC
+
+LC_PAPER
+copy "ti_ET"
+END LC_PAPER
+
+LC_TELEPHONE
+copy "ti_ET"
+END LC_TELEPHONE
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% Sidama Specific Data:
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+LC_ADDRESS
+%
+% This is the ISO_IEC TR14652 Locale definition for the LC_ADDRESS category.
+%
+postal_fmt "<U0025><U007A><U0025><U0063><U0025><U0054><U0025><U0073>/
+<U0025><U0062><U0025><U0065><U0025><U0072>"
+country_name "<U12A2><U1275><U12EE><U1335><U12EB>"
+country_post "<U0045><U0054><U0048>"
+country_ab2 "<U0045><U0054>"
+country_ab3 "<U0045><U0054><U0048>"
+country_num 231 % 210 found in at least one ISO 3166 doc
+% country_car unknown
+% country_isbn unknown, Need ISO 2108
+lang_name "<U12C8><U120B><U12ED><U1273><U1271>"
+lang_ab "<U0077><U0061><U006C>"
+lang_term "<U0077><U0061><U006C>"
+lang_lib "<U0077><U0061><U006C>"
+
+
+%
+END LC_ADDRESS
+
+
+LC_MESSAGES
+copy "ti_ET"
+END LC_MESSAGES
+
+
+LC_NAME
+%
+% This is the ISO_IEC TR14652 Locale definition for the LC_NAME category.
+%
+name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/
+<U0025><U006D><U0025><U0074><U0025><U0066>"
+name_gen ""
+name_mr "<U121A><U1232><U12EB>"
+name_mrs "<U12AC><U1273><U12CB>"
+name_miss "<U12AC><U1273><U12E9>"
+name_ms "<U12AC><U1273><U12E9>"
+%
+END LC_NAME
+
+
+LC_TIME
+%
+% Abbreviated weekday names (%a)
+%
+abday "<U12C8><U130B> ";/
+ "<U1233><U12ED><U1296>";/
+ "<U121B><U1246><U1233>";/
+ "<U12A0><U1229><U12CB>";/
+ "<U1203><U1219><U1233>";/
+ "<U12A0><U122D><U1263>";/
+ "<U1244><U122B> "
+%
+% Full weekday names (%A)
+%
+% mon also <U1230><U129E>
+% tues also <U121B><U1230><U12A8><U129E>
+% wed also <U122E><U12CB>
+% thru also <U1210><U1219><U1233>
+%
+day "<U12C8><U130B>";/
+ "<U1233><U12ED><U1296>";/
+ "<U121B><U1246><U1233><U129B>";/
+ "<U12A0><U1229><U12CB>";/
+ "<U1203><U1219><U1233>";/
+ "<U12A0><U122D><U1263>";/
+ "<U1244><U122B>"
+%
+% Abbreviated month names (%b)
+%
+abmon "<U1303><U1295><U12E9>";/
+ "<U134C><U1265><U1229>";/
+ "<U121B><U122D><U127D>";/
+ "<U12A4><U1355><U1228>";/
+ "<U121C><U12ED><U0020>";/
+ "<U1301><U1295><U0020>";/
+ "<U1301><U120B><U12ED>";/
+ "<U12A6><U1308><U1235>";/
+ "<U1234><U1355><U1274>";/
+ "<U12A6><U12AD><U1270>";/
+ "<U1296><U126C><U121D>";/
+ "<U12F2><U1234><U121D>"
+%
+% Full month names (%B)
+%
+mon "<U1303><U1295><U12E9><U12C8><U122A>";/
+ "<U134C><U1265><U1229><U12C8><U122A>";/
+ "<U121B><U122D><U127D>";/
+ "<U12A4><U1355><U1228><U120D>";/
+ "<U121C><U12ED>";/
+ "<U1301><U1295>";/
+ "<U1301><U120B><U12ED>";/
+ "<U12A6><U1308><U1235><U1275>";/
+ "<U1234><U1355><U1274><U121D><U1260><U122D>";/
+ "<U12A6><U12AD><U1270><U12CD><U1260><U122D>";/
+ "<U1296><U126C><U121D><U1260><U122D>";/
+ "<U12F2><U1234><U121D><U1260><U122D>"
+%
+% Equivalent of AM PM
+%
+% also <U130B><U120B><U1233>
+% also <U12A1><U1218><U122D><U1232>
+%
+am_pm "<U121B><U1208><U12F6>";/
+ "<U1243><U121B>"
+%
+% Appropriate date representation (%x)
+% "%d/%m/%Y"
+%
+d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>"
+%
+% Appropriate time representation (%X)
+% "%l:%M:%S"
+%
+t_fmt "<U0025><U006C><U003A><U0025><U004D><U003A><U0025><U0053>"
+%
+% Appropriate AM/PM time representation (%r)
+% "%X %p"
+%
+t_fmt_ampm "<U0025><U0058><U0020><U0025><U0070>"
+%
+% Appropriate date and time representation (%c)
+% "%A፣ %B %e ጋላሳ %Y %r %Z
+%
+d_t_fmt "<U0025><U0041><U1363><U0020><U0025><U0042><U0020><U0025><U0065>/
+<U0020><U130B><U120B><U1233>/
+<U0020><U0025><U0059><U0020><U0025><U0072><U0020><U0025><U005A>"
+%
+% Appropriate date representation (date(1))
+% "%A፣ %B %e ጋላሳ %r %Z %Y ግ/ላ
+%
+date_fmt "<U0025><U0041><U1363><U0020><U0025><U0042><U0020><U0025><U0065>/
+<U0020><U130B><U120B><U1233>/
+<U0020><U0025><U0072><U0020><U0025><U005A><U0020><U0025><U0059>/
+<U0020><U130D><U002F><U120B>"
+END LC_TIME
+%
diff --git a/math/test-misc.c b/math/test-misc.c
index 17ef1d3a58..fa958d486c 100644
--- a/math/test-misc.c
+++ b/math/test-misc.c
@@ -54,6 +54,10 @@ main (void)
# if LDBL_MANT_DIG == 64
m = 0xf.fffffffffffffffp-4L;
+# elif LDBL_MANT_DIG == 106
+ /* This has to match the mantissa of LDBL_MAX which actually does have a
+ missing bit in the middle. */
+ m = 0x1.fffffffffffff7ffffffffffff8p-1L;
# elif LDBL_MANT_DIG == 113
m = 0x1.ffffffffffffffffffffffffffffp-1L;
# else
diff --git a/misc/Versions b/misc/Versions
index 95310b7fb4..13b38eec72 100644
--- a/misc/Versions
+++ b/misc/Versions
@@ -130,10 +130,4 @@ libc {
GLIBC_2.3.3 {
remap_file_pages;
}
- GLIBC_PRIVATE {
- # functions which have an additional interface since they are
- # cancelable.
- __libc_fsync; __libc_msync;
- __libc_readv; __libc_writev;
- }
}
diff --git a/misc/qefgcvt.c b/misc/qefgcvt.c
index 6944e8df39..d11ac588bf 100644
--- a/misc/qefgcvt.c
+++ b/misc/qefgcvt.c
@@ -33,6 +33,8 @@
# define NDIGIT_MAX 17
#elif LDBL_MANT_DIG == 113
# define NDIGIT_MAX 36
+#elif LDBL_MANT_DIG == 106
+# define NDIGIT_MAX 34
#elif LDBL_MANT_DIG == 56
# define NDIGIT_MAX 18
#else
diff --git a/misc/qefgcvt_r.c b/misc/qefgcvt_r.c
index 8a52cb699b..66cc049ec8 100644
--- a/misc/qefgcvt_r.c
+++ b/misc/qefgcvt_r.c
@@ -30,6 +30,8 @@
# define NDIGIT_MAX 17
#elif LDBL_MANT_DIG == 113
# define NDIGIT_MAX 36
+#elif LDBL_MANT_DIG == 106
+# define NDIGIT_MAX 34
#elif LDBL_MANT_DIG == 56
# define NDIGIT_MAX 18
#else
diff --git a/nptl/Versions b/nptl/Versions
index b96a1d8233..7e8ac9e271 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -231,7 +231,7 @@ libpthread {
}
GLIBC_PRIVATE {
- __pthread_initialize_minimal; __pthread_cleanup_upto;
+ __pthread_initialize_minimal;
__pthread_clock_gettime; __pthread_clock_settime;
__pthread_unwind;
}
diff --git a/nptl_db/thread_dbP.h b/nptl_db/thread_dbP.h
index 5504dd070f..c53d1ed940 100644
--- a/nptl_db/thread_dbP.h
+++ b/nptl_db/thread_dbP.h
@@ -57,7 +57,7 @@ enum
/* Comment out the following for less verbose output. */
#ifndef NDEBUG
-# define LOG(c) if (__td_debug) __libc_write (2, c "\n", strlen (c "\n"))
+# define LOG(c) if (__td_debug) write (2, c "\n", strlen (c "\n"))
extern int __td_debug attribute_hidden;
#else
# define LOG(c)
diff --git a/posix/Versions b/posix/Versions
index 4e6f200aa0..f529ee9d8e 100644
--- a/posix/Versions
+++ b/posix/Versions
@@ -123,10 +123,6 @@ libc {
regexec;
}
GLIBC_PRIVATE {
- # functions which have an additional interface since they are
- # are cancelable.
- __libc_wait; __libc_waitpid; __libc_pause; __libc_nanosleep; __libc_fork;
- __libc_pread; __libc_pread64; __libc_pwrite; __libc_pwrite64;
- __waitid; __pselect;
+ __libc_fork; __libc_pwrite;
}
}
diff --git a/resolv/Versions b/resolv/Versions
index b18c7d78dc..1a24d30e96 100644
--- a/resolv/Versions
+++ b/resolv/Versions
@@ -75,7 +75,7 @@ libresolv {
GLIBC_PRIVATE {
# Needed in libnss_dns.
__ns_name_unpack; __ns_name_ntop;
- __ns_get16; __ns_samename;
+ __ns_get16;
__libc_res_nquery; __libc_res_nsearch;
}
}
diff --git a/socket/Versions b/socket/Versions
index b469e1932f..d282eff79e 100644
--- a/socket/Versions
+++ b/socket/Versions
@@ -31,10 +31,4 @@ libc {
# Addition from P1003.1-200x
sockatmark;
}
- GLIBC_PRIVATE {
- # functions which have an additional interface since they are
- # cancelable.
- __libc_accept; __libc_send; __libc_recvfrom;
- __libc_recvmsg; __libc_sendmsg; __libc_recv; __libc_sendto; __libc_connect;
- }
}
diff --git a/stdio-common/Versions b/stdio-common/Versions
index 1afb73481f..1dbce1a124 100644
--- a/stdio-common/Versions
+++ b/stdio-common/Versions
@@ -48,5 +48,5 @@ libc {
}
GLIBC_PRIVATE {
# global variables
- _itoa_lower_digits; _itoa_upper_digits;
+ _itoa_lower_digits;
}
diff --git a/stdlib/Versions b/stdlib/Versions
index fc1e5a1004..9cc3b6d023 100644
--- a/stdlib/Versions
+++ b/stdlib/Versions
@@ -98,8 +98,5 @@ libc {
# functions which have an additional interface since they are
# are cancelable.
__libc_system;
-
- # functions used in other libraries.
- __on_exit;
}
}
diff --git a/stdlib/fpioconst.c b/stdlib/fpioconst.c
index 931386db06..59a5e43a82 100644
--- a/stdlib/fpioconst.c
+++ b/stdlib/fpioconst.c
@@ -278,7 +278,7 @@ const mp_limb_t __tens[] =
0x26b2716ed595d80full, 0x1d153624adc666b0ull, 0x63ff540e3c42d35aull,
0x65f9ef17cc5573c0ull, 0x80dcc7f755bc28f2ull, 0x5fdcefcef46eeddcull,
0x00000000000553f7ull,
-#ifndef __NO_LONG_DOUBLE_MATH
+#if!defined __NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024
# define TENS_P9_IDX (TENS_P8_IDX + TENS_P8_SIZE)
# define TENS_P9_SIZE 28
[TENS_P9_IDX] = 0x0000000000000000ull, 0x0000000000000000ull,
@@ -449,7 +449,7 @@ const struct mp_power _fpioconst_pow10[LDBL_MAX_10_EXP_LOG + 1] =
{ TENS_P6_IDX, TENS_P6_SIZE, 213, 210 },
{ TENS_P7_IDX, TENS_P7_SIZE, 426, 422 },
{ TENS_P8_IDX, TENS_P8_SIZE, 851, 848 },
-#ifndef __NO_LONG_DOUBLE_MATH
+#if !defined __NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024
{ TENS_P9_IDX, TENS_P9_SIZE, 1701, 1698 },
{ TENS_P10_IDX, TENS_P10_SIZE, 3402, 3399 },
{ TENS_P11_IDX, TENS_P11_SIZE, 6804, 6800 },
diff --git a/stdlib/fpioconst.h b/stdlib/fpioconst.h
index c7f87ba5a8..84685bc2ef 100644
--- a/stdlib/fpioconst.h
+++ b/stdlib/fpioconst.h
@@ -34,7 +34,7 @@
XXX These should be defined in <float.h>. For the time being, we have the
IEEE754 values here. */
-#ifndef __NO_LONG_DOUBLE_MATH
+#if !defined __NO_LONG_DOUBLE_MATH && __LDBL_MAX_EXP__ > 1024
# define LDBL_MAX_10_EXP_LOG 12 /* = floor(log_2(LDBL_MAX_10_EXP)) */
#else
# define LDBL_MAX_10_EXP_LOG 8 /* = floor(log_2(LDBL_MAX_10_EXP)) */
diff --git a/sysdeps/generic/bits/fcntl.h b/sysdeps/generic/bits/fcntl.h
index f23667eb95..b397f812f1 100644
--- a/sysdeps/generic/bits/fcntl.h
+++ b/sysdeps/generic/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for stub configuration.
- Copyright (C) 1991, 1992, 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997, 2000, 2004 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
@@ -54,7 +54,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
# define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/sysdeps/mach/hurd/bits/fcntl.h b/sysdeps/mach/hurd/bits/fcntl.h
index 09da177e69..e709cc6fb1 100644
--- a/sysdeps/mach/hurd/bits/fcntl.h
+++ b/sysdeps/mach/hurd/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for GNU.
- Copyright (C) 1993,94,96,97,98,99,2000,01 Free Software Foundation, Inc.
+ Copyright (C) 1993,94,96,97,98,99,2000,01,04 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
@@ -153,7 +153,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
# define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_ceil.S b/sysdeps/powerpc/powerpc64/fpu/s_ceil.S
new file mode 100644
index 0000000000..127f302666
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_ceil.S
@@ -0,0 +1,60 @@
+/* ceil function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**52 */
+ .tc FD_43300000_0[TC],0x4330000000000000
+.LC1: /* -0.0 */
+ .tc FD_80000000_0[TC],0x8000000000000000
+ .section ".text"
+
+ENTRY (__ceil)
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsub fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,2 /* Set rounding mode toward +inf. */
+ ble- cr6,.L4
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ blr
+.L4:
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ lfd fp1,.LC1@toc(2) /* x must be -0.0 for the 0.0 case. */
+ blr
+ END (__ceil)
+
+weak_alias (__ceil, ceil)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__ceil, ceill)
+strong_alias (__ceil, __ceill)
+#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S b/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S
new file mode 100644
index 0000000000..34f61423cc
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_ceilf.S
@@ -0,0 +1,56 @@
+/* float ceil function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**23 */
+ .tc FD_41600000_0[TC],0x4160000000000000
+.LC1: /* -0.0 */
+ .tc FD_80000000_0[TC],0x8000000000000000
+ .section ".text"
+
+ENTRY (__ceilf)
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsubs fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO23) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,2 /* Set rounding mode toward +inf. */
+ ble- cr6,.L4
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ blr
+.L4:
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ lfd fp1,.LC1@toc(2) /* x must be -0.0 for the 0.0 case. */
+ blr
+ END (__ceilf)
+
+weak_alias (__ceilf, ceilf)
+
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_floor.S b/sysdeps/powerpc/powerpc64/fpu/s_floor.S
new file mode 100644
index 0000000000..57fd63cd66
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_floor.S
@@ -0,0 +1,58 @@
+/* Floor function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**52 */
+ .tc FD_43300000_0[TC],0x4330000000000000
+ .section ".text"
+
+ENTRY (__floor)
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsub fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,3 /* Set rounding mode toward -inf. */
+ ble- cr6,.L4
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ fmr fp1,fp12 /* x must be +0.0 for the 0.0 case. */
+ blr
+.L4:
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ blr
+ END (__floor)
+
+weak_alias (__floor, floor)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__floor, floorl)
+strong_alias (__floor, __floorl)
+#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_floorf.S b/sysdeps/powerpc/powerpc64/fpu/s_floorf.S
new file mode 100644
index 0000000000..cde92b9174
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_floorf.S
@@ -0,0 +1,54 @@
+/* float Floor function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**23 */
+ .tc FD_41600000_0[TC],0x4160000000000000
+ .section ".text"
+
+ENTRY (__floorf)
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsubs fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO23) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,3 /* Set rounding mode toward -inf. */
+ ble- cr6,.L4
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ fmr fp1,fp12 /* x must be +0.0 for the 0.0 case. */
+ blr
+.L4:
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ blr
+ END (__floorf)
+
+weak_alias (__floorf, floorf)
+
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llrint.c b/sysdeps/powerpc/powerpc64/fpu/s_llrint.S
index f6ea3f4e0f..bc976a7edb 100644
--- a/sysdeps/powerpc/powerpc64/fpu/s_llrint.c
+++ b/sysdeps/powerpc/powerpc64/fpu/s_llrint.S
@@ -1,5 +1,5 @@
-/* Round a double value to a long long in the current rounding mode.
- Copyright (C) 1997, 2004 Free Software Foundation, Inc.
+/* Round double to long int. PowerPC64 version.
+ Copyright (C) 2004 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
@@ -17,27 +17,23 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-/* Kludge to avoid decls that will confuse strong_alias below. */
-#define __lrint XXX__lrint
-#define __lrintl XXX__lrintl
-#define lrint XXXlrint
-#define lrintl XXXlrintl
+#include <sysdep.h>
-#include "math.h"
+/* long long int[r3] __llrint (double x[fp1]) */
+ENTRY (__llrint)
+ fctid fp13,fp1
+ stfd fp13,-16(r1)
+ nop /* Insure the following load is in a different dispatch group */
+ nop /* to avoid pipe stall on POWER4&5. */
+ nop
+ ld r3,-16(r1)
+ blr
+ END (__llrint)
-#undef __lrint
-#undef __lrintl
-#undef lrint
-#undef lrintl
-
-long long int
-__llrint (double x)
-{
- return (long long int) __rint (x);
-}
strong_alias (__llrint, __lrint)
weak_alias (__llrint, llrint)
weak_alias (__lrint, lrint)
+
#ifdef NO_LONG_DOUBLE
strong_alias (__llrint, __llrintl)
weak_alias (__llrint, llrintl)
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llrintf.c b/sysdeps/powerpc/powerpc64/fpu/s_llrintf.S
index 7d8e22a700..aef84de831 100644
--- a/sysdeps/powerpc/powerpc64/fpu/s_llrintf.c
+++ b/sysdeps/powerpc/powerpc64/fpu/s_llrintf.S
@@ -1,5 +1,5 @@
-/* Round a float value to a long long in the current rounding mode.
- Copyright (C) 1997, 2004 Free Software Foundation, Inc.
+/* Round double to long int. PowerPC64 version.
+ Copyright (C) 2004 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
@@ -17,20 +17,20 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-/* Kludge to avoid decls that will confuse strong_alias below. */
-#define __lrintf XXX__lrintf
-#define lrintf XXXlrintf
+#include <sysdep.h>
-#include "math.h"
+/* long long int[r3] __llrintf (float x[fp1]) */
+ENTRY (__llrintf)
+ fctid fp13,fp1
+ stfd fp13,-16(r1)
+ nop /* Insure the following load is in a different dispatch group */
+ nop /* to avoid pipe stall on POWER4&5. */
+ nop
+ ld r3,-16(r1)
+ blr
+ END (__llrintf)
-#undef __lrintf
-#undef lrintf
-
-long long int
-__llrintf (float x)
-{
- return (long long int) __rintf (x);
-}
strong_alias (__llrintf, __lrintf)
weak_alias (__llrintf, llrintf)
weak_alias (__lrintf, lrintf)
+
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/fpu/s_llround.S
new file mode 100644
index 0000000000..320ef0f6d8
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_llround.S
@@ -0,0 +1,67 @@
+/* llround function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* -0.0 */
+ .tc FD_00000000_0[TC],0x0000000000000000
+.LC1: /* 0.5 */
+ .tc FD_3fe00000_0[TC],0x3fe0000000000000
+ .section ".text"
+
+/* long long [r3] llround (float x [fp1])
+ IEEE 1003.1 llround function. IEEE specifies "round to the nearest
+ integer value, rounding halfway cases away from zero, regardless of
+ the current rounding mode." However PowerPC Architecture defines
+ "round to Nearest" as "Choose the best approximation. In case of a
+ tie, choose the one that is even (least significant bit o).".
+ So we can't use the PowerPC "round to Nearest" mode. Instead we set
+ "round toward Zero" mode and round by adding +-0.5 before rounding
+ to the integer value. */
+
+ENTRY (__llround)
+ lfd fp12,.LC0@toc(2)
+ lfd fp10,.LC1@toc(2)
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ ble- cr6,.L4
+ fadd fp1,fp1,fp10 /* x+= 0.5; */
+.L9:
+ fctidz fp2,fp1 /* Convert To Integer DW llround toward 0. */
+ stfd fp2,-16(r1)
+ nop /* Insure the following load is in a different dispatch group */
+ nop /* to avoid pipe stall on POWER4&5. */
+ nop
+ ld r3,-16(r1)
+ blr
+.L4:
+ fsub fp1,fp1,fp10 /* x-= 0.5; */
+ b .L9
+ END (__llround)
+
+strong_alias (__llround, __lround)
+weak_alias (__llround, llround)
+weak_alias (__lround, lround)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__llround, llroundl)
+strong_alias (__llround, __llroundl)
+weak_alias (__lround, lroundl)
+strong_alias (__lround, __lroundl)
+#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llroundf.S b/sysdeps/powerpc/powerpc64/fpu/s_llroundf.S
new file mode 100644
index 0000000000..ff923056b1
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_llroundf.S
@@ -0,0 +1,59 @@
+/* llroundf function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* -0.0 */
+ .tc FD_00000000_0[TC],0x0000000000000000
+.LC1: /* 0.5 */
+ .tc FD_3fe00000_0[TC],0x3fe0000000000000
+ .section ".text"
+
+/* long long [r3] llroundf (float x [fp1])
+ IEEE 1003.1 llroundf function. IEEE specifies "roundf to the nearest
+ integer value, roundfing halfway cases away from zero, regardless of
+ the current roundfing mode." However PowerPC Architecture defines
+ "roundf to Nearest" as "Choose the best approximation. In case of a
+ tie, choose the one that is even (least significant bit o).".
+ So we can't use the PowerPC "round to Nearest" mode. Instead we set
+ "round toward Zero" mode and round by adding +-0.5 before rounding
+ to the integer value. */
+
+ENTRY (__llroundf)
+ lfd fp12,.LC0@toc(2)
+ lfd fp10,.LC1@toc(2)
+ fcmpu cr6,fp1,fp12 /* if (x < 0.0) */
+ fsubs fp3,fp1,fp10 /* x-= 0.5; */
+ ble- cr6,.L9
+ fadds fp3,fp1,fp10 /* x+= 0.5; */
+.L9:
+ fctidz fp2,fp3 /* Convert To Integer DW round toward 0. */
+ stfd fp2,-16(r1)
+ nop /* Insure the following load is in a different dispatch group */
+ nop /* to avoid pipe stall on POWER4&5. */
+ nop
+ ld r3,-16(r1)
+ blr
+ END (__llroundf)
+
+strong_alias (__llroundf, __lroundf)
+weak_alias (__llroundf, llroundf)
+weak_alias (__lroundf, lroundf)
+
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_lround.S b/sysdeps/powerpc/powerpc64/fpu/s_lround.S
new file mode 100644
index 0000000000..883bba1c5d
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_lround.S
@@ -0,0 +1,2 @@
+/* __lround is in s_llround.S */
+/* __lround is in s_llround.S */
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_lroundf.S b/sysdeps/powerpc/powerpc64/fpu/s_lroundf.S
new file mode 100644
index 0000000000..15506f6801
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_lroundf.S
@@ -0,0 +1,2 @@
+/* __lroundf is in s_llroundf.S */
+/* __lroundf is in s_llroundf.S */
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_rint.S b/sysdeps/powerpc/powerpc64/fpu/s_rint.S
new file mode 100644
index 0000000000..f7db7ff80a
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_rint.S
@@ -0,0 +1,54 @@
+/* Round to int floating-point values. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+/* This has been coded in assembler because GCC makes such a mess of it
+ when it's coded in C. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**52 */
+ .tc FD_43300000_0[TC],0x4330000000000000
+ .section ".text"
+
+ENTRY (__rint)
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsub fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ bng- cr6,.L4
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+ blr
+.L4:
+ bnllr- cr6 /* if (x < 0.0) */
+ fsub fp1,fp13,fp1 /* x = TWO52 - x; */
+ fsub fp0,fp1,fp13 /* x = - (x - TWO52); */
+ fneg fp1,fp0
+ blr
+ END (__rint)
+
+weak_alias (__rint, rint)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__rint, rintl)
+strong_alias (__rint, __rintl)
+#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_rintf.S b/sysdeps/powerpc/powerpc64/fpu/s_rintf.S
new file mode 100644
index 0000000000..de6d654796
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_rintf.S
@@ -0,0 +1,47 @@
+/* Round float to int floating-point values. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**23 */
+ .tc FD_41600000_0[TC],0x4160000000000000
+ .section ".text"
+
+ENTRY (__rintf)
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsubs fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO23) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ bng- cr6,.L4
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+ blr
+.L4:
+ bnllr- cr6 /* if (x < 0.0) */
+ fsubs fp1,fp13,fp1 /* x = TWO23 - x; */
+ fsubs fp0,fp1,fp13 /* x = - (x - TWO23); */
+ fneg fp1,fp0
+ blr
+ END (__rintf)
+
+weak_alias (__rintf, rintf)
+
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_round.S b/sysdeps/powerpc/powerpc64/fpu/s_round.S
new file mode 100644
index 0000000000..1c2e5299e5
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_round.S
@@ -0,0 +1,75 @@
+/* round function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**52 */
+ .tc FD_43300000_0[TC],0x4330000000000000
+.LC1: /* 0.5 */
+ .tc FD_3fe00000_0[TC],0x3fe0000000000000
+.LC2: /* -0.0 */
+ .tc FD_80000000_0[TC],0x8000000000000000
+ .section ".text"
+
+/* double [fp1] round (double x [fp1])
+ IEEE 1003.1 round function. IEEE specifies "round to the nearest
+ integer value, rounding halfway cases away from zero, regardless of
+ the current rounding mode." However PowerPC Architecture defines
+ "Round to Nearest" as "Choose the best approximation. In case of a
+ tie, choose the one that is even (least significant bit o).".
+ So we can't use the PowerPC "Round to Nearest" mode. Instead we set
+ "Round toward Zero" mode and round by adding +-0.5 before rounding
+ to the integer value. */
+
+ENTRY (__round)
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsub fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,1 /* Set rounding mode toward 0. */
+ lfd fp10,.LC1@toc(2)
+ ble- cr6,.L4
+ fadd fp1,fp1,fp10 /* x+= 0.5; */
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ blr
+.L4:
+ fsub fp9,fp1,fp10 /* x+= 0.5; */
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsub fp1,fp9,fp13 /* x-= TWO52; */
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ lfd fp1,.LC2@toc(2) /* x must be -0.0 for the 0.0 case. */
+ blr
+ END (__round)
+
+weak_alias (__round, round)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__round, roundl)
+strong_alias (__round, __roundl)
+#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_roundf.S b/sysdeps/powerpc/powerpc64/fpu/s_roundf.S
new file mode 100644
index 0000000000..fd8eb0aea3
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_roundf.S
@@ -0,0 +1,71 @@
+/* roundf function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**23 */
+ .tc FD_41600000_0[TC],0x4160000000000000
+.LC1: /* 0.5 */
+ .tc FD_3fe00000_0[TC],0x3fe0000000000000
+.LC2: /* -0.0 */
+ .tc FD_80000000_0[TC],0x8000000000000000
+ .section ".text"
+
+/* float [fp1] roundf (float x [fp1])
+ IEEE 1003.1 round function. IEEE specifies "round to the nearest
+ integer value, rounding halfway cases away from zero, regardless of
+ the current rounding mode." However PowerPC Architecture defines
+ "Round to Nearest" as "Choose the best approximation. In case of a
+ tie, choose the one that is even (least significant bit o).".
+ So we can't use the PowerPC "Round to Nearest" mode. Instead we set
+ "Round toward Zero" mode and round by adding +-0.5 before rounding
+ to the integer value. */
+
+ENTRY (__roundf )
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsubs fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO23) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,1 /* Set rounding mode toward 0. */
+ lfd fp10,.LC1@toc(2)
+ ble- cr6,.L4
+ fadds fp1,fp1,fp10 /* x+= 0.5; */
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ blr
+.L4:
+ fsubs fp9,fp1,fp10 /* x+= 0.5; */
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsubs fp1,fp9,fp13 /* x-= TWO23; */
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ lfd fp1,.LC2@toc(2) /* x must be -0.0 for the 0.0 case. */
+ blr
+ END (__roundf)
+
+weak_alias (__roundf, roundf)
+
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_trunc.S b/sysdeps/powerpc/powerpc64/fpu/s_trunc.S
new file mode 100644
index 0000000000..dc345ab424
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_trunc.S
@@ -0,0 +1,67 @@
+/* trunc function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**52 */
+ .tc FD_43300000_0[TC],0x4330000000000000
+.LC2: /* -0.0 */
+ .tc FD_80000000_0[TC],0x8000000000000000
+ .section ".text"
+
+/* double [fp1] trunc (double x [fp1])
+ IEEE 1003.1 trunc function. IEEE specifies "trunc to the integer
+ value, in floating format, nearest to but no larger in magnitude
+ then the argument."
+ We set "round toward Zero" mode and trunc by adding +-2**52 then
+ subtracting +-2**52. */
+
+ENTRY (__trunc)
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsub fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,1 /* Set rounding toward 0 mode. */
+ ble- cr6,.L4
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous truncing mode. */
+ blr
+.L4:
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsub fp1,fp1,fp13 /* x-= TWO52; */
+ fadd fp1,fp1,fp13 /* x+= TWO52; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ lfd fp1,.LC2@toc(2) /* x must be -0.0 for the 0.0 case. */
+ blr
+ END (__trunc)
+
+weak_alias (__trunc, trunc)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__trunc, truncl)
+strong_alias (__trunc, __truncl)
+#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_truncf.S b/sysdeps/powerpc/powerpc64/fpu/s_truncf.S
new file mode 100644
index 0000000000..727647f6de
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/fpu/s_truncf.S
@@ -0,0 +1,63 @@
+/* truncf function. PowerPC64 version.
+ Copyright (C) 2004 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. */
+
+#include <sysdep.h>
+
+ .section ".toc","aw"
+.LC0: /* 2**23 */
+ .tc FD_41600000_0[TC],0x4160000000000000
+.LC2: /* -0.0 */
+ .tc FD_80000000_0[TC],0x8000000000000000
+ .section ".text"
+
+/* float [fp1] truncf (float x [fp1])
+ IEEE 1003.1 trunc function. IEEE specifies "trunc to the integer
+ value, in floating format, nearest to but no larger in magnitude
+ then the argument."
+ We set "round toward Zero" mode and trunc by adding +-2**23 then
+ subtracting +-2**23. */
+
+ENTRY (__truncf)
+ mffs fp11 /* Save current FPU rounding mode. */
+ lfd fp13,.LC0@toc(2)
+ fabs fp0,fp1
+ fsubs fp12,fp13,fp13 /* generate 0.0 */
+ fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO23) */
+ fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
+ bnllr- cr7
+ mtfsfi 7,1 /* Set rounding toward 0 mode. */
+ ble- cr6,.L4
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+.L9:
+ mtfsf 0x01,fp11 /* restore previous truncing mode. */
+ blr
+.L4:
+ bge- cr6,.L9 /* if (x < 0.0) */
+ fsubs fp1,fp1,fp13 /* x-= TWO23; */
+ fadds fp1,fp1,fp13 /* x+= TWO23; */
+ fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
+ mtfsf 0x01,fp11 /* restore previous rounding mode. */
+ bnelr+ cr5
+ lfd fp1,.LC2@toc(2) /* x must be -0.0 for the 0.0 case. */
+ blr
+ END (__truncf)
+
+weak_alias (__truncf, truncf)
+
diff --git a/sysdeps/unix/bsd/bits/fcntl.h b/sysdeps/unix/bsd/bits/fcntl.h
index 4081b4d0db..c992f93ef8 100644
--- a/sysdeps/unix/bsd/bits/fcntl.h
+++ b/sysdeps/unix/bsd/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for 4.3 BSD.
- Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997, 2004 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
@@ -85,7 +85,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#ifdef __USE_BSD
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
# define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/bsd/bsd4.4/bits/fcntl.h b/sysdeps/unix/bsd/bsd4.4/bits/fcntl.h
index a5bfd7c825..47a67e38e4 100644
--- a/sysdeps/unix/bsd/bsd4.4/bits/fcntl.h
+++ b/sysdeps/unix/bsd/bsd4.4/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for 4.4 BSD.
- Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997, 2004 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
@@ -82,7 +82,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#ifdef __USE_BSD
+#if defined __USE_BSD || defined __USE_UNIX98
#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h b/sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h
index e09fa333e5..a30b352592 100644
--- a/sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h
+++ b/sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for SunOS 4.
- Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997, 2004 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
@@ -86,7 +86,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#ifdef __USE_BSD
+#if defined __USE_BSD || defined __USE_UNIX98
#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/bsd/ultrix4/bits/fcntl.h b/sysdeps/unix/bsd/ultrix4/bits/fcntl.h
index 9dbd7ba269..6392bc3415 100644
--- a/sysdeps/unix/bsd/ultrix4/bits/fcntl.h
+++ b/sysdeps/unix/bsd/ultrix4/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Ultrix 4.
- Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1997, 2004 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
@@ -87,7 +87,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#ifdef __USE_BSD
+#if defined __USE_BSD || defined __USE_UNIX98
#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */
#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/common/bits/fcntl.h b/sysdeps/unix/common/bits/fcntl.h
index 2918cea5f2..5bf6791b54 100644
--- a/sysdeps/unix/common/bits/fcntl.h
+++ b/sysdeps/unix/common/bits/fcntl.h
@@ -1,5 +1,6 @@
/* O_*, F_*, FD_* bit values for general Unix system.
- Copyright (C) 1991, 1992, 1995, 1997, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1992, 1995, 1997, 2000, 2004
+ 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
@@ -79,7 +80,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_GETOWN 23 /* Get owner (receiver of SIGIO). */
# define F_SETOWN 24 /* Set owner (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/aix/bits/fcntl.h b/sysdeps/unix/sysv/aix/bits/fcntl.h
index 28a8fae0f2..c65b8beeb4 100644
--- a/sysdeps/unix/sysv/aix/bits/fcntl.h
+++ b/sysdeps/unix/sysv/aix/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000, 2004 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
@@ -74,7 +74,7 @@
# define F_SETLKW64 13 /* Set record locking info (blocking). */
#endif
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/irix4/bits/fcntl.h b/sysdeps/unix/sysv/irix4/bits/fcntl.h
index dcba25fbc8..5eb7c76eb7 100644
--- a/sysdeps/unix/sysv/irix4/bits/fcntl.h
+++ b/sysdeps/unix/sysv/irix4/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for SGI Irix 4.
- Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1997, 2004 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
@@ -67,6 +67,8 @@
#define F_RGETLK 20 /* Get info on a remote lock. */
#define F_RSETLK 21 /* Set or unlock a remote lock. */
#define F_RSETLKW 22 /* Set or unlock a remote lock and wait. */
+#endif
+#if defined __USE_BSD || defined __USE_UNIX98
#define F_GETOWN 10 /* Get owner; only works on sockets. */
#define F_SETOWN 11 /* Set owner; only works on sockets. */
#endif
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index 0fa782a0d7..980724e519 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -116,9 +116,6 @@ libc {
sched_getaffinity; sched_setaffinity;
}
GLIBC_PRIVATE {
- # needed by libpthread.
- __libc_sigaction;
-
# functions used in other libraries
__syscall_rt_sigqueueinfo;
}
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
index 7d1197a8ea..828cc75225 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995-1999, 2000, 2004 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
@@ -75,7 +75,7 @@
#define F_SETLK64 F_SETLK /* Set record locking info (non-blocking). */
#define F_SETLKW64 F_SETLKW /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 5 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 6 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/arm/bits/fcntl.h b/sysdeps/unix/sysv/linux/arm/bits/fcntl.h
index ce17d68038..d050f7fbf7 100644
--- a/sysdeps/unix/sysv/linux/arm/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/arm/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995-1998, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000, 2004 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
@@ -79,7 +79,7 @@
#define F_SETLK64 13 /* Set record locking info (non-blocking). */
#define F_SETLKW64 14 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/cris/bits/fcntl.h b/sysdeps/unix/sysv/linux/cris/bits/fcntl.h
index 69ce6a506b..6abdd1d0b6 100644
--- a/sysdeps/unix/sysv/linux/cris/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/cris/bits/fcntl.h
@@ -1,5 +1,6 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2004
+ 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
@@ -78,7 +79,7 @@
#define F_SETLK64 13 /* Set record locking info (non-blocking). */
#define F_SETLKW64 14 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h b/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
index 6f13871d83..6cc96cf665 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux/HPPA.
- Copyright (C) 1995,1996,1997,1998,1999,2000,2002
+ Copyright (C) 1995,1996,1997,1998,1999,2000,2002,2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -78,7 +78,7 @@
#define F_SETLK64 9 /* Set record locking info (non-blocking). */
#define F_SETLKW64 10 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_GETOWN 11 /* Get owner of socket (receiver of SIGIO). */
# define F_SETOWN 12 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
index bd27ae54df..8b753c5762 100644
--- a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
@@ -1,5 +1,6 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2000, 2004
+ 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
@@ -78,7 +79,7 @@
#define F_SETLK64 13 /* Set record locking info (non-blocking). */
#define F_SETLKW64 14 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
index e141e98cb7..97971d3de3 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux/IA64.
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2004 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
@@ -75,7 +75,7 @@
#define F_SETLK64 6 /* Set record locking info (non-blocking). */
#define F_SETLKW64 7 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h b/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h
index af7c0ea9ac..2e85d1e893 100644
--- a/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2004 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
@@ -78,7 +78,7 @@
#define F_SETLK64 13 /* Set record locking info (non-blocking). */
#define F_SETLKW64 14 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
index 97e1867729..720e0a90e0 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995, 1996, 1997, 1998, 2000, 2002, 2003
+ Copyright (C) 1995, 1996, 1997, 1998, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -81,7 +81,7 @@
#define F_SETLK64 34 /* Set record locking info (non-blocking). */
#define F_SETLKW64 35 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 24 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 23 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
index dc9c05d297..e1fbb9c5d5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
@@ -1,5 +1,6 @@
/* O_*, F_*, FD_* bit values for Linux/PowerPC.
- Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2000, 2003, 2004
+ 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
@@ -78,7 +79,7 @@
#define F_SETLK64 13 /* Set record locking info (non-blocking). */
#define F_SETLKW64 14 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
index fe04f96279..1cdc487c09 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2004 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
@@ -93,7 +93,7 @@
# define F_SETLKW64 14 /* Set record locking info (blocking). */
#endif
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
index d3a8d82122..db1a314ebb 100644
--- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
@@ -1,5 +1,6 @@
/* O_*, F_*, FD_* bit values for Linux.
- Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2000, 2004
+ 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
@@ -78,7 +79,7 @@
#define F_SETLK64 13 /* Set record locking info (non-blocking). */
#define F_SETLKW64 14 /* Set record locking info (blocking). */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
index 27fc3f8391..967bef1233 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
@@ -1,5 +1,6 @@
/* O_*, F_*, FD_* bit values for Linux/SPARC.
- Copyright (C) 1995,1996,1997,1998,2000,2003 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2000, 2003, 2004
+ 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
@@ -76,7 +77,7 @@
#define F_SETFD 2 /* Set file descriptor flags. */
#define F_GETFL 3 /* Get file status flags. */
#define F_SETFL 4 /* Set file status flags. */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_GETOWN 5 /* Get owner of socket (receiver of SIGIO). */
# define F_SETOWN 6 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/sysdeps/unix/sysv/linux/x86_64/Versions b/sysdeps/unix/sysv/linux/x86_64/Versions
index 3735871a24..fd1b3cc296 100644
--- a/sysdeps/unix/sysv/linux/x86_64/Versions
+++ b/sysdeps/unix/sysv/linux/x86_64/Versions
@@ -6,7 +6,4 @@ libc {
modify_ldt;
}
- GLIBC_PRIVATE {
- __modify_ldt;
- }
}
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
index f41af70f97..5e11760bf0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
@@ -1,5 +1,5 @@
/* O_*, F_*, FD_* bit values for Linux/x86-64.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2004 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
@@ -82,7 +82,7 @@
#define F_SETLK64 13 /* Set record locking info (non-blocking). */
#define F_SETLKW64 14 /* Set record locking info (blocking). */
#endif
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */
#endif
diff --git a/termios/Versions b/termios/Versions
index ddd2705305..711ed0334b 100644
--- a/termios/Versions
+++ b/termios/Versions
@@ -11,9 +11,4 @@ libc {
# t*
tcgetsid;
}
- GLIBC_PRIVATE {
- # functions which have an additional interface since they are
- # are cancelable.
- __libc_tcdrain;
- }
}