]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20051220T1028
authorJakub Jelinek <jakub@redhat.com>
Tue, 20 Dec 2005 10:50:52 +0000 (10:50 +0000)
committerJakub Jelinek <jakub@redhat.com>
Tue, 20 Dec 2005 10:50:52 +0000 (10:50 +0000)
43 files changed:
ChangeLog
fedora/branch.mk
fedora/glibc.spec.in
io/xmknodat.c
locale/Makefile
locale/programs/charmap-kw.h
locale/programs/locfile-kw.h
misc/futimesat.c
nptl/ChangeLog
nptl/sysdeps/ia64/tls.h
nptl/sysdeps/powerpc/tcb-offsets.sym
nptl/sysdeps/powerpc/tls.h
nptl/sysdeps/s390/tcb-offsets.sym
nptl/sysdeps/s390/tls.h
nptl/sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S
stdio-common/renameat.c
sysdeps/gnu/Makefile
sysdeps/powerpc/powerpc32/__longjmp-common.S
sysdeps/powerpc/powerpc32/setjmp-common.S
sysdeps/powerpc/powerpc64/__longjmp-common.S
sysdeps/powerpc/powerpc64/setjmp-common.S
sysdeps/s390/s390-32/__longjmp.c
sysdeps/s390/s390-32/elf/setjmp.S
sysdeps/s390/s390-32/setjmp.S
sysdeps/s390/s390-64/__longjmp.c
sysdeps/s390/s390-64/elf/setjmp.S
sysdeps/s390/s390-64/setjmp.S
sysdeps/unix/sysv/linux/i386/syscalls.list
sysdeps/unix/sysv/linux/ia64/__longjmp.S
sysdeps/unix/sysv/linux/ia64/setjmp.S
sysdeps/unix/sysv/linux/ia64/sysdep.h
sysdeps/unix/sysv/linux/internal_statvfs.c
sysdeps/unix/sysv/linux/linux_fsinfo.h
sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
sysdeps/unix/sysv/linux/s390/s390-64/socket.S
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
sysdeps/unix/sysv/linux/s390/sys/user.h
sysdeps/unix/sysv/linux/sparc/sparc32/socket.S
sysdeps/unix/sysv/linux/sparc/sparc64/socket.S
sysdeps/unix/sysv/linux/time.c [new file with mode: 0644]
timezone/zic.c

