summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-10-05 08:25:34 +0000
committerJakub Jelinek <jakub@redhat.com>2004-10-05 08:25:34 +0000
commitfd63f7c6ce353ccfdbba58a37e8ef5465fcedfe4 (patch)
treed68e6563180c849e8c5a37b646903b82c4302c1e
parent85148842d401edf64f9edee7e5819a947c289ed2 (diff)
Updated to fedora-glibc-20041005T0745
-rw-r--r--ChangeLog76
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in14
-rw-r--r--include/errno.h4
-rw-r--r--linuxthreads/ChangeLog12
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h6
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h10
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h10
-rw-r--r--linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h6
-rw-r--r--localedata/ChangeLog5
-rw-r--r--localedata/locales/gu_IN41
-rw-r--r--malloc/mtrace.pl15
-rw-r--r--nptl/ChangeLog22
-rw-r--r--nptl/sysdeps/pthread/posix-timer.h6
-rw-r--r--nptl/sysdeps/pthread/timer_create.c8
-rw-r--r--nptl/sysdeps/pthread/timer_routines.c12
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h4
-rw-r--r--nptl/tst-barrier2.c9
-rw-r--r--nptl/tst-clock1.c6
-rw-r--r--nptl/tst-clock2.c4
-rw-r--r--nptl/tst-cond11.c8
-rw-r--r--nptl/tst-cond4.c10
-rw-r--r--nptl/tst-cond6.c8
-rw-r--r--nptl/tst-flock2.c10
-rw-r--r--nptl/tst-mutex4.c10
-rw-r--r--nptl/tst-mutex9.c10
-rw-r--r--nptl/tst-rwlock12.c10
-rw-r--r--nptl/tst-rwlock4.c10
-rw-r--r--nptl/tst-signal1.c10
-rw-r--r--nptl/tst-spin2.c9
-rw-r--r--nscd/Makefile9
-rw-r--r--nscd/connections.c37
-rw-r--r--nscd/gai.c25
-rw-r--r--nscd/nscd.c13
-rw-r--r--sysdeps/generic/errno.c16
-rw-r--r--sysdeps/i386/bits/atomic.h24
-rw-r--r--sysdeps/unix/alpha/sysdep.h2
-rw-r--r--sysdeps/unix/i386/sysdep.S4
-rw-r--r--sysdeps/unix/sysv/linux/Makefile1
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysconf.c42
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c28
-rw-r--r--sysdeps/unix/sysv/linux/ia64/has_cpuclock.c52
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sysconf.c45
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sysdep.S2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/sh/sysdep.h6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sysdep.h2
-rw-r--r--sysdeps/unix/x86_64/sysdep.S2
56 files changed, 469 insertions, 231 deletions
diff --git a/ChangeLog b/ChangeLog
index fcce2d4263..8f3248f773 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,77 @@
+2004-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/sysconf.c: Include hp-timing.h.
+ (__sysconf): Return -1 for _SC_CPUTIME or _SC_THREAD_CPUTIME if
+ !HP_TIMING_AVAIL.
+
+ * nscd/connections.c: Include dlfcn.h and gnu/lib-names.h.
+ (start_threads): If _POSIX_CLOCK_SELECTION is -1 but
+ _POSIX_THREADS > 0, dlopen LIBPTHREAD_SO and look for
+ pthread_condattr_setclock in it.
+
+ * nscd/Makefile (relro-LDFLAGS): Add -Wl,-z,now if have-z-relro.
+ ($(objpfx)nscd): Add $(relro-LDFLAGS).
+
+2004-10-04 Ulrich Drepper <drepper@redhat.com>
+
+ * nscd/gai.c: Define __no_netlink_support if NEED_NETLINK is
+ defined and __ASSUME_NETLINK_SUPPORT is zero.
+ * sysdeps/unix/sysv/linux/Makefile (CFLAGS-gai.c): Add
+ -DNEED_NETLINK.
+
+ * malloc/mtrace.pl: Avoid calling location unless it is needed for
+ output. Patch by Edward Bishop <binutils@gmail.com>.
+
+ * nscd/Makefile (CFLAGS-gai.c): Add -fpie.
+
+2004-10-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
+ (clock_getcpuclockid): Add missing retval.
+
+ * sysdeps/unix/sysv/linux/ia64/sysconf.c (linux_sysconf): Fix a typo.
+
+2004-10-04 Roland McGrath <roland@redhat.com>
+
+ * include/errno.h [RTLD_PRIVATE_ERRNO] (errno): Rename the real symbol
+ to rtld_errno.
+ * sysdeps/generic/errno.c [RTLD_PRIVATE_ERRNO] (rtld_errno): Define it,
+ and don't define any other errno names.
+ * sysdeps/unix/alpha/sysdep.h [RTLD_PRIVATE_ERRNO]: Use rtld_errno in
+ place of errno.
+ * sysdeps/unix/i386/sysdep.S: Likewise.
+ * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
+ * sysdeps/unix/x86_64/sysdep.S: Likewise.
+
+ * sysdeps/generic/errno.c [! USE___THREAD] (errno): Use `nocommon'
+ attribute instead of `section'.
+
2004-10-04 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/unix/sysv/linux/ia64/sysconf.c: New file.
+ * sysdeps/unix/sysv/linux/ia64/Dist: Add has_cpuclock.c.
+ * sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c: Move actual
+ testing code to...
+ * sysdeps/unix/sysv/linux/ia64/has_cpuclock.c: ...here. New file.
+ * sysdeps/unix/sysv/linux/i386/sysconf.c: Add dynamic check for
+ _SC_CPUTIME and _SC_THREAD_CPUTIME.
+
+ * nscd/connections.c (start_threads): Use sysconf in case
+ _POSIX_CLOCK_SELECTION or _POSIX_MONOTONIC_CLOCK is not greater zero.
+
+ * nscd/Makefile (nscd-modules): Add gai.
+ * nscd/gai.c: New file.
+ * nscd/nscd.c: Remove getaddrinfo stub definition.
+
* assert/assert.h: Give up on using __builtin_expect.
* elf/rtld.c (dl_main): Only skip => output in ldd mode if both
@@ -17,7 +89,7 @@
2004-10-03 Juerg Billeter <j@bitron.ch>
* nscd/nscd_initgroups.c (__nscd_getgrouplist): Return -1 if nscd
- can't be used.
+ can't be used. [BZ #424]
2004-10-03 Ulrich Drepper <drepper@redhat.com>
@@ -61,7 +133,7 @@
don't replace old content.
* nscd/connections.c: Rewrite handling of incoming connections. All
- are handled by one thread which then hands of the descriptors for the
+ are handled by one thread which then hands off the descriptors for the
real work to the worker threads.
* nscd/Makefile: Link nscd with librt.
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 5e0abb6fc6..c73b100249 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -1,5 +1,5 @@
# This file is updated automatically by Makefile.
glibc-branch := fedora
glibc-base := HEAD
-fedora-sync-date := 2004-10-04 07:47 UTC
-fedora-sync-tag := fedora-glibc-20041004T0747
+fedora-sync-date := 2004-10-05 07:45 UTC
+fedora-sync-tag := fedora-glibc-20041005T0745
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index 090a7e4375..351dc9c9ff 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -1,4 +1,4 @@
-%define glibcrelease 64
+%define glibcrelease 65
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define prelinkarches noarch
%define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64
@@ -1239,6 +1239,18 @@ rm -f *.filelist*
%endif
%changelog
+* Tue Oct 5 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-65
+- update from CVS
+ - define _POSIX_THREAD_PROCESS_SHARED and _POSIX_CLOCK_SELECTION
+ to -1 in LinuxThreads
+ - define _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME to 0
+ on i?86/ia64 and make sure sysconf (_SC_{,THREAD_}CPUTIME)
+ returns correct value
+- if _POSIX_CLOCK_SELECTION == -1 in nscd, still try
+ sysconf (_SC_CLOCK_SELECTION) and if it returns true,
+ dlopen libpthread.so and dlsym pthread_condattr_setclock
+- build nscd with -z relro and -z now
+
* Mon Oct 4 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-64
- update from CVS
- stop using __builtin_expect in assert and assert_perror
diff --git a/include/errno.h b/include/errno.h
index 1b0aabc690..13d17f9c0e 100644
--- a/include/errno.h
+++ b/include/errno.h
@@ -14,8 +14,8 @@
so a single (hidden) global variable is all it needs. */
# undef errno
-# define errno errno /* For #ifndef errno tests. */
-extern int errno attribute_hidden;
+# define errno rtld_errno
+extern int rtld_errno attribute_hidden;
# else
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 2515af95f9..805cdd419d 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,15 @@
+2004-10-04 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Set _POSIX_CPUTIME
+ and _POSIX_THREAD_CPUTIME to zero.
+ * sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Likewise.
+
+ * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
+ _POSIX_THREAD_PROCESS_SHARED and _POSIX_CLOCK_SELECTION as -1.
+ * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: Likewise.
+
2004-09-25 Roland McGrath <roland@redhat.com>
[BZ #406]
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h b/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h
index 06fd0a29b2..1a0f4e0142 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/bits/posix_opt.h
@@ -132,7 +132,13 @@
/* POSIX message queues are available. */
#define _POSIX_MESSAGE_PASSING 200112L
+/* Thread process-shared synchronization is not supported. */
+#define _POSIX_THREAD_PROCESS_SHARED -1
+
/* The monotonic clock might be available. */
#define _POSIX_MONOTONIC_CLOCK 0
+/* The clock selection interfaces are not available. */
+#define _POSIX_CLOCK_SELECTION -1
+
#endif /* posix_opt.h */
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h b/linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
index 18a840ed98..9c8e706d12 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
@@ -106,10 +106,10 @@
#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
/* CPU-time clocks supported. */
-#define _POSIX_CPUTIME 200112L
+#define _POSIX_CPUTIME 0
/* We support the clock also in threads. */
-#define _POSIX_THREAD_CPUTIME 200112L
+#define _POSIX_THREAD_CPUTIME 0
/* GNU libc provides regular expression handling. */
#define _POSIX_REGEXP 1
@@ -138,7 +138,13 @@
/* POSIX message queues are available. */
#define _POSIX_MESSAGE_PASSING 200112L
+/* Thread process-shared synchronization is not supported. */
+#define _POSIX_THREAD_PROCESS_SHARED -1
+
/* The monotonic clock might be available. */
#define _POSIX_MONOTONIC_CLOCK 0
+/* The clock selection interfaces are not available. */
+#define _POSIX_CLOCK_SELECTION -1
+
#endif /* posix_opt.h */
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h b/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
index 07780df9c1..0b18959f3a 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
@@ -106,10 +106,10 @@
#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
/* CPU-time clocks supported. */
-#define _POSIX_CPUTIME 200112L
+#define _POSIX_CPUTIME 0
/* We support the clock also in threads. */
-#define _POSIX_THREAD_CPUTIME 200112L
+#define _POSIX_THREAD_CPUTIME 0
/* GNU libc provides regular expression handling. */
#define _POSIX_REGEXP 1
@@ -138,7 +138,13 @@
/* POSIX message queues are available. */
#define _POSIX_MESSAGE_PASSING 200112L
+/* Thread process-shared synchronization is not supported. */
+#define _POSIX_THREAD_PROCESS_SHARED -1
+
/* The monotonic clock might be available. */
#define _POSIX_MONOTONIC_CLOCK 0
+/* The clock selection interfaces are not available. */
+#define _POSIX_CLOCK_SELECTION -1
+
#endif /* posix_opt.h */
diff --git a/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h b/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h
index 3a5fc7a1e1..b45d121f64 100644
--- a/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h
+++ b/linuxthreads/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h
@@ -138,7 +138,13 @@
/* POSIX message queues are available. */
#define _POSIX_MESSAGE_PASSING 200112L
+/* Thread process-shared synchronization is not supported. */
+#define _POSIX_THREAD_PROCESS_SHARED -1
+
/* The monotonic clock might be available. */
#define _POSIX_MONOTONIC_CLOCK 0
+/* The clock selection interfaces are not available. */
+#define _POSIX_CLOCK_SELECTION -1
+
#endif /* posix_opt.h */
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 7014099b68..065136e8d7 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-04 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/gu_IN: Update various incorrect and missing information.
+ Patch by Ankit Patel <ankit@redhat.com>.
+
2004-09-28 Ulrich Drepper <drepper@redhat.com>
* locales/nb_NO: Make language field consistent in form with nn_NO.
diff --git a/localedata/locales/gu_IN b/localedata/locales/gu_IN
index 0e0dc65e57..aaca913f2c 100644
--- a/localedata/locales/gu_IN
+++ b/localedata/locales/gu_IN
@@ -1,11 +1,12 @@
comment_char %
escape_char /
-% Gurajati language locale for India.
-% Copied fron hi_IN one, G Karunakar <karunakar@freedomink.org>
+% Gurajati Language Locale For India.
+% Copied from hi_IN one, G Karunakar <karunakar@freedomink.org>
% Gujarati stuff from Tapan Parikh <tap2k@yahoo.com>
+% Gujarati stuff Modified by Ankit Patel <ankit@redhat.com>
LC_IDENTIFICATION
-title "Gujarati language locale for India"
+title "Gujarati Language Locale For India"
source "IndLinux.org"
address ""
contact ""
@@ -14,8 +15,8 @@ tel ""
fax ""
language "Gujarati"
territory "India"
-revision "0.1"
-date "2003-01-10"
+revision "0.2"
+date "2004-14-09"
%
category "gu_IN:2000";LC_IDENTIFICATION
category "gu_IN:2000";LC_CTYPE
@@ -53,7 +54,7 @@ currency_symbol "<U0AB0><U0AC1>"
mon_decimal_point "<U002E>"
mon_thousands_sep "<U002C>"
mon_grouping 3
-positive_sign ""
+positive_sign "<U002B>"
negative_sign "<U002D>"
int_frac_digits 2
frac_digits 2
@@ -79,7 +80,7 @@ LC_TIME
% Abbreviated weekday names (%a)
abday "<U0AB0><U0AB5><U0ABF>";/
"<U0AB8><U0ACB><U0AAE>";/
- "<U0AAE><U0AA8><U0ACD><U0A97><U0AB3>";/
+ "<U0AAE><U0A82><U0A97><U0AB3>";/
"<U0AAC><U0AC1><U0AA7>";/
"<U0A97><U0AC1><U0AB0><U0AC1>";/
"<U0AB6><U0AC1><U0A95><U0ACD><U0AB0>";/
@@ -89,7 +90,7 @@ abday "<U0AB0><U0AB5><U0ABF>";/
% Full weekday names (%A)
day "<U0AB0><U0AB5><U0ABF><U0AB5><U0ABE><U0AB0>";/
"<U0AB8><U0ACB><U0AAE><U0AB5><U0ABE><U0AB0>";/
- "<U0AAE><U0AA8><U0ACD><U0A97><U0AB3><U0AB5><U0ABE><U0AB0>";/
+ "<U0AAE><U0A82><U0A97><U0AB3><U0AB5><U0ABE><U0AB0>";/
"<U0AAC><U0AC1><U0AA7><U0AB5><U0ABE><U0AB0>";/
"<U0A97><U0AC1><U0AB0><U0AC1><U0AB5><U0ABE><U0AB0>";/
"<U0AB6><U0AC1><U0A95><U0ACD><U0AB0><U0AB5><U0ABE><U0AB0>";/
@@ -104,7 +105,7 @@ abmon "<U0A9C><U0ABE><U0AA8>";/
"<U0A9C><U0AC1><U0AA8>";/
"<U0A9C><U0AC1><U0AB2>";/
"<U0A93><U0A97>";/
- "<U0AB8><U0AC7><U0AAA><U0ACD><U0A9F>";/
+ "<U0AB8><U0AAA><U0ACD><U0A9F>";/
"<U0A93><U0A95><U0ACD><U0A9F>";/
"<U0AA8><U0ACB><U0AB5>";/
"<U0AA1><U0ABF><U0AB8>"
@@ -119,7 +120,7 @@ mon "<U0A9C><U0ABE><U0AA8><U0ACD><U0AAF><U0AC1><U0A86><U0AB0><U0AC0>";/
"<U0A9C><U0AC1><U0AA8>";/
"<U0A9C><U0AC1><U0AB2><U0ABE><U0A87>";/
"<U0A93><U0A97><U0AB8><U0ACD><U0A9F>";/
- "<U0AB8><U0AC7><U0AAA><U0ACD><U0A9F><U0AC7><U0AAE><U0ACD><U0AAC><U0AB0>";/
+ "<U0AB8><U0AAA><U0ACD><U0A9F><U0AC7><U0AAE><U0ACD><U0AAC><U0AB0>";/
"<U0A93><U0A95><U0ACD><U0A9F><U0ACB><U0AAC><U0AB0>";/
"<U0AA8><U0AB5><U0AC7><U0AAE><U0ACD><U0AAC><U0AB0>";/
"<U0AA1><U0ABF><U0AB8><U0AC7><U0AAE><U0ACD><U0AAC><U0AB0>"
@@ -127,9 +128,9 @@ mon "<U0A9C><U0ABE><U0AA8><U0ACD><U0AAF><U0AC1><U0A86><U0AB0><U0AC0>";/
%
% Equivalent of AM PM
am_pm "<U0AB8><U0AB5><U0ABE><U0AB0><U0AC7>";/
- "<U0AB8><U0ABE><U0AA8><U0ACD><U0A9C><U0AC7>"
+ "<U0AB8><U0ABE><U0A82><U0A9C><U0AC7>"
-% *** There arent any Devanagari characters below, so for time being
+% *** There aren't any Devanagari characters below, so for time being
% *** maintain same for Gujarati also, Karunakar
%
@@ -158,10 +159,9 @@ date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0025><U005A><U0020><U0025><U0059>"
END LC_TIME
-
LC_MESSAGES
-yesexpr "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>"
-noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
+yesexpr "<U005E><U005B><U0079><U0059><U0AB9><U005D>"
+noexpr "<U005E><U005B><U006E><U004E><U0AA8><U005D>"
END LC_MESSAGES
@@ -176,12 +176,11 @@ LC_NAME
%
name_fmt "<U0025><U0070><U0025><U0074><U0025><U0066><U0025><U0074>/
<U0025><U0067>"
-% ***** We can have Gujarati eqv for below , Karunakar
-name_gen ""
-name_mr "<U004D><U0072><U002E>"
-name_mrs "<U004D><U0072><U0073><U002E>"
-name_miss "<U004D><U0069><U0073><U0073><U002E>"
-name_ms "<U004D><U0073><U002E>"
+name_gen "<U0A9C><U0ABE><U0AA4><U0ABF>"
+name_mr "<U0AB6><U0ACD><U0AB0><U0AC0><U0AAE><U0ABE><U0AA8>"
+name_mrs "<U0AB6><U0ACD><U0AB0><U0AC0><U0AAE><U0AA4><U0ABF>"
+name_miss "<U0A95><U0AC1><U0AAE><U0ABE><U0AB0><U0AC0>"
+name_ms "<U0AB8><U0AB6><U0ACD><U0AB0><U0AC0>"
END LC_NAME
diff --git a/malloc/mtrace.pl b/malloc/mtrace.pl
index 2d12929432..1640fa652d 100644
--- a/malloc/mtrace.pl
+++ b/malloc/mtrace.pl
@@ -165,17 +165,18 @@ while (<DATA>) {
if ($cols[$n] eq "+") {
if (defined $allocated{$allocaddr}) {
printf ("+ %#0@XXX@x Alloc %d duplicate: %s %s\n",
- hex($allocaddr), $nr, $wherewas{$allocaddr}, $where);
+ hex($allocaddr), $nr, &location($addrwas{$allocaddr}),
+ $where);
} else {
$allocated{$allocaddr}=$howmuch;
- $wherewas{$allocaddr}=&location($where);
+ $addrwas{$allocaddr}=$where;
}
last SWITCH;
}
if ($cols[$n] eq "-") {
if (defined $allocated{$allocaddr}) {
undef $allocated{$allocaddr};
- undef $wherewas{$allocaddr};
+ undef $addrwas{$allocaddr};
} else {
printf ("- %#0@XXX@x Free %d was never alloc'd %s\n",
hex($allocaddr), $nr, &location($where));
@@ -185,7 +186,7 @@ while (<DATA>) {
if ($cols[$n] eq "<") {
if (defined $allocated{$allocaddr}) {
undef $allocated{$allocaddr};
- undef $wherewas{$allocaddr};
+ undef $addrwas{$allocaddr};
} else {
printf ("- %#0@XXX@x Realloc %d was never alloc'd %s\n",
hex($allocaddr), $nr, &location($where));
@@ -196,10 +197,10 @@ while (<DATA>) {
if (defined $allocated{$allocaddr}) {
printf ("+ %#0@XXX@x Realloc %d duplicate: %#010x %s %s\n",
hex($allocaddr), $nr, $allocated{$allocaddr},
- $wherewas{$allocaddr}, &location($where));
+ &location($addrwas{$allocaddr}), &location($where));
} else {
$allocated{$allocaddr}=$howmuch;
- $wherewas{$allocaddr}=&location($where);
+ $addrwas{$allocaddr}=$where;
}
last SWITCH;
}
@@ -227,7 +228,7 @@ if ($#addrs >= 0) {
$anything=1;
}
printf ("%#0@XXX@x %#8x at %s\n", hex($addr), $allocated{$addr},
- $wherewas{$addr});
+ &location($addrwas{$addr}));
}
}
}
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 90c7d5fb21..d52bd5ccc2 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,25 @@
+2004-10-04 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Define _POSIX_CPUTIME
+ and _POSIX_THREAD_CPUTIME to zero.
+ * sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Likewise.
+ * tst-barrier2.c: Fix testing for POSIX feature.
+ * tst-clock1.c: Likewise.
+ * tst-clock2.c: Likewise.
+ * tst-cond11.c: Likewise.
+ * tst-cond4.c: Likewise.
+ * tst-cond6.c: Likewise.
+ * tst-flock2.c: Likewise.
+ * tst-mutex4.c: Likewise.
+ * tst-mutex9.c: Likewise.
+ * tst-rwlock12.c: Likewise.
+ * tst-rwlock4.c: Likewise.
+ * tst-signal1.c: Likewise.
+ * tst-spin2.c: Likewise.
+ * sysdeps/pthread/posix-timer.h: Likewise.
+ * sysdeps/pthread/timer_create.c: Likewise.
+ * sysdeps/pthread/timer_routines.c: Likewise.
+
2004-10-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
diff --git a/nptl/sysdeps/pthread/posix-timer.h b/nptl/sysdeps/pthread/posix-timer.h
index 948b1694c4..843e44711a 100644
--- a/nptl/sysdeps/pthread/posix-timer.h
+++ b/nptl/sysdeps/pthread/posix-timer.h
@@ -1,5 +1,5 @@
/* Definitions for POSIX timer implementation on top of NPTL.
- Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Kaz Kylheku <kaz@ashi.footprints.net>.
@@ -92,10 +92,10 @@ extern int __timer_init_failed;
/* A distinct thread is used for each clock type. */
extern struct thread_node __timer_signal_thread_rclk;
-#ifdef _POSIX_CPUTIME
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
extern struct thread_node __timer_signal_thread_pclk;
#endif
-#ifdef _POSIX_THREAD_CPUTIME
+#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
extern struct thread_node __timer_signal_thread_tclk;
#endif
diff --git a/nptl/sysdeps/pthread/timer_create.c b/nptl/sysdeps/pthread/timer_create.c
index b74fafda62..57dd39e81b 100644
--- a/nptl/sysdeps/pthread/timer_create.c
+++ b/nptl/sysdeps/pthread/timer_create.c
@@ -38,10 +38,10 @@ timer_create (clock_id, evp, timerid)
struct thread_node *thread = NULL;
if (0
-#ifdef _POSIX_CPUTIME
+#ifdef CLOCK_PROCESS_CPUTIME_ID
|| clock_id == CLOCK_PROCESS_CPUTIME_ID
#endif
-#ifdef _POSIX_THREAD_CPUTIME
+#ifdef CLOCK_THREAD_CPUTIME_ID
|| clock_id == CLOCK_THREAD_CPUTIME_ID
#endif
)
@@ -100,12 +100,12 @@ timer_create (clock_id, evp, timerid)
default:
thread = &__timer_signal_thread_rclk;
break;
-#ifdef _POSIX_CPUTIME
+#ifdef CLOCK_PROCESS_CPUTIME_ID
case CLOCK_PROCESS_CPUTIME_ID:
thread = &__timer_signal_thread_pclk;
break;
#endif
-#ifdef _POSIX_THREAD_CPUTIME
+#ifdef CLOCK_THREAD_CPUTIME_ID
case CLOCK_THREAD_CPUTIME_ID:
thread = &__timer_signal_thread_tclk;
break;
diff --git a/nptl/sysdeps/pthread/timer_routines.c b/nptl/sysdeps/pthread/timer_routines.c
index 3ee8fef17b..caa93433e3 100644
--- a/nptl/sysdeps/pthread/timer_routines.c
+++ b/nptl/sysdeps/pthread/timer_routines.c
@@ -53,10 +53,10 @@ int __timer_init_failed;
/* Node for the thread used to deliver signals. */
struct thread_node __timer_signal_thread_rclk;
-#ifdef _POSIX_CPUTIME
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
struct thread_node __timer_signal_thread_pclk;
#endif
-#ifdef _POSIX_THREAD_CPUTIME
+#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
struct thread_node __timer_signal_thread_tclk;
#endif
@@ -191,10 +191,10 @@ init_module (void)
list_append (&thread_free_list, &thread_array[i].links);
thread_init (&__timer_signal_thread_rclk, 0, CLOCK_REALTIME);
-#ifdef _POSIX_CPUTIME
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
thread_init (&__timer_signal_thread_pclk, 0, CLOCK_PROCESS_CPUTIME_ID);
#endif
-#ifdef _POSIX_THREAD_CPUTIME
+#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
thread_init (&__timer_signal_thread_tclk, 0, CLOCK_THREAD_CPUTIME_ID);
#endif
}
@@ -281,10 +281,10 @@ thread_cleanup (void *val)
/* How did the signal thread get killed? */
assert (thread != &__timer_signal_thread_rclk);
-#ifdef _POSIX_CPUTIME
+#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
assert (thread != &__timer_signal_thread_pclk);
#endif
-#ifdef _POSIX_THREAD_CPUTIME
+#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
assert (thread != &__timer_signal_thread_tclk);
#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
index d8ece5efdc..6c138f3ae5 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
@@ -103,10 +103,10 @@
#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
/* CPU-time clocks supported. */
-#define _POSIX_CPUTIME 200112L
+#define _POSIX_CPUTIME 0
/* We support the clock also in threads. */
-#define _POSIX_THREAD_CPUTIME 200112L
+#define _POSIX_THREAD_CPUTIME 0
/* GNU libc provides regular expression handling. */
#define _POSIX_REGEXP 1
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
index 7563de8ad2..2b5a3e6db8 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
@@ -103,10 +103,10 @@
#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
/* CPU-time clocks supported. */
-#define _POSIX_CPUTIME 200112L
+#define _POSIX_CPUTIME 0
/* We support the clock also in threads. */
-#define _POSIX_THREAD_CPUTIME 200112L
+#define _POSIX_THREAD_CPUTIME 0
/* GNU libc provides regular expression handling. */
#define _POSIX_REGEXP 1
diff --git a/nptl/tst-barrier2.c b/nptl/tst-barrier2.c
index b147ae1bfb..7f588694d6 100644
--- a/nptl/tst-barrier2.c
+++ b/nptl/tst-barrier2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -31,12 +31,6 @@
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-barrier2.XXXXXX";
char data[ps];
@@ -183,7 +177,6 @@ do_test (void)
WEXITSTATUS (status) + serials, N);
return 1;
}
-#endif
return 0;
}
diff --git a/nptl/tst-clock1.c b/nptl/tst-clock1.c
index fbb5fa907e..cba197943a 100644
--- a/nptl/tst-clock1.c
+++ b/nptl/tst-clock1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -27,13 +27,13 @@
int
do_test (void)
{
-#if _POSIX_THREAD_CPUTIME
+#ifdef _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
clockid_t cl;
/* This is really only a linking-test here. */
int e = pthread_getcpuclockid (pthread_self (), &cl);
if (e != 0)
{
-# if _POSIX_THREAD_CPUTIME < 0
+# if _POSIX_THREAD_CPUTIME == 0
if (sysconf (_SC_THREAD_CPUTIME) >= 0)
# endif
{
diff --git a/nptl/tst-clock2.c b/nptl/tst-clock2.c
index 54f5041282..2ea2a529aa 100644
--- a/nptl/tst-clock2.c
+++ b/nptl/tst-clock2.c
@@ -25,7 +25,7 @@
#include <unistd.h>
-#if _POSIX_THREAD_CPUTIME
+#ifdef _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
static pthread_barrier_t b2;
static pthread_barrier_t bN;
@@ -55,7 +55,7 @@ tf (void *arg)
int
do_test (void)
{
-#if _POSIX_THREAD_CPUTIME
+#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
# define N 10
if (pthread_barrier_init (&b2, NULL, 2) != 0
diff --git a/nptl/tst-cond11.c b/nptl/tst-cond11.c
index 079dec5afc..90a3e15868 100644
--- a/nptl/tst-cond11.c
+++ b/nptl/tst-cond11.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -24,7 +24,7 @@
#include <unistd.h>
-#if _POSIX_CLOCK_SELECTION
+#ifdef _POSIX_CLOCK_SELECTION && _POSIX_CLOCK_SELECTION >= 0
static int
run_test (clockid_t cl)
{
@@ -156,7 +156,7 @@ run_test (clockid_t cl)
static int
do_test (void)
{
-#if ! _POSIX_CLOCK_SELECTION
+#if !defined _POSIX_CLOCK_SELECTION || _POSIX_CLOCK_SELECTION == -1
puts ("_POSIX_CLOCK_SELECTION not supported, test skipped");
return 0;
@@ -165,7 +165,7 @@ do_test (void)
int res = run_test (CLOCK_REALTIME);
-# if defined _POSIX_MONOTONIC_CLOCK
+# if defined _POSIX_MONOTONIC_CLOCK && _POSIX_MONOTONIC_CLOCK >= 0
# if _POSIX_MONOTONIC_CLOCK == 0
int e = sysconf (_SC_MONOTONIC_CLOCK);
if (e < 0)
diff --git a/nptl/tst-cond4.c b/nptl/tst-cond4.c
index 071528df0e..58c2bdaf07 100644
--- a/nptl/tst-cond4.c
+++ b/nptl/tst-cond4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -32,13 +32,6 @@ int *condition;
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-cond4.XXXXXX";
char data[ps];
@@ -264,7 +257,6 @@ do_test (void)
}
return result;
-#endif
}
#define TEST_FUNCTION do_test ()
diff --git a/nptl/tst-cond6.c b/nptl/tst-cond6.c
index be429df96d..b5dcaa810d 100644
--- a/nptl/tst-cond6.c
+++ b/nptl/tst-cond6.c
@@ -34,13 +34,6 @@ int *condition;
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-cond6.XXXXXX";
char data[ps];
@@ -234,7 +227,6 @@ do_test (void)
}
return result;
-#endif
}
#define TEST_FUNCTION do_test ()
diff --git a/nptl/tst-flock2.c b/nptl/tst-flock2.c
index fdbffbb272..8ef3206cc4 100644
--- a/nptl/tst-flock2.c
+++ b/nptl/tst-flock2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -59,13 +59,6 @@ tf (void *arg)
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
char tmp[] = "/tmp/tst-flock2-XXXXXX";
fd = mkstemp (tmp);
@@ -261,7 +254,6 @@ do_test (void)
}
return status;
-#endif
}
#define TEST_FUNCTION do_test ()
diff --git a/nptl/tst-mutex4.c b/nptl/tst-mutex4.c
index 9caed444c1..0ce7313caf 100644
--- a/nptl/tst-mutex4.c
+++ b/nptl/tst-mutex4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -31,13 +31,6 @@
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-mutex4.XXXXXX";
char data[ps];
@@ -191,7 +184,6 @@ do_test (void)
}
return 0;
-#endif
}
#define TIMEOUT 4
diff --git a/nptl/tst-mutex9.c b/nptl/tst-mutex9.c
index 94e993c5cb..5ea2f0ac99 100644
--- a/nptl/tst-mutex9.c
+++ b/nptl/tst-mutex9.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
@@ -29,13 +29,6 @@
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-mutex9.XXXXXX";
char data[ps];
@@ -186,7 +179,6 @@ do_test (void)
}
return 0;
-#endif
}
#define TIMEOUT 3
diff --git a/nptl/tst-rwlock12.c b/nptl/tst-rwlock12.c
index 159d469afc..91f25d3b1e 100644
--- a/nptl/tst-rwlock12.c
+++ b/nptl/tst-rwlock12.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -31,13 +31,6 @@
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-rwlock12.XXXXXX";
char data[ps];
@@ -209,7 +202,6 @@ do_test (void)
}
return status;
-#endif
}
#define TEST_FUNCTION do_test ()
diff --git a/nptl/tst-rwlock4.c b/nptl/tst-rwlock4.c
index 1fb47f7cd3..8de0121b30 100644
--- a/nptl/tst-rwlock4.c
+++ b/nptl/tst-rwlock4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -31,13 +31,6 @@
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-rwlock4.XXXXXX";
char data[ps];
@@ -191,7 +184,6 @@ do_test (void)
}
return 0;
-#endif
}
#define TEST_FUNCTION do_test ()
diff --git a/nptl/tst-signal1.c b/nptl/tst-signal1.c
index ad4b7870cf..3022f1846f 100644
--- a/nptl/tst-signal1.c
+++ b/nptl/tst-signal1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -94,13 +94,6 @@ receiver (void)
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
- return 0;
-
-#else
-
char tmp[] = "/tmp/tst-signal1-XXXXXX";
int fd = mkstemp (tmp);
@@ -190,7 +183,6 @@ do_test (void)
}
return 0;
-#endif
}
#define TEST_FUNCTION do_test ()
diff --git a/nptl/tst-spin2.c b/nptl/tst-spin2.c
index 95a9293316..5b1df6c4a8 100644
--- a/nptl/tst-spin2.c
+++ b/nptl/tst-spin2.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -31,12 +31,6 @@
static int
do_test (void)
{
-#if ! _POSIX_THREAD_PROCESS_SHARED
-
- puts ("_POSIX_THREAD_PROCESS_SHARED not supported, test skipped");
-
-#else
-
size_t ps = sysconf (_SC_PAGESIZE);
char tmpfname[] = "/tmp/tst-spin2.XXXXXX";
char data[ps];
@@ -157,7 +151,6 @@ do_test (void)
puts ("parent done");
}
-#endif
return 0;
}
diff --git a/nscd/Makefile b/nscd/Makefile
index b0ef3cd5f2..b197b3fc6b 100644
--- a/nscd/Makefile
+++ b/nscd/Makefile
@@ -32,7 +32,7 @@ vpath %.c ../locale/programs
nscd-modules := nscd connections pwdcache getpwnam_r getpwuid_r grpcache \
getgrnam_r getgrgid_r hstcache gethstbyad_r gethstbynm2_r \
dbg_log nscd_conf nscd_stat cache mem nscd_setup_thread \
- xmalloc xstrdup aicache initgrcache
+ xmalloc xstrdup aicache initgrcache gai
ifeq ($(have-thread-library),yes)
@@ -96,11 +96,16 @@ CFLAGS-nscd_setup_thread.c += $(nscd-cflags)
CFLAGS-aicache.c += $(nscd-cflags)
CFLAGS-selinux.c += $(nscd-cflags)
CFLAGS-initgrcache.c += $(nscd-cflags)
+CFLAGS-gai.c += $(nscd-cflags)
ifeq (yesyes,$(have-fpie)$(build-shared))
+ifeq (yes,$(have-z-relro))
+relro-LDFLAGS += -Wl,-z,now
+endif
+
$(objpfx)nscd: $(addprefix $(objpfx),$(nscd-modules:=.o))
$(LINK.o) -pie -Wl,-O1 \
- $(sysdep-LDFLAGS) $(config-LDFLAGS) \
+ $(sysdep-LDFLAGS) $(config-LDFLAGS) $(relro-LDFLAGS) \
$(extra-B-$(@F:lib%.so=%).so) -B$(csu-objpfx) \
$(extra-B-$(@F:lib%.so=%).so) $(load-map-file) \
$(LDFLAGS) $(LDFLAGS-$(@F)) \
diff --git a/nscd/connections.c b/nscd/connections.c
index 2bd3bec5b0..d9c11f5425 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -21,6 +21,7 @@
#include <alloca.h>
#include <assert.h>
#include <atomic.h>
+#include <dlfcn.h>
#include <error.h>
#include <errno.h>
#include <fcntl.h>
@@ -42,6 +43,7 @@
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/un.h>
+#include <gnu/lib-names.h>
#include "nscd.h"
#include "dbg_log.h"
@@ -1455,12 +1457,39 @@ start_threads (void)
pthread_condattr_t condattr;
pthread_condattr_init (&condattr);
-#if _POSIX_CLOCK_SELECTION >= 0 && _POSIX_MONOTONIC_CLOCK >= 0
+#if defined _POSIX_MONOTONIC_CLOCK && _POSIX_MONOTONIC_CLOCK >= 0
/* Determine whether the monotonous clock is available. */
struct timespec dummy;
- if (clock_getres (CLOCK_MONOTONIC, &dummy) == 0
- && pthread_condattr_setclock (&condattr, CLOCK_MONOTONIC) == 0)
- timeout_clock = CLOCK_MONOTONIC;
+# if _POSIX_MONOTONIC_CLOCK == 0
+ if (sysconf (_SC_MONOTONIC_CLOCK) > 0)
+# endif
+ {
+# if defined _POSIX_CLOCK_SELECTION && _POSIX_CLOCK_SELECTION >= 0
+# if _POSIX_CLOCK_SELECTION == 0
+ if (sysconf (_SC_CLOCK_SELECTION) > 0)
+# endif
+ if (clock_getres (CLOCK_MONOTONIC, &dummy) == 0
+ && pthread_condattr_setclock (&condattr, CLOCK_MONOTONIC) == 0)
+ timeout_clock = CLOCK_MONOTONIC;
+# elif _POSIX_THREADS > 0
+ if (sysconf (_SC_CLOCK_SELECTION) > 0)
+ {
+ void *h = __libc_dlopen (LIBPTHREAD_SO);
+ int (*condattr_setclock) (pthread_condattr_t *, __clockid_t) = NULL;
+
+ if (h != NULL)
+ condattr_setclock = __libc_dlsym (h, "pthread_condattr_setclock");
+
+ if (condattr_setclock
+ && clock_getres (CLOCK_MONOTONIC, &dummy) == 0
+ && condattr_setclock (&condattr, CLOCK_MONOTONIC) == 0)
+ timeout_clock = CLOCK_MONOTONIC;
+
+ if (h != NULL)
+ __libc_dlclose (h);
+ }
+# endif
+ }
#endif
pthread_cond_init (&readylist_cond, &condattr);
diff --git a/nscd/gai.c b/nscd/gai.c
new file mode 100644
index 0000000000..722c7e415d
--- /dev/null
+++ b/nscd/gai.c
@@ -0,0 +1,25 @@
+/* This file uses the getaddrinfo code but it compiles it without NSCD
+ support. We just need a few symbol renames. */
+#define __getservbyname_r getservbyname_r
+#define __inet_aton inet_aton
+#define __getsockname getsockname
+#define __socket socket
+#define __recvmsg recvmsg
+#define __bind bind
+#define __sendto sendto
+#define __strchrnul strchrnul
+
+#include <getaddrinfo.c>
+
+/* Support code. */
+#include <check_pf.c>
+#ifdef HAVE_LIBIDN
+# include <libidn/idn-stub.c>
+#endif
+
+/* Some variables normally defined in libc. */
+service_user *__nss_hosts_database;
+
+#if defined NEED_NETLINK && __ASSUME_NETLINK_SUPPORT == 0
+int __no_netlink_support attribute_hidden;
+#endif
diff --git a/nscd/nscd.c b/nscd/nscd.c
index 15a7ea2530..5cca127f91 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -510,16 +510,3 @@ write_pid (const char *file)
return 0;
}
-
-
-/* This is an ugly hack which prevents getaddrinfo from being dragged
- into nscd. There currently is no special getaddrinfo version for
- use in nscd. In case it should be necessary such a version must be
- created and this dummy version should be removed. */
-extern void getaddrinfo (void) __attribute ((visibility ("hidden")));
-
-void
-getaddrinfo (void)
-{
- abort ();
-}
diff --git a/sysdeps/generic/errno.c b/sysdeps/generic/errno.c
index 10dbabe762..03d661b717 100644
--- a/sysdeps/generic/errno.c
+++ b/sysdeps/generic/errno.c
@@ -22,24 +22,32 @@
#include <dl-sysdep.h>
#undef errno
-#if USE___THREAD
+#if RTLD_PRIVATE_ERRNO
+
+/* Code compiled for rtld refers only to this name. */
+int rtld_errno attribute_hidden;
+
+#elif USE___THREAD
+
__thread int errno;
extern __thread int __libc_errno __attribute__ ((alias ("errno")))
attribute_hidden;
+
#else
+
/* This differs from plain `int errno;' in that it doesn't create
a common definition, but a plain symbol that resides in .bss,
which can have an alias. */
-int errno __attribute__ ((section (".bss")));
+int errno __attribute__ ((nocommon));
strong_alias (errno, _errno)
/* We declare these with compat_symbol so that they are not visible at
link time. Programs must use the accessor functions. RTLD is special,
since it's not exported from there at any time. */
-# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING \
- && !RTLD_PRIVATE_ERRNO
+# if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
# include <shlib-compat.h>
compat_symbol (libc, errno, errno, GLIBC_2_0);
compat_symbol (libc, _errno, _errno, GLIBC_2_0);
# endif
+
#endif
diff --git a/sysdeps/i386/bits/atomic.h b/sysdeps/i386/bits/atomic.h
index d8aa448d7d..27840f9fe3 100644
--- a/sysdeps/i386/bits/atomic.h
+++ b/sysdeps/i386/bits/atomic.h
@@ -95,17 +95,29 @@ init_has_cmpxchg (void) \
# define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
({ __typeof (*mem) ret; \
if (__builtin_expect (has_cmpxchg, 1)) \
- __asm __volatile (LOCK_PREFIX "cmpxchgw %w2, %1" \
- : "=a" (ret), "=m" (*mem) \
- : "r" (newval), "m" (*mem), "0" (oldval)); \
+ __asm __volatile (LOCK_PREFIX "cmpxchgw %w2, %1" \
+ : "=a" (ret), "=m" (*mem) \
+ : "r" (newval), "m" (*mem), "0" (oldval)); \
+ else \
+ { \
+ ret = *mem; \
+ if (ret == oldval) \
+ *mem = (newval); \
+ } \
ret; })
# define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
({ __typeof (*mem) ret; \
if (__builtin_expect (has_cmpxchg, 1)) \
- __asm __volatile (LOCK_PREFIX "cmpxchgl %2, %1" \
- : "=a" (ret), "=m" (*mem) \
- : "r" (newval), "m" (*mem), "0" (oldval)); \
+ __asm __volatile (LOCK_PREFIX "cmpxchgl %2, %1" \
+ : "=a" (ret), "=m" (*mem) \
+ : "r" (newval), "m" (*mem), "0" (oldval)); \
+ else \
+ { \
+ ret = *mem; \
+ if (ret == oldval) \
+ *mem = (newval); \
+ } \
ret; })
/* XXX We do not really need 64-bit compare-and-exchange. At least
diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h
index 5259c09a91..f9f1dd6e41 100644
--- a/sysdeps/unix/alpha/sysdep.h
+++ b/sysdeps/unix/alpha/sysdep.h
@@ -82,7 +82,7 @@
#if RTLD_PRIVATE_ERRNO
# define SYSCALL_ERROR_LABEL $syscall_error
# define SYSCALL_ERROR_HANDLER \
- stl v0, errno(gp) !gprel; \
+ stl v0, rtld_errno(gp) !gprel; \
lda v0, -1; \
ret
#elif defined(PIC)
diff --git a/sysdeps/unix/i386/sysdep.S b/sysdeps/unix/i386/sysdep.S
index dceb6815f4..6056cbeef2 100644
--- a/sysdeps/unix/i386/sysdep.S
+++ b/sysdeps/unix/i386/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 2000, 2002
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 2000, 2002, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -68,7 +68,7 @@ notb:
popl %ebx
movl %eax, %gs:0(%ecx)
# elif RTLD_PRIVATE_ERRNO
- movl %eax, C_SYMBOL_NAME(errno@GOTOFF)(%ebx)
+ movl %eax, C_SYMBOL_NAME(rtld_errno@GOTOFF)(%ebx)
/* Pop %ebx value saved before jumping here. */
popl %ebx
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index fd089dd236..37be75e964 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -153,4 +153,5 @@ endif
ifeq ($(subdir),nscd)
CFLAGS-connections.c += -DHAVE_EPOLL
+CFLAGS-gai.c += -DNEED_NETLINK
endif
diff --git a/sysdeps/unix/sysv/linux/i386/sysconf.c b/sysdeps/unix/sysv/linux/i386/sysconf.c
index cb4706de73..eae849b277 100644
--- a/sysdeps/unix/sysv/linux/i386/sysconf.c
+++ b/sysdeps/unix/sysv/linux/i386/sysconf.c
@@ -21,7 +21,7 @@
#include <stdbool.h>
#include <stdlib.h>
#include <unistd.h>
-
+#include <hp-timing.h>
static long int linux_sysconf (int name);
@@ -319,16 +319,9 @@ handle_amd (int name)
}
-/* Get the value of the system variable NAME. */
-long int
-__sysconf (int name)
+static int
+i386_i486_test (void)
{
- /* We only handle the cache information here (for now). */
- if (name < _SC_LEVEL1_ICACHE_SIZE || name > _SC_LEVEL4_CACHE_LINESIZE)
- return linux_sysconf (name);
-
- /* Recognize i386 and compatible. These don't have any cache on
- board. */
int eflags;
int ac;
asm volatile ("pushfl;\n\t"
@@ -343,6 +336,35 @@ __sysconf (int name)
"pushl %0;\n\t"
"popfl"
: "=r" (eflags), "=r" (ac));
+
+ return ac;
+}
+
+
+/* Get the value of the system variable NAME. */
+long int
+__sysconf (int name)
+{
+ if (name == _SC_CPUTIME || name == _SC_THREAD_CPUTIME)
+ {
+#if HP_TIMING_AVAIL
+ // XXX We can add here test for machines which cannot support a
+ // XXX usable TSC.
+ return 200112L;
+#else
+ return -1;
+#endif
+ }
+
+ /* All the remainder, except the cache information, is handled in
+ the generic code. */
+ if (name < _SC_LEVEL1_ICACHE_SIZE || name > _SC_LEVEL4_CACHE_LINESIZE)
+ return linux_sysconf (name);
+
+ /* Recognize i386 and compatible. These don't have any cache on
+ board. */
+ int ac = i386_i486_test ();
+
if (ac == 0)
/* This is an i386. */
// XXX Is this true for all brands?
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index 8845e46157..37e7459a9c 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -136,7 +136,7 @@ __i686.get_pc_thunk.reg: \
addl $_GLOBAL_OFFSET_TABLE_, %ecx; \
xorl %edx, %edx; \
subl %eax, %edx; \
- movl %edx, errno@GOTOFF(%ecx); \
+ movl %edx, rtld_errno@GOTOFF(%ecx); \
orl $-1, %eax; \
jmp L(pseudo_end);
diff --git a/sysdeps/unix/sysv/linux/ia64/Dist b/sysdeps/unix/sysv/linux/ia64/Dist
index c9e81a3e8f..b4118bdead 100644
--- a/sysdeps/unix/sysv/linux/ia64/Dist
+++ b/sysdeps/unix/sysv/linux/ia64/Dist
@@ -2,6 +2,7 @@ clone.S
clone2.S
dl-brk.S
dl-static.c
+has_cpuclock.c
ioperm.c
ldd-rewrite.sed
__start_context.S
diff --git a/sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c b/sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
index 68e5763a8c..d2c45a560a 100644
--- a/sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
+++ b/sysdeps/unix/sysv/linux/ia64/clock_getcpuclockid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 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
@@ -24,6 +24,9 @@
#include <fcntl.h>
+#include "has_cpuclock.c"
+
+
int
clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
{
@@ -31,30 +34,9 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id)
if (pid != 0 && pid != getpid ())
return EPERM;
- static int itc_usable;
int retval = ENOENT;
- if (__builtin_expect (itc_usable == 0, 0))
- {
- int newval = 1;
- int fd = open ("/proc/sal/itc_drift", O_RDONLY);
- if (__builtin_expect (fd != -1, 1))
- {
- char buf[16];
- /* We expect the file to contain a single digit followed by
- a newline. If the format changes we better not rely on
- the file content. */
- if (read (fd, buf, sizeof buf) != 2 || buf[0] != '0'
- || buf[1] != '\n')
- newval = -1;
-
- close (fd);
- }
-
- itc_usable = newval;
- }
-
- if (itc_usable > 0)
+ if (has_cpuclock () > 0)
{
/* Store the number. */
*clock_id = CLOCK_PROCESS_CPUTIME_ID;
diff --git a/sysdeps/unix/sysv/linux/ia64/has_cpuclock.c b/sysdeps/unix/sysv/linux/ia64/has_cpuclock.c
new file mode 100644
index 0000000000..ee19161272
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/has_cpuclock.c
@@ -0,0 +1,52 @@
+/* Copyright (C) 2000, 2001, 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
+ 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 <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+
+static int itc_usable;
+
+static int
+has_cpuclock (void)
+{
+ if (__builtin_expect (itc_usable == 0, 0))
+ {
+ int newval = 1;
+ int fd = open ("/proc/sal/itc_drift", O_RDONLY);
+ if (__builtin_expect (fd != -1, 1))
+ {
+ char buf[16];
+ /* We expect the file to contain a single digit followed by
+ a newline. If the format changes we better not rely on
+ the file content. */
+ if (read (fd, buf, sizeof buf) != 2 || buf[0] != '0'
+ || buf[1] != '\n')
+ newval = -1;
+
+ close (fd);
+ }
+
+ itc_usable = newval;
+ }
+
+ return itc_usable;
+}
diff --git a/sysdeps/unix/sysv/linux/ia64/sysconf.c b/sysdeps/unix/sysv/linux/ia64/sysconf.c
new file mode 100644
index 0000000000..4b5d1ce2cd
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ia64/sysconf.c
@@ -0,0 +1,45 @@
+/* Get file-specific information about a file. Linux version.
+ Copyright (C) 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
+ 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 <assert.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+
+#include "has_cpuclock.c"
+
+static long int linux_sysconf (int name);
+
+
+/* Get the value of the system variable NAME. */
+long int
+__sysconf (int name)
+{
+ if (name == _SC_CPUTIME || name == _SC_THREAD_CPUTIME)
+ return has_cpuclock () ? 200112L : -1;
+
+ /* Everything else is handled by the more general code. */
+ return linux_sysconf (name);
+}
+
+/* Now the generic Linux version. */
+#undef __sysconf
+#define __sysconf static linux_sysconf
+#include "../sysconf.c"
diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep.S b/sysdeps/unix/sysv/linux/ia64/sysdep.S
index 3b4b600b42..3633dd4b78 100644
--- a/sysdeps/unix/sysv/linux/ia64/sysdep.S
+++ b/sysdeps/unix/sysv/linux/ia64/sysdep.S
@@ -30,7 +30,7 @@ ENTRY(__syscall_error)
* be fine. Otherwise, we would have to first load the global
* pointer register from __gp.
*/
- addl r2=@gprel(errno),gp
+ addl r2=@gprel(rtld_errno),gp
;;
st4 [r2]=r8
mov r8=-1
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h
index 234ce32f4f..091dfc9c7d 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep.h
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h
@@ -98,7 +98,7 @@
# if RTLD_PRIVATE_ERRNO
# define SYSCALL_ERROR_HANDLER \
SYSCALL_ERROR_LABEL: \
- lea (errno, %pc), %a0; \
+ lea (rtld_errno, %pc), %a0; \
neg.l %d0; \
move.l %d0, (%a0); \
move.l &-1, %d0; \
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
index 1aad4ab164..2a1dad0695 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S
@@ -82,7 +82,7 @@ ENTRY(__syscall_error)
st %r2,0(%r1)
lhi %r2,-1
br %r14
-1: .long errno - 0b
+1: .long rtld_errno - 0b
# elif USE___THREAD
# ifndef NOT_IN_libc
# define SYSCALL_ERROR_ERRNO __libc_errno
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
index 55a2cd7443..ad3cde6a66 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
@@ -97,7 +97,7 @@
st %r2,0(%r1); \
lhi %r2,-1; \
br %r14; \
-2: .long errno-1b
+2: .long rtld_errno-1b
# elif defined _LIBC_REENTRANT
# if USE___THREAD
# ifndef NOT_IN_libc
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
index 4299257afa..bb61e894f1 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S
@@ -74,7 +74,7 @@ ENTRY(__syscall_error)
#endif
#else
# if RTLD_PRIVATE_ERRNO
- larl %r1,errno
+ larl %r1,rtld_errno
lcr %r2,%r2
st %r2,0(%r1)
lghi %r2,-1
@@ -100,7 +100,7 @@ ENTRY(__syscall_error)
lcr %r2,%r2
st %r2,0(%r1)
lghi %r2,-1
- br %r14
+ br %r14
# else
stmg %r13,%r15,104(%r15)
cfi_offset (%r15,-40)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
index c7f3a03f26..45e701e7a4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
@@ -101,7 +101,7 @@
# if RTLD_PRIVATE_ERRNO
# define SYSCALL_ERROR_LABEL 0f
# define SYSCALL_ERROR_HANDLER \
-0: larl %r1,errno; \
+0: larl %r1,rtld_errno; \
lcr %r2,%r2; \
st %r2,0(%r1); \
lghi %r2,-1; \
diff --git a/sysdeps/unix/sysv/linux/sh/sysdep.h b/sysdeps/unix/sysv/linux/sh/sysdep.h
index aeec279de0..d56ec454f9 100644
--- a/sysdeps/unix/sysv/linux/sh/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sh/sysdep.h
@@ -1,5 +1,5 @@
-/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
- 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1992,1993,1995,1996,1997,1998,1999,2000,2002,2003,2004
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995.
Changed by Kaz Kojima, <kkojima@rr.iij4u.or.jp>.
@@ -109,7 +109,7 @@
mov _IMM1,r0; \
.align 2; \
0: .long _GLOBAL_OFFSET_TABLE_; \
- 1: .long errno@GOTOFF
+ 1: .long rtld_errno@GOTOFF
# elif defined _LIBC_REENTRANT
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
index 67cb32645b..29c5158b9f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
@@ -83,7 +83,7 @@ SYSCALL_ERROR_HANDLER_ENTRY(__syscall_error_handler) \
sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %l7; \
call __sparc_get_pic_l7; \
add %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7; \
- ld [%l7 + errno], %l0; \
+ ld [%l7 + rtld_errno], %l0; \
st %i0, [%l0]; \
jmpl %i7+8, %g0; \
restore %g0, -1, %o0; \
diff --git a/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
index 56e4422a73..fd92d7ae16 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sysdep.h
@@ -118,7 +118,7 @@
#elif RTLD_PRIVATE_ERRNO
# define SYSCALL_ERROR_HANDLER \
0: \
- leaq errno(%rip), %rcx; \
+ leaq rtld_errno(%rip), %rcx; \
xorq %rdx, %rdx; \
subq %rax, %rdx; \
movl %edx, (%rcx); \
diff --git a/sysdeps/unix/x86_64/sysdep.S b/sysdeps/unix/x86_64/sysdep.S
index d2c3d0916c..0d0d715052 100644
--- a/sysdeps/unix/x86_64/sysdep.S
+++ b/sysdeps/unix/x86_64/sysdep.S
@@ -67,7 +67,7 @@ notb:
# endif
#else
# if RTLD_PRIVATE_ERRNO
- leaq errno(%rip), %rcx
+ leaq rtld_errno(%rip), %rcx
movl %eax, (%rcx)
# elif !defined _LIBC_REENTRANT
movq C_SYMBOL_NAME(errno)@GOTPCREL(%rip), %rcx