index 54801f90f975f71a48230db366677d8520207588..d409260f9e5fe5933ceb687e0423b61eaeca957e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,79 @@
+2005-12-19  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #1955]
+       * timezone/zic.c (tofile;): Fix typo in symlink creation.
+       Patch by Phil Estes <pestes@us.ibm.com>.
+
+       [BZ #1952]
+       * sysdeps/unix/sysv/linux/time.c: New file.
+       * sysdeps/unix/sysv/linux/i386/syscalls.list: Remove time entry.
+
+2005-12-15  Thomas Schwinge  <tschwinge@gnu.org>
+
+       * io/xmknodat.c: Include <stddef.h>.
+       * misc/futimesat.c: Remove weak_alias and correct stub_warning.
+       * stdio-common/renameat.c (renameat): Fix typo.
+
+2005-12-16  Thorsten Kukuk  <kukuk@suse.de>
+
+       [BZ #1978]
+       * sysdeps/unix/sysv/linux/internal_statvfs.c (__statvfs_getflags):
+       Map more filesystem types to a string.
+       * sysdeps/unix/sysv/linux/linux_fsinfo.h: Add SYSFS_MAGIC.
+
+2005-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * locale/Makefile (programs/%-kw.h): Run $(GPERF) inside of the
+       programs subdirectory.
+
+       * sysdeps/powerpc/powerpc32/__longjmp-common.S (__longjmp): Use
+       PTR_DEMANGLE for PC if defined.
+       * sysdeps/powerpc/powerpc64/__longjmp-common.S (__longjmp):
+       Likewise.
+       * sysdeps/unix/sysv/linux/ia64/__longjmp.S (__longjmp): Likewise.
+       * sysdeps/s390/s390-32/__longjmp.c (__longjmp): Xor %r14 with
+       THREAD_GET_POINTER_GUARD () if PTR_DEMANGLE is defined.
+       * sysdeps/s390/s390-64/__longjmp.c (__longjmp): Likewise.
+       * sysdeps/powerpc/powerpc32/setjmp-common.S (__sigsetjmp): Use
+       PTR_MANGLE for PC if defined.
+       * sysdeps/powerpc/powerpc64/setjmp-common.S (__sigsetjmp): Likewise.
+       * sysdeps/s390/s390-32/setjmp.S (__sigsetjmp): Likewise.
+       Avoid call to __sigjmp_save if IS_IN_rtld.
+       * sysdeps/s390/s390-32/elf/setjmp.S (__sigsetjmp): Likewise.
+       * sysdeps/s390/s390-64/setjmp.S (__sigsetjmp): Likewise.
+       * sysdeps/s390/s390-64/elf/setjmp.S (__sigsetjmp): Likewise.
+       * sysdeps/unix/sysv/linux/ia64/setjmp.S (__sigsetjmp): Likewise.
+       * sysdeps/unix/sysv/linux/ia64/sysdep.h (PTR_MANGLE, PTR_DEMANGLE):
+       Define.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Include tls.h.
+       (PTR_MANGLE, PTR_DEMANGLE): Define.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Include tls.h
+       (PTR_MANGLE, PTR_DEMANGLE): Define.
+       * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Include tls.h.
+       (PTR_MANGLE, PTR_DEMANGLE): Define.
+       (SYSCALL_ERROR_HANDLER): Add missing semicolons.
+       * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Include tls.h.
+       (PTR_MANGLE, PTR_DEMANGLE): Define.
+       * sysdeps/unix/sysv/linux/s390/s390-64/socket.S (__socket): Add
+       SYSCALL_ERROR_HANDLER.
+
+2005-12-19  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Handle NO_WEAK_ALIAS.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Likewise.
+       Patch by Clint Adams.
+
+2005-12-16  Martin Schwidefsky  <schwidefsky@de.ibm.com>
+
+       * sysdeps/unix/sysv/linux/s390/sys/user.h: Copy struct user and
+       dependent definitions from the kernel header to sys/user.h and
+       remove the #include of asm/user.h.
+
+2005-12-19  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/gnu/Makefile: Make sure the correct errlist.c file is
+       used when generating errlist-compat.c.
+
 2005-12-18  Ulrich Drepper  <drepper@redhat.com>
 
        * iconv/gconv.c: Demangle pointers before use if necessary.
index 991d75fc73afba3be454a30a986db20da467a054..a8ee5fb21fad7ae597cb0c8f623ca97bbe995911 100644 (file)
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-fc4
-fedora-sync-date := 2005-12-19 10:03 UTC
-fedora-sync-tag := fedora-glibc-20051219T1003
+fedora-sync-date := 2005-12-20 10:28 UTC
+fedora-sync-tag := fedora-glibc-20051220T1028
index 6ea4c95d97e17650a9a63cb48a0db0d0a5730668..212376079e0e82e6c2cb1ced9ab3f2c26461bf17 100644 (file)
@@ -1,4 +1,4 @@
-%define glibcrelease 19
+%define glibcrelease 20
 %define auxarches i586 i686 athlon sparcv9 alphaev6
 %define prelinkarches noarch
 %define xenarches i686 athlon
@@ -432,6 +432,7 @@ exit 0
 EOF
 chmod +x find_provides.sh
 touch `find . -name configure`
+touch locale/programs/*-kw.h
 
 %build
 GCC=gcc
@@ -1073,6 +1074,12 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Tue Dec 20 2005 Jakub Jelinek <jakub@redhat.com> 2.3.90-20
+- update from CVS
+  - time ((void *) 1) should segfault, not return -EFAULT (#174856, BZ#1952)
+  - fix errlist generation
+- update ulps for GCC 4.1
+
 * Mon Dec 19 2005 Jakub Jelinek <jakub@redhat.com> 2.3.90-19
 - update from CVS
   - sysdeps/generic reorg
@@ -1080,6 +1087,9 @@ rm -f *.filelist*
 - rebuilt with GCC 4.1-RH prerelease, worked around broken _Pragma ()
   handling in it
 - remove glibc-profile subpackage
+- use non-PLT calls for malloc/free/realloc/memalign invocations in
+  mtrace and mcheck hooks (#175261)
+- setjmp/longjmp jump pointer mangling on ppc{,64}/ia64/s390{,x}
 
 * Sat Nov 19 2005 Jakub Jelinek <jakub@redhat.com> 2.3.90-18
 - update from CVS
index 56d88c7b0f726ea4e6c7be1ff22477ee92232fda..48dc1b2630e9150c93996025b0fee117b21ed580 100644 (file)
@@ -18,6 +18,7 @@
 
 #include <errno.h>
 #include <fcntl.h>
+#include <stddef.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 
index 2f2d2ba5f1964d7dbe3bd46bcbdb673cc56c150e..d9ab1947e73351a7397228dbb2a9b3884afde772 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1991,1992,1995-2002,2003 Free Software Foundation, Inc.
+# Copyright (C) 1991,1992,1995-2003,2005 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
@@ -72,7 +72,8 @@ GPERFFLAGS = -acCgopt -k1,2,5,9,$$ -L ANSI-C
 include ../Rules
 
 programs/%-kw.h: programs/%-kw.gperf
-       $(GPERF) $(GPERFFLAGS) -N $(@F:-kw.h=_hash) $< > $@.new
+       cd programs \
+       && $(GPERF) $(GPERFFLAGS) -N $(@F:-kw.h=_hash) $(<F) > $(@F).new
        mv -f $@.new $@
 
 $(objpfx)localedef: $(localedef-modules:%=$(objpfx)%.o)
index 25996f4346a8a012475d29bbe2e443933d336000..d7d85774da925184b1ded59a864d1b084b9fc5a0 100644 (file)
@@ -1,5 +1,5 @@
 /* ANSI-C code produced by gperf version 3.0.1 */
-/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N charmap_hash programs/charmap-kw.gperf  */
+/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N charmap_hash charmap-kw.gperf  */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
@@ -28,7 +28,7 @@
 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
 #endif
 
-#line 1 "programs/charmap-kw.gperf"
+#line 1 "charmap-kw.gperf"
 
 /* Copyright (C) 1995,1996,1997,1998,1999,2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
@@ -50,7 +50,7 @@
 #include <string.h>
 
 #include "locfile-token.h"
-#line 23 "programs/charmap-kw.gperf"
+#line 23 "charmap-kw.gperf"
 struct keyword_t ;
 
 #define TOTAL_KEYWORDS 17
@@ -133,45 +133,45 @@ charmap_hash (register const char *str, register unsigned int len)
   static const struct keyword_t wordlist[] =
     {
       {""}, {""}, {""},
-#line 38 "programs/charmap-kw.gperf"
+#line 38 "charmap-kw.gperf"
       {"END",             tok_end,             0},
       {""},
-#line 39 "programs/charmap-kw.gperf"
+#line 39 "charmap-kw.gperf"
       {"WIDTH",           tok_width,           0},
-#line 34 "programs/charmap-kw.gperf"
+#line 34 "charmap-kw.gperf"
       {"escseq",          tok_escseq,          1},
-#line 36 "programs/charmap-kw.gperf"
+#line 36 "charmap-kw.gperf"
       {"include",         tok_include,         1},
       {""}, {""},
-#line 27 "programs/charmap-kw.gperf"
+#line 27 "charmap-kw.gperf"
       {"mb_cur_min",      tok_mb_cur_min,      1},
-#line 28 "programs/charmap-kw.gperf"
+#line 28 "charmap-kw.gperf"
       {"escape_char",     tok_escape_char,     1},
-#line 29 "programs/charmap-kw.gperf"
+#line 29 "charmap-kw.gperf"
       {"comment_char",    tok_comment_char,    1},
-#line 25 "programs/charmap-kw.gperf"
+#line 25 "charmap-kw.gperf"
       {"code_set_name",   tok_code_set_name,   1},
-#line 40 "programs/charmap-kw.gperf"
+#line 40 "charmap-kw.gperf"
       {"WIDTH_VARIABLE",  tok_width_variable,  0},
-#line 26 "programs/charmap-kw.gperf"
+#line 26 "charmap-kw.gperf"
       {"mb_cur_max",      tok_mb_cur_max,      1},
-#line 35 "programs/charmap-kw.gperf"
+#line 35 "charmap-kw.gperf"
       {"addset",          tok_addset,          1},
-#line 37 "programs/charmap-kw.gperf"
+#line 37 "charmap-kw.gperf"
       {"CHARMAP",         tok_charmap,         0},
-#line 41 "programs/charmap-kw.gperf"
+#line 41 "charmap-kw.gperf"
       {"WIDTH_DEFAULT",   tok_width_default,   0},
       {""},
-#line 33 "programs/charmap-kw.gperf"
+#line 33 "charmap-kw.gperf"
       {"g3esc",           tok_g3esc,           1},
       {""}, {""}, {""}, {""},
-#line 32 "programs/charmap-kw.gperf"
+#line 32 "charmap-kw.gperf"
       {"g2esc",           tok_g2esc,           1},
       {""}, {""}, {""}, {""},
-#line 31 "programs/charmap-kw.gperf"
+#line 31 "charmap-kw.gperf"
       {"g1esc",           tok_g1esc,           1},
       {""}, {""}, {""}, {""},
-#line 30 "programs/charmap-kw.gperf"
+#line 30 "charmap-kw.gperf"
       {"g0esc",           tok_g0esc,           1}
     };
 
index 8692b0936c703ed10e43c1272111e281f1d84e3c..6ec2134cdd0fe9cb3e3933366e8b05081d75d453 100644 (file)
@@ -1,5 +1,5 @@
 /* ANSI-C code produced by gperf version 3.0.1 */
-/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash programs/locfile-kw.gperf  */
+/* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf  */
 
 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
@@ -28,7 +28,7 @@
 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
 #endif
 
-#line 1 "programs/locfile-kw.gperf"
+#line 1 "locfile-kw.gperf"
 
 /* Copyright (C) 1996,1997,1998,1999,2000,2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
@@ -50,7 +50,7 @@
 #include <string.h>
 
 #include "locfile-token.h"
-#line 23 "programs/locfile-kw.gperf"
+#line 23 "locfile-kw.gperf"
 struct keyword_t ;
 
 #define TOTAL_KEYWORDS 175
@@ -133,457 +133,457 @@ locfile_hash (register const char *str, register unsigned int len)
   static const struct keyword_t wordlist[] =
     {
       {""}, {""}, {""},
-#line 30 "programs/locfile-kw.gperf"
+#line 30 "locfile-kw.gperf"
       {"END",                    tok_end,                    0},
       {""}, {""},
-#line 69 "programs/locfile-kw.gperf"
+#line 69 "locfile-kw.gperf"
       {"IGNORE",                 tok_ignore,                 0},
-#line 127 "programs/locfile-kw.gperf"
+#line 127 "locfile-kw.gperf"
       {"LC_TIME",                tok_lc_time,                0},
-#line 29 "programs/locfile-kw.gperf"
+#line 29 "locfile-kw.gperf"
       {"LC_CTYPE",               tok_lc_ctype,               0},
       {""},
-#line 164 "programs/locfile-kw.gperf"
+#line 164 "locfile-kw.gperf"
       {"LC_ADDRESS",             tok_lc_address,             0},
-#line 149 "programs/locfile-kw.gperf"
+#line 149 "locfile-kw.gperf"
       {"LC_MESSAGES",            tok_lc_messages,            0},
-#line 157 "programs/locfile-kw.gperf"
+#line 157 "locfile-kw.gperf"
       {"LC_NAME",                tok_lc_name,                0},
-#line 154 "programs/locfile-kw.gperf"
+#line 154 "locfile-kw.gperf"
       {"LC_PAPER",               tok_lc_paper,               0},
-#line 182 "programs/locfile-kw.gperf"
+#line 182 "locfile-kw.gperf"
       {"LC_MEASUREMENT",         tok_lc_measurement,         0},
-#line 55 "programs/locfile-kw.gperf"
+#line 55 "locfile-kw.gperf"
       {"LC_COLLATE",             tok_lc_collate,             0},
       {""},
-#line 184 "programs/locfile-kw.gperf"
+#line 184 "locfile-kw.gperf"
       {"LC_IDENTIFICATION",      tok_lc_identification,      0},
-#line 197 "programs/locfile-kw.gperf"
+#line 197 "locfile-kw.gperf"
       {"revision",               tok_revision,               0},
-#line 68 "programs/locfile-kw.gperf"
+#line 68 "locfile-kw.gperf"
       {"UNDEFINED",              tok_undefined,              0},
-#line 123 "programs/locfile-kw.gperf"
+#line 123 "locfile-kw.gperf"
       {"LC_NUMERIC",             tok_lc_numeric,             0},
-#line 80 "programs/locfile-kw.gperf"
+#line 80 "locfile-kw.gperf"
       {"LC_MONETARY",            tok_lc_monetary,            0},
-#line 177 "programs/locfile-kw.gperf"
+#line 177 "locfile-kw.gperf"
       {"LC_TELEPHONE",           tok_lc_telephone,           0},
       {""},
-#line 130 "programs/locfile-kw.gperf"
+#line 130 "locfile-kw.gperf"
       {"week",                   tok_week,                   0},
       {""},
-#line 74 "programs/locfile-kw.gperf"
+#line 74 "locfile-kw.gperf"
       {"define",                 tok_define,                 0},
-#line 150 "programs/locfile-kw.gperf"
+#line 150 "locfile-kw.gperf"
       {"yesexpr",                tok_yesexpr,                0},
-#line 139 "programs/locfile-kw.gperf"
+#line 139 "locfile-kw.gperf"
       {"era_year",               tok_era_year,               0},
       {""},
-#line 53 "programs/locfile-kw.gperf"
+#line 53 "locfile-kw.gperf"
       {"translit_ignore",        tok_translit_ignore,        0},
-#line 152 "programs/locfile-kw.gperf"
+#line 152 "locfile-kw.gperf"
       {"yesstr",                 tok_yesstr,                 0},
       {""},
-#line 87 "programs/locfile-kw.gperf"
+#line 87 "locfile-kw.gperf"
       {"negative_sign",          tok_negative_sign,          0},
       {""},
-#line 135 "programs/locfile-kw.gperf"
+#line 135 "locfile-kw.gperf"
       {"t_fmt",                  tok_t_fmt,                  0},
-#line 155 "programs/locfile-kw.gperf"
+#line 155 "locfile-kw.gperf"
       {"height",                 tok_height,                 0},
       {""}, {""},
-#line 51 "programs/locfile-kw.gperf"
+#line 51 "locfile-kw.gperf"
       {"translit_start",         tok_translit_start,         0},
-#line 134 "programs/locfile-kw.gperf"
+#line 134 "locfile-kw.gperf"
       {"d_fmt",                  tok_d_fmt,                  0},
       {""},
-#line 52 "programs/locfile-kw.gperf"
+#line 52 "locfile-kw.gperf"
       {"translit_end",           tok_translit_end,           0},
-#line 92 "programs/locfile-kw.gperf"
+#line 92 "locfile-kw.gperf"
       {"n_cs_precedes",          tok_n_cs_precedes,          0},
-#line 142 "programs/locfile-kw.gperf"
+#line 142 "locfile-kw.gperf"
       {"era_t_fmt",              tok_era_t_fmt,              0},
-#line 38 "programs/locfile-kw.gperf"
+#line 38 "locfile-kw.gperf"
       {"space",                  tok_space,                  0},
-#line 71 "programs/locfile-kw.gperf"
+#line 71 "locfile-kw.gperf"
       {"reorder-end",            tok_reorder_end,            0},
-#line 72 "programs/locfile-kw.gperf"
+#line 72 "locfile-kw.gperf"
       {"reorder-sections-after", tok_reorder_sections_after, 0},
       {""},
-#line 140 "programs/locfile-kw.gperf"
+#line 140 "locfile-kw.gperf"
       {"era_d_fmt",              tok_era_d_fmt,              0},
-#line 185 "programs/locfile-kw.gperf"
+#line 185 "locfile-kw.gperf"
       {"title",                  tok_title,                  0},
       {""}, {""},
-#line 147 "programs/locfile-kw.gperf"
+#line 147 "locfile-kw.gperf"
       {"timezone",               tok_timezone,               0},
       {""},
-#line 73 "programs/locfile-kw.gperf"
+#line 73 "locfile-kw.gperf"
       {"reorder-sections-end",   tok_reorder_sections_end,   0},
       {""}, {""}, {""},
-#line 93 "programs/locfile-kw.gperf"
+#line 93 "locfile-kw.gperf"
       {"n_sep_by_space",         tok_n_sep_by_space,         0},
       {""}, {""},
-#line 98 "programs/locfile-kw.gperf"
+#line 98 "locfile-kw.gperf"
       {"int_n_cs_precedes",      tok_int_n_cs_precedes,      0},
       {""}, {""}, {""},
-#line 25 "programs/locfile-kw.gperf"
+#line 25 "locfile-kw.gperf"
       {"escape_char",            tok_escape_char,            0},
       {""},
-#line 27 "programs/locfile-kw.gperf"
+#line 27 "locfile-kw.gperf"
       {"repertoiremap",          tok_repertoiremap,          0},
-#line 45 "programs/locfile-kw.gperf"
+#line 45 "locfile-kw.gperf"
       {"charclass",              tok_charclass,              0},
-#line 42 "programs/locfile-kw.gperf"
+#line 42 "locfile-kw.gperf"
       {"print",                  tok_print,                  0},
-#line 43 "programs/locfile-kw.gperf"
+#line 43 "locfile-kw.gperf"
       {"xdigit",                 tok_xdigit,                 0},
-#line 108 "programs/locfile-kw.gperf"
+#line 108 "locfile-kw.gperf"
       {"duo_n_cs_precedes",      tok_duo_n_cs_precedes,      0},
-#line 125 "programs/locfile-kw.gperf"
+#line 125 "locfile-kw.gperf"
       {"thousands_sep",          tok_thousands_sep,          0},
-#line 193 "programs/locfile-kw.gperf"
+#line 193 "locfile-kw.gperf"
       {"territory",              tok_territory,              0},
-#line 35 "programs/locfile-kw.gperf"
+#line 35 "locfile-kw.gperf"
       {"digit",                  tok_digit,                  0},
       {""}, {""},
-#line 90 "programs/locfile-kw.gperf"
+#line 90 "locfile-kw.gperf"
       {"p_cs_precedes",          tok_p_cs_precedes,          0},
       {""},
-#line 156 "programs/locfile-kw.gperf"
+#line 156 "locfile-kw.gperf"
       {"width",                  tok_width,                  0},
-#line 61 "programs/locfile-kw.gperf"
+#line 61 "locfile-kw.gperf"
       {"script",                 tok_script,                 0},
-#line 28 "programs/locfile-kw.gperf"
+#line 28 "locfile-kw.gperf"
       {"include",                tok_include,                0},
       {""},
-#line 77 "programs/locfile-kw.gperf"
+#line 77 "locfile-kw.gperf"
       {"else",                   tok_else,                   0},
-#line 180 "programs/locfile-kw.gperf"
+#line 180 "locfile-kw.gperf"
       {"int_select",             tok_int_select,             0},
       {""}, {""}, {""}, {""},
-#line 32 "programs/locfile-kw.gperf"
+#line 32 "locfile-kw.gperf"
       {"upper",                  tok_upper,                  0},
       {""}, {""},
-#line 190 "programs/locfile-kw.gperf"
+#line 190 "locfile-kw.gperf"
       {"tel",                    tok_tel,                    0},
-#line 91 "programs/locfile-kw.gperf"
+#line 91 "locfile-kw.gperf"
       {"p_sep_by_space",         tok_p_sep_by_space,         0},
       {""}, {""},
-#line 96 "programs/locfile-kw.gperf"
+#line 96 "locfile-kw.gperf"
       {"int_p_cs_precedes",      tok_int_p_cs_precedes,      0},
       {""}, {""},
-#line 40 "programs/locfile-kw.gperf"
+#line 40 "locfile-kw.gperf"
       {"punct",                  tok_punct,                  0},
       {""}, {""},
-#line 99 "programs/locfile-kw.gperf"
+#line 99 "locfile-kw.gperf"
       {"int_n_sep_by_space",     tok_int_n_sep_by_space,     0},
       {""}, {""}, {""},
-#line 106 "programs/locfile-kw.gperf"
+#line 106 "locfile-kw.gperf"
       {"duo_p_cs_precedes",      tok_duo_p_cs_precedes,      0},
       {""}, {""},
-#line 46 "programs/locfile-kw.gperf"
+#line 46 "locfile-kw.gperf"
       {"class",                  tok_class,                  0},
-#line 112 "programs/locfile-kw.gperf"
+#line 112 "locfile-kw.gperf"
       {"duo_int_n_cs_precedes",  tok_duo_int_n_cs_precedes,  0},
-#line 113 "programs/locfile-kw.gperf"
+#line 113 "locfile-kw.gperf"
       {"duo_int_n_sep_by_space", tok_duo_int_n_sep_by_space, 0},
-#line 109 "programs/locfile-kw.gperf"
+#line 109 "locfile-kw.gperf"
       {"duo_n_sep_by_space",     tok_duo_n_sep_by_space,     0},
-#line 117 "programs/locfile-kw.gperf"
+#line 117 "locfile-kw.gperf"
       {"duo_int_n_sign_posn",    tok_duo_int_n_sign_posn,    0},
       {""}, {""}, {""},
-#line 47 "programs/locfile-kw.gperf"
+#line 47 "locfile-kw.gperf"
       {"charconv",               tok_charconv,               0},
       {""}, {""},
-#line 183 "programs/locfile-kw.gperf"
+#line 183 "locfile-kw.gperf"
       {"measurement",            tok_measurement,            0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 57 "programs/locfile-kw.gperf"
+#line 57 "locfile-kw.gperf"
       {"section-symbol",         tok_section_symbol,         0},
-#line 181 "programs/locfile-kw.gperf"
+#line 181 "locfile-kw.gperf"
       {"int_prefix",             tok_int_prefix,             0},
       {""}, {""}, {""}, {""},
-#line 137 "programs/locfile-kw.gperf"
+#line 137 "locfile-kw.gperf"
       {"t_fmt_ampm",             tok_t_fmt_ampm,             0},
       {""}, {""},
-#line 97 "programs/locfile-kw.gperf"
+#line 97 "locfile-kw.gperf"
       {"int_p_sep_by_space",     tok_int_p_sep_by_space,     0},
       {""},
-#line 41 "programs/locfile-kw.gperf"
+#line 41 "locfile-kw.gperf"
       {"graph",                  tok_graph,                  0},
       {""}, {""},
-#line 124 "programs/locfile-kw.gperf"
+#line 124 "locfile-kw.gperf"
       {"decimal_point",          tok_decimal_point,          0},
       {""}, {""},
-#line 110 "programs/locfile-kw.gperf"
+#line 110 "locfile-kw.gperf"
       {"duo_int_p_cs_precedes",  tok_duo_int_p_cs_precedes,  0},
-#line 111 "programs/locfile-kw.gperf"
+#line 111 "locfile-kw.gperf"
       {"duo_int_p_sep_by_space", tok_duo_int_p_sep_by_space, 0},
-#line 107 "programs/locfile-kw.gperf"
+#line 107 "locfile-kw.gperf"
       {"duo_p_sep_by_space",     tok_duo_p_sep_by_space,     0},
-#line 116 "programs/locfile-kw.gperf"
+#line 116 "locfile-kw.gperf"
       {"duo_int_p_sign_posn",    tok_duo_int_p_sign_posn,    0},
-#line 153 "programs/locfile-kw.gperf"
+#line 153 "locfile-kw.gperf"
       {"nostr",                  tok_nostr,                  0},
       {""}, {""},
-#line 138 "programs/locfile-kw.gperf"
+#line 138 "locfile-kw.gperf"
       {"era",                    tok_era,                    0},
       {""},
-#line 82 "programs/locfile-kw.gperf"
+#line 82 "locfile-kw.gperf"
       {"currency_symbol",        tok_currency_symbol,        0},
       {""},
-#line 163 "programs/locfile-kw.gperf"
+#line 163 "locfile-kw.gperf"
       {"name_ms",                tok_name_ms,                0},
-#line 161 "programs/locfile-kw.gperf"
+#line 161 "locfile-kw.gperf"
       {"name_mrs",               tok_name_mrs,               0},
-#line 162 "programs/locfile-kw.gperf"
+#line 162 "locfile-kw.gperf"
       {"name_miss",              tok_name_miss,              0},
-#line 81 "programs/locfile-kw.gperf"
+#line 81 "locfile-kw.gperf"
       {"int_curr_symbol",        tok_int_curr_symbol,        0},
-#line 186 "programs/locfile-kw.gperf"
+#line 186 "locfile-kw.gperf"
       {"source",                 tok_source,                 0},
-#line 160 "programs/locfile-kw.gperf"
+#line 160 "locfile-kw.gperf"
       {"name_mr",                tok_name_mr,                0},
-#line 159 "programs/locfile-kw.gperf"
+#line 159 "locfile-kw.gperf"
       {"name_gen",               tok_name_gen,               0},
-#line 198 "programs/locfile-kw.gperf"
+#line 198 "locfile-kw.gperf"
       {"date",                   tok_date,                   0},
       {""}, {""},
-#line 187 "programs/locfile-kw.gperf"
+#line 187 "locfile-kw.gperf"
       {"address",                tok_address,                0},
-#line 158 "programs/locfile-kw.gperf"
+#line 158 "locfile-kw.gperf"
       {"name_fmt",               tok_name_fmt,               0},
-#line 31 "programs/locfile-kw.gperf"
+#line 31 "locfile-kw.gperf"
       {"copy",                   tok_copy,                   0},
       {""}, {""},
-#line 49 "programs/locfile-kw.gperf"
+#line 49 "locfile-kw.gperf"
       {"tolower",                tok_tolower,                0},
-#line 129 "programs/locfile-kw.gperf"
+#line 129 "locfile-kw.gperf"
       {"day",                    tok_day,                    0},
-#line 103 "programs/locfile-kw.gperf"
+#line 103 "locfile-kw.gperf"
       {"duo_currency_symbol",    tok_duo_currency_symbol,    0},
-#line 101 "programs/locfile-kw.gperf"
+#line 101 "locfile-kw.gperf"
       {"int_n_sign_posn",        tok_int_n_sign_posn,        0},
       {""}, {""},
-#line 148 "programs/locfile-kw.gperf"
+#line 148 "locfile-kw.gperf"
       {"date_fmt",               tok_date_fmt,               0},
-#line 63 "programs/locfile-kw.gperf"
+#line 63 "locfile-kw.gperf"
       {"order_end",              tok_order_end,              0},
       {""}, {""},
-#line 166 "programs/locfile-kw.gperf"
+#line 166 "locfile-kw.gperf"
       {"country_name",           tok_country_name,           0},
-#line 70 "programs/locfile-kw.gperf"
+#line 70 "locfile-kw.gperf"
       {"reorder-after",          tok_reorder_after,          0},
-#line 118 "programs/locfile-kw.gperf"
+#line 118 "locfile-kw.gperf"
       {"uno_valid_from",         tok_uno_valid_from,         0},
-#line 115 "programs/locfile-kw.gperf"
+#line 115 "locfile-kw.gperf"
       {"duo_n_sign_posn",        tok_duo_n_sign_posn,        0},
-#line 151 "programs/locfile-kw.gperf"
+#line 151 "locfile-kw.gperf"
       {"noexpr",                 tok_noexpr,                 0},
       {""},
-#line 194 "programs/locfile-kw.gperf"
+#line 194 "locfile-kw.gperf"
       {"audience",               tok_audience,               0},
       {""},
-#line 44 "programs/locfile-kw.gperf"
+#line 44 "locfile-kw.gperf"
       {"blank",                  tok_blank,                  0},
       {""},
-#line 48 "programs/locfile-kw.gperf"
+#line 48 "locfile-kw.gperf"
       {"toupper",                tok_toupper,                0},
-#line 67 "programs/locfile-kw.gperf"
+#line 67 "locfile-kw.gperf"
       {"position",               tok_position,               0},
-#line 120 "programs/locfile-kw.gperf"
+#line 120 "locfile-kw.gperf"
       {"duo_valid_from",         tok_duo_valid_from,         0},
-#line 39 "programs/locfile-kw.gperf"
+#line 39 "locfile-kw.gperf"
       {"cntrl",                  tok_cntrl,                  0},
       {""},
-#line 26 "programs/locfile-kw.gperf"
+#line 26 "locfile-kw.gperf"
       {"comment_char",           tok_comment_char,           0},
-#line 86 "programs/locfile-kw.gperf"
+#line 86 "locfile-kw.gperf"
       {"positive_sign",          tok_positive_sign,          0},
       {""}, {""}, {""}, {""},
-#line 132 "programs/locfile-kw.gperf"
+#line 132 "locfile-kw.gperf"
       {"mon",                    tok_mon,                    0},
       {""}, {""},
-#line 171 "programs/locfile-kw.gperf"
+#line 171 "locfile-kw.gperf"
       {"country_car",            tok_country_car,            0},
       {""},
-#line 60 "programs/locfile-kw.gperf"
+#line 60 "locfile-kw.gperf"
       {"symbol-equivalence",     tok_symbol_equivalence,     0},
-#line 102 "programs/locfile-kw.gperf"
+#line 102 "locfile-kw.gperf"
       {"duo_int_curr_symbol",    tok_duo_int_curr_symbol,    0},
-#line 100 "programs/locfile-kw.gperf"
+#line 100 "locfile-kw.gperf"
       {"int_p_sign_posn",        tok_int_p_sign_posn,        0},
       {""}, {""}, {""}, {""}, {""}, {""},
-#line 172 "programs/locfile-kw.gperf"
+#line 172 "locfile-kw.gperf"
       {"country_isbn",           tok_country_isbn,           0},
-#line 36 "programs/locfile-kw.gperf"
+#line 36 "locfile-kw.gperf"
       {"outdigit",               tok_outdigit,               0},
       {""},
-#line 114 "programs/locfile-kw.gperf"
+#line 114 "locfile-kw.gperf"
       {"duo_p_sign_posn",        tok_duo_p_sign_posn,        0},
       {""},
-#line 133 "programs/locfile-kw.gperf"
+#line 133 "locfile-kw.gperf"
       {"d_t_fmt",                tok_d_t_fmt,                0},
       {""}, {""},
-#line 33 "programs/locfile-kw.gperf"
+#line 33 "locfile-kw.gperf"
       {"lower",                  tok_lower,                  0},
       {""},
-#line 167 "programs/locfile-kw.gperf"
+#line 167 "locfile-kw.gperf"
       {"country_post",           tok_country_post,           0},
-#line 146 "programs/locfile-kw.gperf"
+#line 146 "locfile-kw.gperf"
       {"cal_direction",          tok_cal_direction,          0},
       {""},
-#line 189 "programs/locfile-kw.gperf"
+#line 189 "locfile-kw.gperf"
       {"email",                  tok_email,                  0},
-#line 141 "programs/locfile-kw.gperf"
+#line 141 "locfile-kw.gperf"
       {"era_d_t_fmt",            tok_era_d_t_fmt,            0},
       {""}, {""},
-#line 173 "programs/locfile-kw.gperf"
+#line 173 "locfile-kw.gperf"
       {"lang_name",              tok_lang_name,              0},
       {""},
-#line 179 "programs/locfile-kw.gperf"
+#line 179 "locfile-kw.gperf"
       {"tel_dom_fmt",            tok_tel_dom_fmt,            0},
       {""}, {""}, {""},
-#line 54 "programs/locfile-kw.gperf"
+#line 54 "locfile-kw.gperf"
       {"default_missing",        tok_default_missing,        0},
-#line 89 "programs/locfile-kw.gperf"
+#line 89 "locfile-kw.gperf"
       {"frac_digits",            tok_frac_digits,            0},
       {""}, {""}, {""},
-#line 88 "programs/locfile-kw.gperf"
+#line 88 "locfile-kw.gperf"
       {"int_frac_digits",        tok_int_frac_digits,        0},
-#line 170 "programs/locfile-kw.gperf"
+#line 170 "locfile-kw.gperf"
       {"country_num",            tok_country_num,            0},
-#line 119 "programs/locfile-kw.gperf"
+#line 119 "locfile-kw.gperf"
       {"uno_valid_to",           tok_uno_valid_to,           0},
       {""}, {""}, {""}, {""}, {""},
-#line 50 "programs/locfile-kw.gperf"
+#line 50 "locfile-kw.gperf"
       {"map",                    tok_map,                    0},
       {""},
-#line 105 "programs/locfile-kw.gperf"
+#line 105 "locfile-kw.gperf"
       {"duo_frac_digits",        tok_duo_frac_digits,        0},
-#line 178 "programs/locfile-kw.gperf"
+#line 178 "locfile-kw.gperf"
       {"tel_int_fmt",            tok_tel_int_fmt,            0},
-#line 121 "programs/locfile-kw.gperf"
+#line 121 "locfile-kw.gperf"
       {"duo_valid_to",           tok_duo_valid_to,           0},
-#line 144 "programs/locfile-kw.gperf"
+#line 144 "locfile-kw.gperf"
       {"first_weekday",          tok_first_weekday,          0},
       {""},
-#line 143 "programs/locfile-kw.gperf"
+#line 143 "locfile-kw.gperf"
       {"alt_digits",             tok_alt_digits,             0},
-#line 95 "programs/locfile-kw.gperf"
+#line 95 "locfile-kw.gperf"
       {"n_sign_posn",            tok_n_sign_posn,            0},
-#line 84 "programs/locfile-kw.gperf"
+#line 84 "locfile-kw.gperf"
       {"mon_thousands_sep",      tok_mon_thousands_sep,      0},
-#line 145 "programs/locfile-kw.gperf"
+#line 145 "locfile-kw.gperf"
       {"first_workday",          tok_first_workday,          0},
-#line 64 "programs/locfile-kw.gperf"
+#line 64 "locfile-kw.gperf"
       {"from",                   tok_from,                   0},
-#line 131 "programs/locfile-kw.gperf"
+#line 131 "locfile-kw.gperf"
       {"abmon",                  tok_abmon,                  0},
       {""}, {""},
-#line 192 "programs/locfile-kw.gperf"
+#line 192 "locfile-kw.gperf"
       {"language",               tok_language,               0},
       {""}, {""},
-#line 195 "programs/locfile-kw.gperf"
+#line 195 "locfile-kw.gperf"
       {"application",            tok_application,            0},
       {""},
-#line 126 "programs/locfile-kw.gperf"
+#line 126 "locfile-kw.gperf"
       {"grouping",               tok_grouping,               0},
-#line 78 "programs/locfile-kw.gperf"
+#line 78 "locfile-kw.gperf"
       {"elif",                   tok_elif,                   0},
-#line 128 "programs/locfile-kw.gperf"
+#line 128 "locfile-kw.gperf"
       {"abday",                  tok_abday,                  0},
       {""},
-#line 196 "programs/locfile-kw.gperf"
+#line 196 "locfile-kw.gperf"
       {"abbreviation",           tok_abbreviation,           0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 56 "programs/locfile-kw.gperf"
+#line 56 "locfile-kw.gperf"
       {"coll_weight_max",        tok_coll_weight_max,        0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 66 "programs/locfile-kw.gperf"
+#line 66 "locfile-kw.gperf"
       {"backward",               tok_backward,               0},
-#line 104 "programs/locfile-kw.gperf"
+#line 104 "locfile-kw.gperf"
       {"duo_int_frac_digits",    tok_duo_int_frac_digits,    0},
       {""},
-#line 94 "programs/locfile-kw.gperf"
+#line 94 "locfile-kw.gperf"
       {"p_sign_posn",            tok_p_sign_posn,            0},
       {""},
-#line 199 "programs/locfile-kw.gperf"
+#line 199 "locfile-kw.gperf"
       {"category",               tok_category,               0},
       {""},
-#line 122 "programs/locfile-kw.gperf"
+#line 122 "locfile-kw.gperf"
       {"conversion_rate",        tok_conversion_rate,        0},
       {""},
-#line 83 "programs/locfile-kw.gperf"
+#line 83 "locfile-kw.gperf"
       {"mon_decimal_point",      tok_mon_decimal_point,      0},
       {""}, {""}, {""},
-#line 62 "programs/locfile-kw.gperf"
+#line 62 "locfile-kw.gperf"
       {"order_start",            tok_order_start,            0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""},
-#line 188 "programs/locfile-kw.gperf"
+#line 188 "locfile-kw.gperf"
       {"contact",                tok_contact,                0},
       {""}, {""}, {""},
-#line 169 "programs/locfile-kw.gperf"
+#line 169 "locfile-kw.gperf"
       {"country_ab3",            tok_country_ab3,            0},
       {""}, {""}, {""}, {""},
-#line 168 "programs/locfile-kw.gperf"
+#line 168 "locfile-kw.gperf"
       {"country_ab2",            tok_country_ab2,            0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""},
-#line 174 "programs/locfile-kw.gperf"
+#line 174 "locfile-kw.gperf"
       {"lang_ab",                tok_lang_ab,                0},
-#line 176 "programs/locfile-kw.gperf"
+#line 176 "locfile-kw.gperf"
       {"lang_lib",               tok_lang_lib,               0},
       {""}, {""}, {""}, {""},
-#line 191 "programs/locfile-kw.gperf"
+#line 191 "locfile-kw.gperf"
       {"fax",                    tok_fax,                    0},
       {""},
-#line 136 "programs/locfile-kw.gperf"
+#line 136 "locfile-kw.gperf"
       {"am_pm",                  tok_am_pm,                  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""},
-#line 37 "programs/locfile-kw.gperf"
+#line 37 "locfile-kw.gperf"
       {"alnum",                  tok_alnum,                  0},
       {""}, {""}, {""},
-#line 175 "programs/locfile-kw.gperf"
+#line 175 "locfile-kw.gperf"
       {"lang_term",              tok_lang_term,              0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 79 "programs/locfile-kw.gperf"
+#line 79 "locfile-kw.gperf"
       {"endif",                  tok_endif,                  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 165 "programs/locfile-kw.gperf"
+#line 165 "locfile-kw.gperf"
       {"postal_fmt",             tok_postal_fmt,             0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""},
-#line 75 "programs/locfile-kw.gperf"
+#line 75 "locfile-kw.gperf"
       {"undef",                  tok_undef,                  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""},
-#line 58 "programs/locfile-kw.gperf"
+#line 58 "locfile-kw.gperf"
       {"collating-element",      tok_collating_element,      0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""},
-#line 85 "programs/locfile-kw.gperf"
+#line 85 "locfile-kw.gperf"
       {"mon_grouping",           tok_mon_grouping,           0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""},
-#line 65 "programs/locfile-kw.gperf"
+#line 65 "locfile-kw.gperf"
       {"forward",                tok_forward,                0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 59 "programs/locfile-kw.gperf"
+#line 59 "locfile-kw.gperf"
       {"collating-symbol",       tok_collating_symbol,       0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""},
-#line 34 "programs/locfile-kw.gperf"
+#line 34 "locfile-kw.gperf"
       {"alpha",                  tok_alpha,                  0},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
@@ -595,7 +595,7 @@ locfile_hash (register const char *str, register unsigned int len)
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
       {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
-#line 76 "programs/locfile-kw.gperf"
+#line 76 "locfile-kw.gperf"
       {"ifdef",                  tok_ifdef,                  0}
     };
 
index 74ccd876e605cde903ce44e0269a38b4f465bd2c..bf16ce8de063ff9086245b1951676db2aa18e68e 100644 (file)
@@ -42,7 +42,5 @@ futimesat (fd, file, tvp)
   return -1;
 }
 
-weak_alias (__utimes, utimes)
-
-stub_warning (utimes)
+stub_warning (futimesat)
 #include <stub-tag.h>
index 875fceaf337b81e54c28c99c0e6241a983b1f315..2b42d258c9b86db55a408a90910e3c8029705353 100644 (file)
@@ -1,3 +1,19 @@
+2005-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/ia64/tls.h (TLS_PRE_TCB_SIZE): Make room for 2 uintptr_t's
+       rather than one.
+       (THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
+       THREAD_COPY_POINTER_GUARD): Define.
+       * sysdeps/powerpc/tcb-offsets.sym (POINTER_GUARD): Add.
+       * sysdeps/powerpc/tls.h (tcbhead_t): Add pointer_guard field.
+       (THREAD_GET_POINTER_GUARD, THREAD_SET_POINTER_GUARD,
+       THREAD_COPY_POINTER_GUARD): Define.
+       * sysdeps/s390/tcb-offsets.sym (STACK_GUARD): Add.
+       * sysdeps/s390/tls.h (THREAD_GET_POINTER_GUARD,
+       THREAD_SET_POINTER_GUARD, THREAD_COPY_POINTER_GUARD): Define.
+       * sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S (__ia64_longjmp):
+       Use PTR_DEMANGLE for B0 if defined.
+
 2005-12-17  Ulrich Drepper  <drepper@redhat.com>
 
        * pthread_create.c (__pthread_create_2_1): Use
index e3ad0681d66860aa650d0daa596dfbbe52e240ac..eb773aa97d1d52436eabc1637b9b8aa5ae051257 100644 (file)
@@ -81,13 +81,14 @@ register struct pthread *__thread_self __asm__("r13");
 # define TLS_TCB_SIZE sizeof (tcbhead_t)
 
 /* This is the size we need before TCB.
-   If there is not any room for uintptr_t stack_guard in struct pthread's
-   final padding, we need to put struct pthread 16 byte slower.  */
+   If there is not any room for uintptr_t stack_guard and
+   uintptr_t pointer_guard in struct pthread's final padding,
+   we need to put struct pthread 16 byte slower.  */
 # define TLS_PRE_TCB_SIZE \
-  (sizeof (struct pthread)                                     \
-   + (PTHREAD_STRUCT_END_PADDING < sizeof (uintptr_t)          \
-      ? ((sizeof (uintptr_t) + __alignof__ (struct pthread) - 1)\
-        & ~(__alignof__ (struct pthread) - 1))                 \
+  (sizeof (struct pthread)                                             \
+   + (PTHREAD_STRUCT_END_PADDING < 2 * sizeof (uintptr_t)              \
+      ? ((2 * sizeof (uintptr_t) + __alignof__ (struct pthread) - 1)   \
+        & ~(__alignof__ (struct pthread) - 1))                         \
       : 0))
 
 /* Alignment requirements for the TCB.  */
@@ -156,6 +157,15 @@ register struct pthread *__thread_self __asm__("r13");
   (((uintptr_t *) ((char *) (descr) + TLS_PRE_TCB_SIZE))[-1] \
    = ((uintptr_t *) __thread_self)[-1])
 
+/* Set the pointer guard field in TCB head.  */
+#define THREAD_GET_POINTER_GUARD() \
+  (((uintptr_t *) __thread_self)[-2])
+#define THREAD_SET_POINTER_GUARD(value) \
+  (((uintptr_t *) __thread_self)[-2] = (value))
+#define THREAD_COPY_POINTER_GUARD(descr) \
+  (((uintptr_t *) ((char *) (descr) + TLS_PRE_TCB_SIZE))[-2] \
+   = THREAD_GET_POINTER_GUARD ())
+
 #endif /* __ASSEMBLER__ */
 
 #endif /* tls.h */
index 3962edbd54a3dde71421233a75db2a93016b5a0a..4a8671e802fae17ffa8bbeda89fce59b76b636a9 100644 (file)
@@ -14,3 +14,4 @@ MULTIPLE_THREADS_OFFSET               thread_offsetof (header.multiple_threads)
 #endif
 PID                            thread_offsetof (pid)
 TID                            thread_offsetof (tid)
+POINTER_GUARD                  (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
index b2322b09bdba24274c2f8eb9e0970c6e74cfed10..976a27136292ee7c2ac63ffbf7c7d849e80eca1a 100644 (file)
@@ -66,9 +66,11 @@ typedef union dtv
 # include <nptl/descr.h>
 
 /* The stack_guard is accessed directly by GCC -fstack-protector code,
-   so it is a part of public ABI.  The dtv field is private.  */
+   so it is a part of public ABI.  The dtv and pointer_guard fields
+   are private.  */
 typedef struct
 {
+  uintptr_t pointer_guard;
   uintptr_t stack_guard;
   dtv_t *dtv;
 } tcbhead_t;
@@ -166,6 +168,17 @@ register void *__thread_register __asm__ ("r13");
      = ((tcbhead_t *) ((char *) __thread_register                            \
                       - TLS_TCB_OFFSET))[-1].stack_guard)
 
+/* Set the stack guard field in TCB head.  */
+# define THREAD_GET_POINTER_GUARD() \
+    (((tcbhead_t *) ((char *) __thread_register                                      \
+                    - TLS_TCB_OFFSET))[-1].pointer_guard)
+# define THREAD_SET_POINTER_GUARD(value) \
+    (THREAD_GET_POINTER_GUARD () = (value))
+# define THREAD_COPY_POINTER_GUARD(descr) \
+    (((tcbhead_t *) ((char *) (descr)                                        \
+                    + TLS_PRE_TCB_SIZE))[-1].pointer_guard                   \
+     = THREAD_GET_POINTER_GUARD())
+
 /* l_tls_offset == 0 is perfectly valid on PPC, so we have to use some
    different value to mean unset l_tls_offset.  */
 # define NO_TLS_OFFSET         -1
index 237f975b2583ad25a162a666eeeabdb79657192d..9cfae211e0789eb636922cf04ccd03036db40c57 100644 (file)
@@ -2,5 +2,6 @@
 #include <tls.h>
 
 MULTIPLE_THREADS_OFFSET                offsetof (tcbhead_t, multiple_threads)
+STACK_GUARD                    offsetof (tcbhead_t, stack_guard)
 PID                            offsetof (struct pthread, pid)
 TID                            offsetof (struct pthread, tid)
index f90b35b1e5fddaae238ddd7e4ead6832a31929fd..89ff095d522ed0cb59d455bebbe50e5b8e581227 100644 (file)
@@ -164,6 +164,13 @@ typedef struct
   ((descr)->header.stack_guard                                               \
    = THREAD_GETMEM (THREAD_SELF, header.stack_guard))
 
+/* s390 doesn't have HP_TIMING_*, so for the time being
+   use stack_guard as pointer_guard.  */
+#define THREAD_GET_POINTER_GUARD() \
+  THREAD_GETMEM (THREAD_SELF, header.stack_guard)
+#define THREAD_SET_POINTER_GUARD(value)
+#define THREAD_COPY_POINTER_GUARD(descr)
+
 #endif /* __ASSEMBLER__ */
 
 #endif /* tls.h */
index 1ceb210c2f0f24253a5fd70a2d366ed2bd92a351..a1120d4d72b8642ef1a745c3dc0188b4abf8771e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2004, 2005 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -102,6 +102,9 @@ LEAF(__ia64_longjmp)
        ;;
        ld8.nta r20=[r2],16             // b4
        ld8.nta r21=[r3],16             // b5
+#ifdef PTR_DEMANGLE
+       PTR_DEMANGLE (r16, r24)
+#endif
        ;;
        ld8.nta r11=[r2],16             // ar.pfs
        ld8.nta r22=[r3],56             // ar.lc
index e8629098dfb67e31fdf3b975b027016ec33d61a1..e09c5933ed9cb3dc30b9167bef55fa00fe7f2928 100644 (file)
@@ -29,7 +29,7 @@ renameat (oldfd, old, newfd, new)
      int newfd;
      const char *new;
 {
-  if ((oldfd < 0 & oldfd !_ AT_FDCWD) || (newfd < 0 && newfd != AT_FDCWD))
+  if ((oldfd < 0 & oldfd != AT_FDCWD) || (newfd < 0 && newfd != AT_FDCWD))
     {
       __set_errno (EBADF);
       return -1;
index a0b3e6e420b3f184848386ac65454c5d7182ad43..2b3194f04af6580b3e2663e383da3d3bee847164 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1996,1997,1998,1999,2001,2002,2003,2004
+# Copyright (C) 1996,1997,1998,1999,2001,2002,2003,2004, 2005
 #      Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -32,12 +32,14 @@ endif
 
 ifeq ($(subdir),stdio-common)
 
-vpath errlist.c $(full_config_sysdirs)
+errlist-c = $(firstword $(wildcard $(addsuffix /errlist.c, \
+                                                  $(full_config_sysdirs) .)))
+
 ifeq ($(versioning),yes)
-$(objpfx)errlist-compat.c: errlist.c $(..)sysdeps/gnu/errlist-compat.awk \
+$(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
                           $(common-objpfx)Versions.v.i $(before-compile)
 else
-$(objpfx)errlist-compat.c: errlist.c $(..)sysdeps/gnu/errlist-compat.awk \
+$(objpfx)errlist-compat.c: $(errlist-c) $(..)sysdeps/gnu/errlist-compat.awk \
                           $(before-compile)
 endif
        $(make-target-directory)
index 82531ad6b32984ec94bae7c381be52f9d566cef5..80f59052088ef8f5bb08dc963298afb92fe26945 100644 (file)
@@ -1,5 +1,6 @@
 /* longjmp for PowerPC.
-   Copyright (C) 1995-1997,1999-2001,2003,2004 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 1999-2001, 2003, 2004, 2005
+   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
@@ -40,6 +41,9 @@ ENTRY (BP_SYM (__longjmp))
        lwz r18,((JB_GPRS+4)*4)(r3)
        lwz r19,((JB_GPRS+5)*4)(r3)
        lwz r20,((JB_GPRS+6)*4)(r3)
+#ifdef PTR_DEMANGLE
+       PTR_DEMANGLE (r0, r25)
+#endif
        mtlr r0
        lwz r21,((JB_GPRS+7)*4)(r3)
        lwz r22,((JB_GPRS+8)*4)(r3)
index ae21284e0343cbf89cd1b2264ed8b0b3364bd131..750075459cc96d22cbb2c28cd32802d534b2c58c 100644 (file)
@@ -36,6 +36,9 @@ ENTRY (BP_SYM (__sigsetjmp))
        stw  r1,(JB_GPR1*4)(3)
        mflr r0
        stw  r14,((JB_GPRS+0)*4)(3)
+#ifdef PTR_MANGLE
+       PTR_MANGLE (r0, r10)
+#endif
        stw  r0,(JB_LR*4)(3)
        stw  r15,((JB_GPRS+1)*4)(3)
        mfcr r0
index 30087d7db497c2566b699fd3620d5d860596a1d3..73967e00932364b8d5b307a24c535d9d6a95544a 100644 (file)
@@ -1,5 +1,5 @@
 /* longjmp for PowerPC64.
-   Copyright (C) 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004
+   Copyright (C) 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -128,6 +128,9 @@ L(no_vmx):
        lfd fp19,((JB_FPRS+5)*8)(r3)
        ld r20,((JB_GPRS+6)*8)(r3)
        lfd fp20,((JB_FPRS+6)*8)(r3)
+#ifdef PTR_DEMANGLE
+       PTR_DEMANGLE (r0, r25)
+#endif
        mtlr r0
 /*     std r2,40(r1)   Restore the TOC save area.  */
        ld r21,((JB_GPRS+7)*8)(r3)
index c1926ecd688b80e0cf6df24343588154cedb1eef..4098fd63f5ea90c8955675b4eb73d8fd77429a02 100644 (file)
@@ -56,6 +56,9 @@ JUMPTARGET(GLUE(__sigsetjmp,_ent)):
 #endif
        std  r14,((JB_GPRS+0)*8)(3)
        stfd fp14,((JB_FPRS+0)*8)(3)
+#ifdef PTR_MANGLE
+       PTR_MANGLE (r0, r10)
+#endif
        std  r0,(JB_LR*8)(3)
        std  r15,((JB_GPRS+1)*8)(3)
        stfd fp15,((JB_FPRS+1)*8)(3)
index c1b977cd4980d0ed085b74b30de8956945d599b9..07814e080ae7ada5d68bdf589d2ce2149e661b60 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
 
 void
 __longjmp (__jmp_buf env, int val)
 {
-   /* Restore registers and jump back.  */
-   asm volatile ("lr   %%r2,%0\n\t"      /* PUT val in grp 2.  */
-                "ld   %%f6,48(%1)\n\t"
-                "ld   %%f4,40(%1)\n\t"
-                "lm   %%r6,%%r15,0(%1)\n\t"
-                "br   %%r14"
-                : : "r" (val == 0 ? 1 : val),
-                "a" (env) : "2" );
+#ifdef PTR_DEMANGLE
+  register uintptr_t r5 __asm ("%r5") = THREAD_GET_POINTER_GUARD ();
+#endif
+  /* Restore registers and jump back.  */
+  asm volatile ("lr   %%r2,%0\n\t"       /* PUT val in grp 2.  */
+               "ld   %%f6,48(%1)\n\t"
+               "ld   %%f4,40(%1)\n\t"
+               "lm   %%r6,%%r15,0(%1)\n\t"
+#ifdef PTR_DEMANGLE
+               "xr   %%r14,%2\n\t"
+#endif
+               "br   %%r14"
+               : : "r" (val == 0 ? 1 : val),
+                   "a" (env)
+#ifdef PTR_DEMANGLE
+                   , "r" (r5)
+#endif
+               : "2" );
 
   /* Avoid `volatile function does return' warnings.  */
   for (;;);
index 0d1fa8e41d9291ae7033bcf307241fb962fe2467..f3ca8af6c296728fa01cf0f215b7dd0bd0dfee68 100644 (file)
@@ -1,5 +1,5 @@
 /* setjmp for s390, ELF version.
-   Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -46,10 +46,22 @@ END (__setjmp)
 
 ENTRY(__sigsetjmp)
 .Linternal_sigsetjmp:
+#ifdef PTR_MANGLE
+       stm    %r6,%r13,0(%r2)      /* store registers in jmp_buf */
+       lr     %r4,%r14
+       PTR_MANGLE (%r4, %r5)
+       st     %r4,32(%r2)
+       st     %r15,36(%r2)
+#else
        stm    %r6,%r15,0(%r2)      /* store registers in jmp_buf */
+#endif
        std    %f4,40(%r2)
        std    %f6,48(%r2)
-#ifdef PIC
+#if defined NOT_IN_libc && defined IS_IN_rtld
+       /* In ld.so we never save the signal mask.  */
+       lhi    %r2,0
+       br     %r14
+#elif defined PIC
        /* We cannot use the PLT, because it requires that %r12 be set, but
           we can't save and restore our caller's value.  Instead, we do an
           indirect jump through the GOT. */
index dc4862b2a60ee2d8d6f718162f1b4e22824fb7dd..a4385959450706402c051bad262949a06d0cbfb0 100644 (file)
@@ -1,5 +1,5 @@
 /*
-   Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
 /* R2 = pointer to jmp_buf, R3 = savemask */
 
 ENTRY(__sigsetjmp)
+#ifdef PTR_MANGLE
+       stm    %r6,%r13,0(%r2)      /* store registers in jmp_buf */
+       lr     %r4,%r14
+       PTR_MANGLE (%r4, %r5)
+       st     %r4,32(%r2)
+       st     %r15,36(%r2)
+#else
        stm    %r6,%r15,0(%r2)      /* store registers in jmp_buf */
+#endif
        std    %f4,40(%r2)
        std    %f6,48(%r2)
-#ifdef PIC
+#if defined NOT_IN_libc && defined IS_IN_rtld
+       /* In ld.so we never save the signal mask.  */
+       lhi    %r2,0
+       br     %r14
+#elif defined PIC
        /* We cannot use the PLT, because it requires that %r12 be set, but
           we can't save and restore our caller's value.  Instead, we do an
           indirect jump through the GOT. */
index 80abd3849a10f5142669d16e2f5e295eeba097a0..6650bf702fda5c7331ee186c5fd8e6b569bd3f88 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
 
 void
 __longjmp (__jmp_buf env, int val)
 {
-   /* Restore registers and jump back.  */
-   asm volatile ("lgr  %%r2,%0\n\t"        /* Put val in grp 2.  */
-                "ld   %%f7,104(%1)\n\t"
-                "ld   %%f5,96(%1)\n\t"
-                "ld   %%f3,88(%1)\n\t"
-                "ld   %%f1,80(%1)\n\t"
-                 "lmg  %%r6,%%r15,0(%1)\n\t"
-                 "br   %%r14"
-                 : : "r" (val == 0 ? 1 : val),
-                 "a" (env) : "2" );
+#ifdef PTR_DEMANGLE
+  register uintptr_t r5 __asm ("%r5") = THREAD_GET_POINTER_GUARD ();
+#endif
+  /* Restore registers and jump back.  */
+  asm volatile ("lgr  %%r2,%0\n\t"        /* Put val in grp 2.  */
+               "ld   %%f7,104(%1)\n\t"
+               "ld   %%f5,96(%1)\n\t"
+               "ld   %%f3,88(%1)\n\t"
+               "ld   %%f1,80(%1)\n\t"
+               "lmg  %%r6,%%r15,0(%1)\n\t"
+#ifdef PTR_DEMANGLE
+               "xgr  %%r14,%2\n\t"
+#endif
+               "br   %%r14"
+               : : "r" (val == 0 ? 1 : val),
+                   "a" (env)
+#ifdef PTR_DEMANGLE
+                   , "r" (r5)
+#endif
+               : "2" );
 
   /* Avoid `volatile function does return' warnings.  */
   for (;;);
 }
-
index fa3ac724800c4ed7d4daea9f5b50f0b21459cf61..44f7cf08cc06427513b96a590014f0b25f27176e 100644 (file)
@@ -1,5 +1,5 @@
 /* setjmp for 64 bit S/390, ELF version.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -46,12 +46,24 @@ END (setjmp)
 
 ENTRY(__sigsetjmp)
 .Linternal_sigsetjmp:
+#ifdef PTR_MANGLE
+       stmg   %r6,%r13,0(%r2)      /* Store registers in jmp_buf.  */
+       lgr    %r4,%r14
+       PTR_MANGLE (%r4, %r5)
+       stg    %r4,64(%r2)
+       stg    %r15,72(%r2)
+#else
         stmg   %r6,%r15,0(%r2)      /* Store registers in jmp_buf.  */
+#endif
        std    %f1,80(%r2)
        std    %f3,88(%r2)
        std    %f5,96(%r2)
        std    %f7,104(%r2)
-#ifdef PIC
+#if defined NOT_IN_libc && defined IS_IN_rtld
+       /* In ld.so we never save the signal mask.  */
+       lghi   %r2,0
+       br     %r14
+#elif defined PIC
         jg     __sigjmp_save@PLT    /* Branch to PLT of __sigsetjmp.  */
 #else
        jg     __sigjmp_save
index 7f245c2a1d4b6924508dc6622dfb91c7dfc7f9a5..25d97b6a6ae33a2c18073f940fd69d6c2fc85b77 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2005 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
 /* R2 = pointer to jmp_buf, R3 = savemask.  */
 
 ENTRY(__sigsetjmp)
+#ifdef PTR_MANGLE
+       stmg   %r6,%r13,0(%r2)      /* Store registers in jmp_buf.  */
+       lgr    %r4,%r14
+       PTR_MANGLE (%r4, %r5)
+       stg    %r4,64(%r2)
+       stg    %r15,72(%r2)
+#else
         stmg   %r6,%r15,0(%r2)      /* Store registers in jmp_buf.  */
+#endif
        std    %f1,80(%r2)
        std    %f3,88(%r2)
        std    %f5,96(%r2)
        std    %f7,104(%r2)
-#ifdef PIC
+#if defined NOT_IN_libc && defined IS_IN_rtld
+       /* In ld.so we never save the signal mask.  */
+       lghi   %r2,0
+       br     %r14
+#elif defined PIC
         jg     __sigjmp_save@PLT    /* Tail-call __sigjmp_save.  */
 #else
         jg     __sigjmp_save        /* Tail-call __sigjmp_save.  */
 #endif
 END (__sigsetjmp)
-
-
index 214397446dc0f966f246cfa1b6872540a7ab0751..3ff3a73aab6123adf9239a32e14cd6b9193c1987 100644 (file)
@@ -5,5 +5,4 @@ vm86old         EXTRA   vm86old         i:p     __vm86old       vm86@GLIBC_2.0
 vm86           -       vm86            i:ip    __vm86          vm86@@GLIBC_2.3.4
 oldgetrlimit   EXTRA   getrlimit       i:ip    __old_getrlimit getrlimit@GLIBC_2.0
 oldsetrlimit   EXTRA   setrlimit       i:ip    __old_setrlimit setrlimit@GLIBC_2.0
-time           -       time            Ei:p    time
 waitpid                -       waitpid         Ci:ipi  __waitpid       waitpid __libc_waitpid
index 7922e81beaf090f7fa09d48b122b2c0922766524..aa18fadf9cc8fd1b1a757c4eb576fa5a9ad52276 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2005 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -101,6 +101,9 @@ LEAF(__longjmp)
        ld8.nta r18=[r2],16             // b2
        ld8.nta r19=[r3],16             // b3
        ;;
+#ifdef PTR_DEMANGLE
+       PTR_DEMANGLE (r16, r24)
+#endif
        ld8.nta r20=[r2],16             // b4
        ld8.nta r21=[r3],16             // b5
        ;;
index 9c987c7ef818f0f02a94d4f9e69e1a8cd9b1907c..53f80d203e33a9dc122085691a821d8d4db6c576 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005
+   Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -86,7 +87,7 @@ libc_hidden_def (_setjmp)
 
 ENTRY(__sigsetjmp)
        .prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(2)
-       alloc loc1=ar.pfs,2,3,2,0
+       alloc loc1=ar.pfs,2,5,2,0
        .save ar.unat, loc2
        mov loc2=ar.unat
        ;;
@@ -140,7 +141,13 @@ ENTRY(__sigsetjmp)
        ;;
        stf.spill.nta [r8]=f28,32
        stf.spill.nta [r9]=f29,32
+#ifdef PTR_MANGLE
+       mov loc3=loc0
        ;;
+       PTR_MANGLE (loc3, loc4)
+#else
+       ;;
+#endif
        stf.spill.nta [r8]=f30
        stf.spill.nta [r9]=f31
 
@@ -151,7 +158,11 @@ ENTRY(__sigsetjmp)
        mov r25=ar.unat
        mov out0=in0
 
+#ifdef PTR_MANGLE
+       st8.nta [r2]=loc3,16            // b0
+#else
        st8.nta [r2]=loc0,16            // b0
+#endif
        st8.nta [r3]=r17,16             // b1
        mov out1=in1
        ;;
@@ -169,7 +180,12 @@ ENTRY(__sigsetjmp)
        ;;
        st8.nta [r2]=r25                // ar.unat
        st8.nta [r3]=in0                // &__jmp_buf
+#if defined NOT_IN_libc && defined IS_IN_rtld
+       /* In ld.so we never save the signal mask.  */
+       ;;
+#else
        br.call.dpnt.few rp=__sigjmp_save
+#endif
 .ret0:                                 // force a new bundle ::q
        mov.m ar.unat=loc2              // restore caller's unat
        mov rp=loc0
index a4453ddcc77d324157d30b961c435c68d3e178ca..ef7bc8e13608e0198a4caa378b21fb99eaca04e9 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
    Based on code originally written by David Mosberger-Tang
 
 #endif /* not __ASSEMBLER__ */
 
+/* Pointer mangling support.  */
+#if defined NOT_IN_libc && defined IS_IN_rtld
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+        add    tmpreg=-16,r13          \
+        ;;                             \
+        ld8    tmpreg=[tmpreg]         \
+        ;;                             \
+        xor    reg=reg, tmpreg
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)    PTR_MANGLE (var)
+# endif
+#endif
+
 #endif /* linux/ia64/sysdep.h */
index ea26729d55c0eefa4f0a1311136c382e7e5ee7e0..73317ecafd4491c8ac2c1e0f66749102ac25e20f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2003, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -71,6 +71,33 @@ __statvfs_getflags (const char *name, int fstype, struct stat64 *st)
     case NFS_SUPER_MAGIC:
       fsname = "nfs";
       break;
+    case SYSFS_MAGIC:
+      fsname = "sysfs";
+      break;
+    case REISERFS_SUPER_MAGIC:
+      fsname = "reiserfs";
+      break;
+    case XFS_SUPER_MAGIC:
+      fsname = "xfs";
+      break;
+    case JFS_SUPER_MAGIC:
+      fsname = "jfs";
+      break;
+    case HPFS_SUPER_MAGIC:
+      fsname = "hpfs";
+      break;
+    case DEVFS_SUPER_MAGIC:
+      fsname = "devfs";
+      break;
+    case ISOFS_SUPER_MAGIC:
+      fsname = "iso9660";
+      break;
+    case MSDOS_SUPER_MAGIC:
+      fsname = "msdos";
+      break;
+    case NTFS_SUPER_MAGIC:
+      fsname = "ntfs";
+      break;
     }
 
   FILE *mtab = __setmntent ("/proc/mounts", "r");
index 13c385626611618661943ea361c15af447e7f64a..8c6591ada35191ff5ae11a296407d8de86bdea6c 100644 (file)
@@ -1,5 +1,5 @@
 /* Constants from kernel header for various FSes.
-   Copyright (C) 1998,1999,2000,2001,2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1998,1999,2000,2001,2002,2003,2005 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
 /* Constants that identify the `vxfs' filesystem.  */
 #define VXFS_SUPER_MAGIC       0xa501fcf5
 
+/* Constants that identify the `sysfs´ filesystem.  */
+#define SYSFS_MAGIC            0x62656572
+
 /* Maximum link counts.  */
 #define COH_LINK_MAX           10000
 #define EXT2_LINK_MAX          32000
index 81f37c510369ab4c45bcb0e6196df994d5b4d31e..546e712edc933b0a4b5569d453baee8d43545c3e 100644 (file)
@@ -20,6 +20,7 @@
 #define _LINUX_POWERPC_SYSDEP_H 1
 
 #include <sysdeps/unix/powerpc/sysdep.h>
+#include <tls.h>
 
 /* Some systen calls got renamed over time, but retained the same semantics.
    Handle them here so they can be catched by both C and assembler stubs in
 #endif /* __ASSEMBLER__ */
 
 
+/* Pointer mangling support.  */
+#if defined NOT_IN_libc && defined IS_IN_rtld
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+       lwz     tmpreg,POINTER_GUARD(r2); \
+       xor     reg,tmpreg,reg
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)    PTR_MANGLE (var)
+# endif
+#endif
+
 #endif /* linux/powerpc/powerpc32/sysdep.h */
index c3463f743158aec19b7a8dcf52465714beaee697..3ece017563029c02b7ef8d0537216a22826f80d4 100644 (file)
@@ -23,6 +23,7 @@
 #define _LINUX_POWERPC_SYSDEP_H 1
 
 #include <sysdeps/unix/powerpc/sysdep.h>
+#include <tls.h>
 
 /* Define __set_errno() for INLINE_SYSCALL macro below.  */
 #ifndef __ASSEMBLER__
 #define ASM_INPUT_5 ASM_INPUT_4, "5" (r7)
 #define ASM_INPUT_6 ASM_INPUT_5, "6" (r8)
 
+
+/* Pointer mangling support.  */
+#if defined NOT_IN_libc && defined IS_IN_rtld
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+       ld      tmpreg,POINTER_GUARD(r13); \
+       xor     reg,tmpreg,reg
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)    PTR_MANGLE (var)
+# endif
+#endif
+
 #endif /* linux/powerpc/powerpc64/sysdep.h */
index 43b1b951d580b9774eb2042444ad72ab22b1d832..355108a49307758924f77ad331b7e4f294fea921 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 2000,01,02,03,04 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
+   Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -23,6 +24,7 @@
 #include <sysdeps/s390/s390-32/sysdep.h>
 #include <sysdeps/unix/sysdep.h>
 #include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO.  */
+#include <tls.h>
 
 /* For Linux we can use the system call table in the header file
        /usr/include/asm/unistd.h
 0:  lcr   %r0,%r2;                                                           \
     basr  %r1,0;                                                             \
 1:  al    %r1,2f-1b(%r1);                                                    \
-    l     %r1,SYSCALL_ERROR_ERRNO@gotntpoff(%r1)                             \
-    ear   %r2,%a0                                                            \
+    l     %r1,SYSCALL_ERROR_ERRNO@gotntpoff(%r1);                            \
+    ear   %r2,%a0;                                                           \
     st    %r0,0(%r1,%r2);                                                    \
     lhi   %r2,-1;                                                            \
     br    %r14;                                                                      \
 #define ASMFMT_4 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5)
 #define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
 
+
+/* Pointer mangling support.  */
+#if defined NOT_IN_libc && defined IS_IN_rtld
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+/* For the time being just use stack_guard rather than a separate
+   pointer_guard.  */
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+  ear     tmpreg,%a0;                  \
+  x       reg,STACK_GUARD(tmpreg)
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)    PTR_MANGLE (var)
+# endif
+#endif
+
 #endif /* _LINUX_S390_SYSDEP_H */
index c98a97449ba455d9d1100fe10fc110a7bed235e5..d4c3a1c4e1632704bd1ba5dd623407b50e220846 100644 (file)
@@ -128,6 +128,7 @@ L(socket_cancel):
        j       4b
 #endif
 
+       SYSCALL_ERROR_HANDLER
 END (__socket)
 
 #ifndef NO_WEAK_ALIAS
index 154bc068039deee558589aff74abeef2a29a9cf5..562fc7df766c5efc4a47870e42d2367b589ae21e 100644 (file)
@@ -1,5 +1,5 @@
 /* Assembler macros for 64 bit S/390.
-   Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
    Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
    This file is part of the GNU C Library.
 
@@ -24,6 +24,7 @@
 #include <sysdeps/s390/s390-64/sysdep.h>
 #include <sysdeps/unix/sysdep.h>
 #include <dl-sysdep.h> /* For RTLD_PRIVATE_ERRNO.  */
+#include <tls.h>
 
 /* For Linux we can use the system call table in the header file
        /usr/include/asm/unistd.h
 #define ASMFMT_4 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5)
 #define ASMFMT_5 , "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5), "d" (gpr6)
 
+/* Pointer mangling support.  */
+#if defined NOT_IN_libc && defined IS_IN_rtld
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+/* For the time being just use stack_guard rather than a separate
+   pointer_guard.  */
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(reg, tmpreg) \
+  ear     tmpreg,%a0;                  \
+  sllg    tmpreg,tmpreg,32;            \
+  ear     tmpreg,%a1;                  \
+  xg      reg,STACK_GUARD(tmpreg)
+#  define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)    PTR_MANGLE (var)
+# endif
+#endif
+
 #endif /* _LINUX_S390_SYSDEP_H */
index eddd196c72c52c8c3c1b259b30f133435f81834e..f00caea84dc0fab4b665f46a4dd10884fee487f9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000,2005 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
 #ifndef _SYS_USER_H
 #define _SYS_USER_H    1
 
-#include <asm/user.h>
+/* The whole purpose of this file is for GDB and GDB only.  Don't read
+   too much into it.  Don't use it for anything other than GDB unless
+   you know what you are doing.  */
+
+struct _user_psw_struct
+{
+  unsigned long mask;
+  unsigned long addr;
+};
+
+struct _user_fpregs_struct
+{
+  unsigned int fpc;
+  double fprs[16];
+};
+
+struct _user_per_struct
+{
+  unsigned long control_regs[3];
+  unsigned single_step       : 1;
+  unsigned instruction_fetch : 1;
+  unsigned                   : 30;
+  unsigned long starting_addr;
+  unsigned long ending_addr;
+  unsigned short perc_atmid;
+  unsigned long address;
+  unsigned char access_id;
+};
+
+struct _user_regs_struct
+{
+  struct _user_psw_struct psw;         /* Program status word.  */
+  unsigned long gprs[16];              /* General purpose registers.  */
+  unsigned int  acrs[16];              /* Access registers.  */
+  unsigned long orig_gpr2;             /* Original gpr2.  */
+  struct _user_fpregs_struct fp_regs;  /* Floating point registers.  */
+  struct _user_per_struct per_info;    /* Hardware tracing registers.  */
+  unsigned long ieee_instruction_pointer; 
+};
+
+struct user {
+  struct _user_regs_struct regs;       /* User registers.  */
+  unsigned long int u_tsize;           /* Text segment size (pages).  */
+  unsigned long int u_dsize;           /* Data segment size (pages).  */
+  unsigned long int u_ssize;           /* Stack segment size (pages).  */
+  unsigned long start_code;            /* Starting address of text.  */
+  unsigned long start_stack;           /* Starting address of stack area.  */
+  long int signal;                     /* Signal causing the core dump.  */
+  struct _user_regs_struct *u_ar0;     /* Help gdb find registers.  */
+  unsigned long magic;                 /* Identifies a core file.  */
+  char u_comm[32];                     /* User command naem.  */
+};
+
+#define PAGE_SHIFT             12
+#define PAGE_SIZE              (1UL << PAGE_SHIFT)
+#define PAGE_MASK              (~(PAGE_SIZE-1))
+#define NBPG                   PAGE_SIZE
+#define UPAGES                 1
+#define HOST_TEXT_START_ADDR   (u.start_code)
+#define HOST_STACK_END_ADDR    (u.start_stack + u.u_ssize * NBPG)
 
 #endif /* _SYS_USER_H */
index 3c12278e6ab1082af22b1c9e0445c14dd59e233d..911d5c6b39b2db54167ffd9e787da59378d00ed6 100644 (file)
    The .S files for the other calls just #define socket and #include this.  */
 
 #ifndef __socket
-#define __socket P(__,socket)
+# ifndef NO_WEAK_ALIAS
+#  define __socket P(__,socket)
+# else
+#  define __socket socket
+# endif
 #endif
 
 .globl __socket
@@ -105,4 +109,6 @@ ENTRY (__socket)
 
 END (__socket)
 
+#ifndef NO_WEAK_ALIAS
 weak_alias (__socket, socket)
+#endif
index 575416ff3f62d7a98857c18dae8362fd7139f6a6..7a8b205538c280346135d369a2e526cc333d1aa0 100644 (file)
    The .S files for the other calls just #define socket and #include this.  */
 
 #ifndef __socket
-#define __socket P(__,socket)
+# ifndef NO_WEAK_ALIAS
+#  define __socket P(__,socket)
+# else
+#  define __socket socket
+# endif
 #endif
 
 .globl __socket
@@ -107,4 +111,6 @@ ENTRY (__socket)
 
 END (__socket)
 
+#ifndef NO_WEAK_ALIAS
 weak_alias (__socket, socket)
+#endif
diff --git a/sysdeps/unix/sysv/linux/time.c b/sysdeps/unix/sysv/linux/time.c
new file mode 100644 (file)
index 0000000..1698c91
--- /dev/null
@@ -0,0 +1,35 @@
+/* Copyright (C) 2005 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 <stddef.h>
+#include <time.h>
+
+#include <sysdep.h>
+
+
+time_t
+time (time_t *t)
+{
+  INTERNAL_SYSCALL_DECL (err);
+  time_t res = INTERNAL_SYSCALL (time, err, 1, NULL);
+  /* There cannot be any error.  */
+  if (t != NULL)
+    *t = res;
+  return res;
+}
+libc_hidden_def (time)
index 57dc5311d5060902e867e6eecda9d06b9d02f54b..4e3f42f2cc7337062081ee8ad74bc5375eaa9153 100644 (file)
@@ -650,7 +650,7 @@ const char * const  tofile;
                                                "../");
                                        symlinkcontents =
                                                ecatalloc(symlinkcontents,
-                                               fromfile);
+                                                         fromname);
                                        result = symlink(symlinkcontents,
                                                toname);
                                        if (result == 0)