diff options
-rw-r--r-- | ChangeLog | 72 | ||||
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | Versions.def | 2 | ||||
-rw-r--r-- | elf/Makefile | 11 | ||||
-rw-r--r-- | elf/dl-open.c | 2 | ||||
-rw-r--r-- | elf/elf.h | 4 | ||||
-rw-r--r-- | elf/rtld.c | 3 | ||||
-rw-r--r-- | elf/tst-tls15.c | 32 | ||||
-rw-r--r-- | elf/tst-tlsmod15a.c | 6 | ||||
-rw-r--r-- | elf/tst-tlsmod15b.c | 17 | ||||
-rw-r--r-- | fedora/branch.mk | 4 | ||||
-rw-r--r-- | fedora/glibc.spec.in | 11 | ||||
-rw-r--r-- | linuxthreads/ChangeLog | 10 | ||||
-rw-r--r-- | linuxthreads/sysdeps/m68k/Makefile | 7 | ||||
-rw-r--r-- | linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c | 2 | ||||
-rw-r--r-- | locale/iso-4217.def | 1 | ||||
-rw-r--r-- | locale/setlocale.c | 2 | ||||
-rw-r--r-- | localedata/ChangeLog | 11 | ||||
-rw-r--r-- | localedata/SUPPORTED | 2 | ||||
-rw-r--r-- | localedata/charmaps/WINDOWS-31J | 2 | ||||
-rw-r--r-- | localedata/locales/sr_CS | 349 | ||||
-rw-r--r-- | malloc/malloc.c | 6 | ||||
-rw-r--r-- | nis/ypclnt.c | 10 | ||||
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/pthread_create.c | 20 | ||||
-rw-r--r-- | scripts/versions.awk | 22 | ||||
-rw-r--r-- | sunrpc/xdr_stdio.c | 12 | ||||
-rw-r--r-- | sysdeps/generic/dl-tls.c | 38 | ||||
-rw-r--r-- | sysdeps/ia64/_mcount.S | 7 | ||||
-rw-r--r-- | sysdeps/ia64/elf/initfini.c | 4 |
30 files changed, 608 insertions, 71 deletions
diff --git a/ChangeLog b/ChangeLog index 07a887f5e4..6b6cbd103b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,57 @@ +2005-03-23 Jakub Jelinek <jakub@redhat.com> + + * nis/ypclnt.c (yp_2_yperr): Revert 2004-11-30 patch. + (ypprot_err): Use yp_2_yperr table also for YP_NODOM .. YP_NOMORE. + +2005-03-22 Roland McGrath <roland@redhat.com> + + * locale/setlocale.c: Comment typo. + + * scripts/versions.awk: No errors for GLIBC_PRIVATE. + + * Versions.def (libdl, librt): Add GLIBC_2.3.4 version. + + * scripts/versions.awk: Print all errors and die at the end. + Use library name in versions array keys. + +2005-03-22 Daniel Jacobowitz <dan@codesourcery.com> + + * elf/elf.h (PT_ARM_EXIDX): New macro. + +2005-03-21 Thorsten Kukuk <kukuk@suse.de> + + * sunrpc/xdr_stdio.c (xdrstdio_getlong, xdrstdio_putlong): + Convert correctly between long/int on 64bit big-endian. + +2005-03-21 David Mosberger <davidm@hpl.hp.com> + + * sysdeps/ia64/_mcount.S: Newer kernels don't like register-frames + with more than 8 output registers. Fix this by passing original + ar.pfs to _mcount_ret_helper via r3. + +2005-03-15 Jakub Jelinek <jakub@redhat.com> + + [BZ #786] + * sysdeps/generic/dl-tls.c (_dl_next_tls_modid): Handle + GL(dl_tls_static_nelem) == GL(dl_tls_max_dtv_idx). + * elf/Makefile: Add rules to build and run tst-tls15. + * elf/tst-tls15.c: New test. + * elf/tst-tlsmod15a.c: New file. + * elf/tst-tlsmod15b.c: New file. + +2005-03-20 Ulrich Drepper <drepper@redhat.com> + + * elf/rtld.c (dl_main): Always call init_tls if we have audit modules. + +2005-03-20 Alfred M. Szmidt <ams@gnu.org> + + * elf/dl-open.c (dl_open_worker): Fix typo. + +2005-03-20 Ulrich Drepper <drepper@redhat.com> + + * malloc/malloc.c (public_cALLOc): We cannot skip the memory + clearing if perturb_byte != 0. + 2005-03-20 Jakub Jelinek <jakub@redhat.com> * posix/bits/unistd.h (pread) [__USE_FILE_OFFSET64]: Use __off64_t @@ -7,6 +61,24 @@ * debug/tst-lfschk2.c: New test. * debug/tst-lfschk3.c: New test. +2005-02-09 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/bits/termios.h (CMSPAR): Define. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Add __USE_MISC + and __USE_XOPEN guards to match linux/bits/termios.h. + * sysdeps/unix/sysv/linux/alpha/bits/termios.h: Likewise. + (CMSPAR): Define. + * sysdeps/unix/sysv/linux/powerpc/bits/termios.h: Likewise. + +2005-02-10 H.J. Lu <hongjiu.lu@intel.com> + + * sysdeps/ia64/elf/initfini.c: Add local _init and _fini labels. + +2005-02-27 Denis Barbier <barbier@debian.org> + + [BZ #38] + * locale/iso-4217.def: Add CSD currency. + 2005-03-19 Ulrich Drepper <drepper@redhat.com> * inet/test-ifaddrs.c: Use test-skeleton. diff --git a/NEWS b/NEWS index cd975c998b..2601cd5dde 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2005-2-21 +GNU C Library NEWS -- history of user-visible changes. 2005-3-19 Copyright (C) 1992-2004, 2005 Free Software Foundation, Inc. See the end for copying conditions. @@ -11,6 +11,9 @@ Version 2.4 * New iconv converters for IBM1025, IBM1122, IBM1137, IBM1153, IBM1154, IBM1155, IBM1156, IBM1157, and IBM1158 contributed by Jiro Sekiba. + +* It is now possible to install audit libraries for the dynamic linker using + LD_AUDIT. Implemented by Ulrich Drepper. Version 2.3.4 diff --git a/Versions.def b/Versions.def index 33409f1143..923f5eb31e 100644 --- a/Versions.def +++ b/Versions.def @@ -35,6 +35,7 @@ libdl { GLIBC_2.0 GLIBC_2.1 GLIBC_2.3.3 + GLIBC_2.3.4 } libm { GLIBC_2.0 @@ -90,6 +91,7 @@ librt { GLIBC_2.2 GLIBC_2.3 GLIBC_2.3.3 + GLIBC_2.3.4 } libutil { GLIBC_2.0 diff --git a/elf/Makefile b/elf/Makefile index 80a3f6cb19..c034b2ba6e 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -159,7 +159,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ neededtest3 neededtest4 unload2 lateglobal initfirst global \ restest2 next dblload dblunload reldep5 reldep6 reldep7 reldep8 \ circleload1 tst-tls3 tst-tls4 tst-tls5 tst-tls6 tst-tls7 tst-tls8 \ - tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-align \ + tst-tls10 tst-tls11 tst-tls12 tst-tls13 tst-tls14 tst-tls15 tst-align \ tst-align2 $(tests-execstack-$(have-z-execstack)) tst-dlmodcount \ tst-dlopenrpath tst-deep1 tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \ unload3 unload4 unload5 tst-audit1 tst-global1 order2 @@ -190,6 +190,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ tst-tlsmod5 tst-tlsmod6 tst-tlsmod7 tst-tlsmod8 \ tst-tlsmod9 tst-tlsmod10 tst-tlsmod11 tst-tlsmod12 \ tst-tlsmod13 tst-tlsmod13a tst-tlsmod14a tst-tlsmod14b \ + tst-tlsmod15a tst-tlsmod15b \ circlemod1 circlemod1a circlemod2 circlemod2a \ circlemod3 circlemod3a \ reldep8mod1 reldep8mod2 reldep8mod3 \ @@ -471,6 +472,7 @@ tst-tlsmod10.so-no-z-defs = yes tst-tlsmod12.so-no-z-defs = yes tst-tlsmod14a.so-no-z-defs = yes tst-tlsmod14b.so-no-z-defs = yes +tst-tlsmod15a.so-no-z-defs = yes circlemod2.so-no-z-defs = yes circlemod3.so-no-z-defs = yes circlemod3a.so-no-z-defs = yes @@ -683,8 +685,11 @@ $(objpfx)tst-tls12: $(objpfx)tst-tlsmod12.so $(objpfx)tst-tls13: $(libdl) $(objpfx)tst-tls13.out: $(objpfx)tst-tlsmod13a.so -$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl) -$(objpfx)tst-tls14.out:$(objpfx)tst-tlsmod14b.so +$(objpfx)tst-tls14: $(objpfx)tst-tlsmod14a.so $(libdl) +$(objpfx)tst-tls14.out: $(objpfx)tst-tlsmod14b.so + +$(objpfx)tst-tls15: $(libdl) +$(objpfx)tst-tls15.out: $(objpfx)tst-tlsmod15a.so $(objpfx)tst-tlsmod15b.so CFLAGS-tst-align.c = $(stack-align-test-flags) CFLAGS-tst-align2.c = $(stack-align-test-flags) diff --git a/elf/dl-open.c b/elf/dl-open.c index 7433d99ff9..a65690e5a3 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -462,8 +462,10 @@ dl_open_worker (void *a) /* We have to bump the generation counter. */ any_tls = true; } +#endif } +#if USE_TLS /* Bump the generation number if necessary. */ if (any_tls && __builtin_expect (++GL(dl_tls_generation) == 0, 0)) _dl_fatal_printf (N_("\ diff --git a/elf/elf.h b/elf/elf.h index b84cc0e3ad..8a9f7fd482 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -2138,7 +2138,11 @@ typedef Elf32_Addr Elf32_Conflict; #define PF_ARM_SB 0x10000000 /* Segment contains the location addressed by the static base */ +/* Processor specific values for the Phdr p_type field. */ +#define PT_ARM_EXIDX 0x70000001 /* .ARM.exidx segment */ + /* ARM relocs. */ + #define R_ARM_NONE 0 /* No reloc */ #define R_ARM_PC24 1 /* PC relative 26 bit branch */ #define R_ARM_ABS32 2 /* Direct 32 bit */ diff --git a/elf/rtld.c b/elf/rtld.c index 720029dfc9..b2122bb9d6 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1353,8 +1353,7 @@ ld.so does not support TLS, but program uses it!\n"); /* Since we start using the auditing DSOs right away we need to initialize the data structures now. */ - if (!TLS_INIT_TP_EXPENSIVE) - tcbp = init_tls (); + tcbp = init_tls (); #endif struct dlmopen_args dlmargs; dlmargs.fname = al->name; diff --git a/elf/tst-tls15.c b/elf/tst-tls15.c new file mode 100644 index 0000000000..7ac963aa2d --- /dev/null +++ b/elf/tst-tls15.c @@ -0,0 +1,32 @@ +#include <dlfcn.h> +#include <stdio.h> + +static int +do_test (void) +{ + void *h = dlopen ("tst-tlsmod15a.so", RTLD_NOW); + if (h != NULL) + { + puts ("unexpectedly succeeded to open tst-tlsmod15a.so"); + exit (1); + } + + h = dlopen ("tst-tlsmod15b.so", RTLD_NOW); + if (h == NULL) + { + puts ("failed to open tst-tlsmod15b.so"); + exit (1); + } + + int (*fp) (void) = (int (*) (void)) dlsym (h, "in_dso"); + if (fp == NULL) + { + puts ("cannot find in_dso"); + exit (1); + } + + return fp (); +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" diff --git a/elf/tst-tlsmod15a.c b/elf/tst-tlsmod15a.c new file mode 100644 index 0000000000..66c707129a --- /dev/null +++ b/elf/tst-tlsmod15a.c @@ -0,0 +1,6 @@ +extern int nonexistent_dummy_var; +int * +foo (void) +{ + return &nonexistent_dummy_var; +} diff --git a/elf/tst-tlsmod15b.c b/elf/tst-tlsmod15b.c new file mode 100644 index 0000000000..4f63eab144 --- /dev/null +++ b/elf/tst-tlsmod15b.c @@ -0,0 +1,17 @@ +#include "tst-tls10.h" + +#ifdef USE_TLS__THREAD +__thread int mod15b_var __attribute__((tls_model("initial-exec"))); + +int +in_dso (void) +{ + return mod15b_var; +} +#else +int +in_dso (void) +{ + return 0; +} +#endif diff --git a/fedora/branch.mk b/fedora/branch.mk index 059c5a0d5c..57f20c3c67 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 := 2005-03-19 19:07 UTC -fedora-sync-tag := fedora-glibc-20050319T1907 +fedora-sync-date := 2005-03-24 07:15 UTC +fedora-sync-tag := fedora-glibc-20050324T0715 diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index d6fcab7080..8bb904b278 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -1,4 +1,4 @@ -%define glibcrelease 16 +%define glibcrelease 17 %define auxarches i586 i686 athlon sparcv9 alphaev6 %define prelinkarches noarch %define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64 @@ -1275,6 +1275,15 @@ rm -f *.filelist* %endif %changelog +* Thu Mar 24 2005 Jakub Jelinek <jakub@redhat.com> 2.3.4-17 +- update from CVS + - fix LD_AUDIT in LinuxThreads ld.so + - fix calloc with M_PERTURB + - fix error handling in pthread_create with PTHREAD_EXPLICIT_SCHED + on ppc*/ia64/alpha/mips (BZ#801) + - fix a typo in WINDOWS-31J charmap (#151739) + - fix NIS ypprot_err (#151469) + * Sun Mar 20 2005 Jakub Jelinek <jakub@redhat.com> 2.3.4-16 - fix pread with -D_FILE_OFFSET_BITS=64 (#151573) diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog index 8699564b4c..ce3bcb3e18 100644 --- a/linuxthreads/ChangeLog +++ b/linuxthreads/ChangeLog @@ -1,3 +1,13 @@ +2005-03-21 GOTO Masanori <gotom@debian.or.jp> + + * linuxthreads/sysdeps/m68k/Makefile: Remove to delete + unneeded o-iterator thing. + +2005-02-21 H.J. Lu <hongjiu.lu@intel.com> + + * sysdeps/unix/sysv/linux/ia64/pt-initfini.c: Add local _init + and _fini labels. + 2005-03-05 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/Makefile (CFLAGS-pt-initfini.s): Unconditionally diff --git a/linuxthreads/sysdeps/m68k/Makefile b/linuxthreads/sysdeps/m68k/Makefile deleted file mode 100644 index 1cd27d44ca..0000000000 --- a/linuxthreads/sysdeps/m68k/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -ifeq ($(subdir), linuxthreads) -object-suffixes-left := $(libpthread-nonshared) -define o-iterator-doit -$(objpfx)$o.os: pic-ccflag = -fPIC -endef -include $(o-iterator) -endif diff --git a/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c b/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c index 85fd33f4a8..af8a63c163 100644 --- a/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c +++ b/linuxthreads/sysdeps/unix/sysv/linux/ia64/pt-initfini.c @@ -87,6 +87,7 @@ _init:\n\ /*@_init_EPILOG_BEGINS*/\n\ .section .init\n\ .proc _init#\n\ +_init:\n\ .prologue\n\ .save ar.pfs, r34\n\ .vframe r32\n\ @@ -122,6 +123,7 @@ _fini:\n\ /*@_fini_EPILOG_BEGINS*/\n\ .section .fini\n\ .proc _fini#\n\ +_fini:\n\ .prologue\n\ .save ar.pfs, r34\n\ .vframe r32\n\ diff --git a/locale/iso-4217.def b/locale/iso-4217.def index 01a69950dc..b7c05a351d 100644 --- a/locale/iso-4217.def +++ b/locale/iso-4217.def @@ -43,6 +43,7 @@ DEFINE_INT_CURR("CLP") /* Chilean Peso */ DEFINE_INT_CURR("CNY") /* China Yuan Renminbi */ DEFINE_INT_CURR("COP") /* Colombian Peso */ DEFINE_INT_CURR("CRC") /* Costa Rican Colon */ +DEFINE_INT_CURR("CSD") /* Serbian Dinar */ DEFINE_INT_CURR("CUP") /* Cuban Peso */ DEFINE_INT_CURR("CVE") /* Cape Verde Escudo */ DEFINE_INT_CURR("CYP") /* Cypriot Pound */ diff --git a/locale/setlocale.c b/locale/setlocale.c index e6db70d4c7..50bf8e772f 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -372,7 +372,7 @@ setlocale (int category, const char *locale) /* Critical section left. */ __libc_lock_unlock (__libc_setlocale_lock); - /* Free the resources (the locale path variable. */ + /* Free the resources (the locale path variable). */ free (locale_path); return composite; diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 548dc7890c..e454cd0cfc 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,14 @@ +2005-03-21 Jakub Jelinek <jakub@redhat.com> + + * charmaps/WINDOWS-31J: Add % before alias keyword. + +2005-02-27 Denis Barbier <barbier@debian.org> + + [BZ #38] + * locales/sr_CS: New file. + Contributed by Danilo Segan <dsegan@gmx.net> + * SUPPORTED: Add sr_CS/ISO-8859-5 and sr_CS.UTF-8/UTF-8. + 2005-03-18 Andreas Schwab <schwab@suse.de> * locales/pa_IN (am_pm): Fix character names. diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED index 6dafc49f4d..b079c4ca79 100644 --- a/localedata/SUPPORTED +++ b/localedata/SUPPORTED @@ -279,6 +279,8 @@ so_KE/ISO-8859-1 \ so_SO/ISO-8859-1 \ sq_AL.UTF-8/UTF-8 \ sq_AL/ISO-8859-1 \ +sr_CS.UTF-8/UTF-8 \ +sr_CS/ISO-8859-5 \ st_ZA.UTF-8/UTF-8 \ st_ZA/ISO-8859-1 \ sv_FI.UTF-8/UTF-8 \ diff --git a/localedata/charmaps/WINDOWS-31J b/localedata/charmaps/WINDOWS-31J index 76316c5761..d5ab12abef 100644 --- a/localedata/charmaps/WINDOWS-31J +++ b/localedata/charmaps/WINDOWS-31J @@ -8,7 +8,7 @@ % MORIYAMA Masayuki <msyk@mtg.biglobe.ne.jp>, 2003. % Last changed: 2003-07-18 -alias CP932 +% alias CP932 CHARMAP <U0000> /x00 NULL diff --git a/localedata/locales/sr_CS b/localedata/locales/sr_CS new file mode 100644 index 0000000000..1a01f2f101 --- /dev/null +++ b/localedata/locales/sr_CS @@ -0,0 +1,349 @@ +comment_char % +escape_char / +% +% Serbian Language Locale for Serbia and Montenegro +% Source: sr_YU locale +% Address: +% +% Contact: Danilo Segan +% Email: dsegan@gmx.net +% Tel: +381 63 8626082 +% Fax: none +% Language: sr +% Territory: CS +% Revision: 1.2 +% Date: 2004-08-09 +% Application: general +% Users: general +% Charset: UTF-8, ISO-8859-5 +% Distribution and use is free, also +% for commercial purposes. +% +% TODO: +% -- fix LC_COLLATE to work correctly for latin alphabet too +% + +LC_IDENTIFICATION +title "Serbian locale for Serbia and Montenegro" +source "sr_YU locale" +address "" +contact "Danilo Segan" +email "bug-glibc-locales@gnu.org" +tel "" +fax "" +language "Serbian" +territory "Serbia and Montenegro" +revision "1.2" +date "2004-08-09" +audience "general" +application "GNU locale" +abbreviation "" +% +category "i18n:1997";LC_IDENTIFICATION +category "i18n:1997";LC_CTYPE +category "i18n:1997";LC_COLLATE +category "i18n:1997";LC_MONETARY +category "i18n:1997";LC_NUMERIC +category "i18n:1997";LC_TIME +category "i18n:1997";LC_MESSAGES +category "i18n:1997";LC_PAPER +category "i18n:1997";LC_NAME +category "i18n:1997";LC_ADDRESS +category "i18n:1997";LC_TELEPHONE +category "i18n:1997";LC_MEASUREMENT +END LC_IDENTIFICATION + +LC_CTYPE +copy "i18n" +translit_start +include "translit_combining";"" + +% cyrillic -> latin +<U0452> "<U0111>";"<U0064><U006A>" % d- +<U0453> "<U0067><U006A>" % gj +<U0455> "<U0064><U007A>" % dz +<U0458> "<U006A>" % j +<U0459> "<U006C><U006A>" % lj +<U045A> "<U006E><U006A>" % nj +<U045B> "<U0107>";"<U0063>" % c' +<U045C> "<U006B><U006A>" % kj +<U045F> "<U0064><U017E>";"<U0064><U007A>" % dz< + +<U0402> "<U0110>";"<U0044><U006A>" % D- +<U0403> "<U0047><U006A>" % Gj +<U0405> "<U0044><U007A>" % Dz +<U0408> "<U004A>" % J +<U0409> "<U004C><U006A>" % Lj +<U040A> "<U004E><U006A>" % Nj +<U040B> "<U0106>";"<U0043>" % C' +<U040C> "<U004B><U006A>" % Kj +<U040F> "<U0044><U017E>";"<U0064><U007A>" % Dz< + +<U0430> "<U0061>" +<U0431> "<U0062>" +<U0446> "<U0063>" +<U0434> "<U0064>" +<U0435> "<U0065>" +<U0444> "<U0066>" +<U0433> "<U0067>" +<U0445> "<U0068>" +<U0438> "<U0069>" +<U043A> "<U006B>" +<U043B> "<U006C>" +<U043C> "<U006D>" +<U043D> "<U006E>" +<U043E> "<U006F>" +<U043F> "<U0070>" +<U0440> "<U0072>" +<U0441> "<U0073>" +<U0442> "<U0074>" +<U0443> "<U0075>" +<U0432> "<U0076>" +<U0437> "<U007A>" +<U0436> "<U017E>";"<U007A>" % z< +<U0448> "<U0161>";"<U0073>" % s< +<U0447> "<U010D>";"<U0063>" % c< + +<U0410> "<U0041>" +<U0411> "<U0042>" +<U0426> "<U0043>" +<U0414> "<U0044>" +<U0415> "<U0045>" +<U0424> "<U0046>" +<U0413> "<U0047>" +<U0425> "<U0048>" +<U0418> "<U0049>" +<U041A> "<U004B>" +<U041B> "<U004C>" +<U041C> "<U004D>" +<U041D> "<U004E>" +<U041E> "<U004F>" +<U041F> "<U0050>" +<U0420> "<U0052>" +<U0421> "<U0053>" +<U0422> "<U0054>" +<U0423> "<U0055>" +<U0412> "<U0056>" +<U0417> "<U005A>" +<U0416> "<U017D>";"<U005A>" % z< +<U0428> "<U0160>";"<U0053>" % s< +<U0427> "<U010C>";"<U0063>" % c< + +translit_end +END LC_CTYPE + + +LC_COLLATE + +copy "iso14651_t1" + +collating-symbol <d-z-sh> +collating-symbol <l-j-sh> +collating-symbol <n-j-sh> + +collating-symbol <cacute> +collating-symbol <ccaron> +collating-symbol <d//> +collating-symbol <scaron> +collating-symbol <zcaron> + +collating-symbol <CAP-MIN> +collating-symbol <MIN-CAP> + +reorder-after <MIN> +<MIN-CAP> +reorder-after <CAP> +<CAP-MIN> + +reorder-after <c> +<cacute> +<ccaron> +<d> +<d-z-sh> +<d//> +reorder-after <l> +<l-j-sh> +reorder-after <n> +<n-j-sh> +reorder-after <s> +<scaron> +reorder-after <z> +<zcaron> + +reorder-after <U0063> +<U0107> <cacute>;<PCT>;<MIN>;IGNORE +<U010D> <ccaron>;<PCT>;<MIN>;IGNORE +reorder-after <U0043> +<U0106> <cacute>;<PCT>;<CAP>;IGNORE +<U010C> <ccaron>;<PCT>;<CAP>;IGNORE + +reorder-after <U0064> +<d-z<> <d-z-sh>;<PCT>;<MIN>;IGNORE +<dz<> <d-z-sh>;<PCT>;<MIN>;IGNORE +<d-Z<> <d-z-sh>;<PCT>;<MIN-CAP>;IGNORE +<U0111> <d//>;<PCT>;<MIN>;IGNORE +reorder-after <U0044> +<D-Z<> <d-z-sh>;<PCT>;<CAP>;IGNORE +<DZ<> <d-z-sh>;<PCT>;<CAP>;IGNORE +<D-z<> <d-z-sh>;<PCT>;<CAP-MIN>;IGNORE +<Dz<> <d-z-sh>;<PCT>;<CAP-MIN>;IGNORE +<U0110> <d//>;<PCT>;<CAP>;IGNORE + +reorder-after <U006C> +<l-j> <l-j-sh>;<PCT>;<MIN>;IGNORE +<lj> <l-j-sh>;<PCT>;<MIN>;IGNORE +<l-J> <l-j-sh>;<PCT>;<MIN-CAP>;IGNORE +reorder-after <U004C> +<L-J> <l-j-sh>;<PCT>;<CAP>;IGNORE +<LJ> <l-j-sh>;<PCT>;<CAP>;IGNORE +<L-j> <l-j-sh>;<PCT>;<CAP-MIN>;IGNORE +<Lj> <l-j-sh>;<PCT>;<CAP-MIN>;IGNORE + +reorder-after <U006E> +<n-j> <n-j-sh>;<PCT>;<MIN>;IGNORE +<nj> <n-j-sh>;<PCT>;<MIN>;IGNORE +<n-J> <n-j-sh>;<PCT>;<MIN-CAP>;IGNORE +reorder-after <U004E> +<N-J> <n-j-sh>;<PCT>;<CAP>;IGNORE +<NJ> <n-j-sh>;<PCT>;<CAP>;IGNORE +<N-j> <n-j-sh>;<PCT>;<CAP-MIN>;IGNORE +<Nj> <n-j-sh>;<PCT>;<CAP-MIN>;IGNORE + +reorder-after <U0073> +<U0161> <scaron>;<PCT>;<MIN>;IGNORE +reorder-after <U0053> +<U0160> <scaron>;<PCT>;<CAP>;IGNORE + +reorder-after <U007A> +<U017E> <zcaron>;<PCT>;<MIN>;IGNORE +reorder-after <U005A> +<U017D> <zcaron>;<PCT>;<CAP>;IGNORE + +reorder-end + +END LC_COLLATE + +LC_MONETARY +int_curr_symbol "<U0043><U0053><U0044><U0020>" +currency_symbol "<U0434><U0438><U043D>" +mon_decimal_point "<U002C>" +mon_thousands_sep "<U002E>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<U002D>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 0 +p_sep_by_space 1 +n_cs_precedes 0 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +decimal_point "<U002C>" +thousands_sep "" +grouping 0;0 +END LC_NUMERIC + +LC_TIME + +abday "<U043D><U0435><U0434>";"<U043F><U043E><U043D>";/ + "<U0443><U0442><U043E>";"<U0441><U0440><U0435>";/ + "<U0447><U0435><U0442>";"<U043F><U0435><U0442>";/ + "<U0441><U0443><U0431>" +day "<U043D><U0435><U0434><U0435><U0459><U0430>";/ + "<U043F><U043E><U043D><U0435><U0434><U0435><U0459><U0430><U043A>";/ + "<U0443><U0442><U043E><U0440><U0430><U043A>";/ + "<U0441><U0440><U0435><U0434><U0430>";/ + "<U0447><U0435><U0442><U0432><U0440><U0442><U0430><U043A>";/ + "<U043F><U0435><U0442><U0430><U043A>";/ + "<U0441><U0443><U0431><U043E><U0442><U0430>" +abmon "<U0458><U0430><U043D>";"<U0444><U0435><U0431>";/ + "<U043C><U0430><U0440>";"<U0430><U043F><U0440>";/ + "<U043C><U0430><U0458>";"<U0458><U0443><U043D>";/ + "<U0458><U0443><U043B>";"<U0430><U0432><U0433>";/ + "<U0441><U0435><U043F>";"<U043E><U043A><U0442>";/ + "<U043D><U043E><U0432>";"<U0434><U0435><U0446>" +mon "<U0458><U0430><U043D><U0443><U0430><U0440>";/ + "<U0444><U0435><U0431><U0440><U0443><U0430><U0440>";/ + "<U043C><U0430><U0440><U0442>";/ + "<U0430><U043F><U0440><U0438><U043B>";/ + "<U043C><U0430><U0458>";/ + "<U0458><U0443><U043D>";/ + "<U0458><U0443><U043B>";/ + "<U0430><U0432><U0433><U0443><U0441><U0442>";/ + "<U0441><U0435><U043F><U0442><U0435><U043C><U0431><U0430><U0440>";/ + "<U043E><U043A><U0442><U043E><U0431><U0430><U0440>";/ + "<U043D><U043E><U0432><U0435><U043C><U0431><U0430><U0440>";/ + "<U0434><U0435><U0446><U0435><U043C><U0431><U0430><U0440>" + +d_t_fmt "<U0025><U0041><U002C><U0020><U0025><U0064><U002E><U0020>/ +<U0025><U0042><U0020><U0025><U0059><U002E><U0020><U0025><U0054>/ +<U0020><U0025><U005A>" +d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059><U002E>" +t_fmt "<U0025><U0054>" +am_pm "";"" +t_fmt_ampm "<U0025><U0054>" +date_fmt "<U0025><U0061><U002C><U0020><U0025><U0065><U002E><U0020>/ +<U0025><U0062><U0020><U0025><U0059><U002E><U0020><U0020><U0025><U0048>/ +<U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U000A>" +week 7;19971201;4 +first_weekday 2 +first_workday 2 +END LC_TIME + +LC_MESSAGES +yesexpr "<U005E><U005B><U0414><U0434><U0044><U0064><U0059><U0079><U005D>" +noexpr "<U005E><U005B><U041D><U043D><U004E><U006E><U005D>" +END LC_MESSAGES + +LC_PAPER +height 297 +width 210 +END LC_PAPER + +LC_NAME +name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ +<U0025><U006D><U0025><U0074><U0025><U0066>" +name_gen "" +name_mr "<U0433><U002D><U0434><U0438><U043D>" +name_mrs "<U0433><U002D><U0452><U0430>" +name_miss "<U0433><U002D><U0452><U0438><U0446><U0430>" +name_ms "<U0433><U002D><U0452><U0430>" +END LC_NAME + +LC_ADDRESS +postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/ +<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/ +<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/ +<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/ +<U004E><U0025><U0063><U0025><U004E>" +country_ab2 "<U0043><U0053>" +country_ab3 "<U0053><U0043><U0047>" +% FIXME: country_post is probably incorrect +country_post "<U0053><U0043><U0047>" +country_name "<U0421><U0440><U0431><U0438><U0458><U0430><U0020><U0438>/ +<U0020><U0426><U0440><U043D><U0430><U0020><U0413><U043E><U0440><U0430>" +country_num 891 +country_car "<U0053><U0043><U0047>" +% FIXME: ISBN code is what? "86" that preceedes all the numbers? +country_isbn "<U0038><U0036>" +lang_name "<U0441><U0440><U043F><U0441><U043A><U0438>" +lang_term "<U0073><U0072><U0070>" +lang_lib "<U0073><U0063><U0063>" +lang_ab "<U0073><U0072>" +END LC_ADDRESS + +LC_TELEPHONE +tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/ +<U006C>" +tel_dom_fmt "<U0025><U0041><U0020><U0025><U006C>" +int_prefix "<U0033><U0038><U0031>" +int_select "<U0039><U0039>" +END LC_TELEPHONE + +LC_MEASUREMENT +measurement 1 +END LC_MEASUREMENT diff --git a/malloc/malloc.c b/malloc/malloc.c index 44831bbb1d..65be277097 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1,4 +1,4 @@ - /* Malloc implementation for multiple threads without lock contention. +/* Malloc implementation for multiple threads without lock contention. Copyright (C) 1996-2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Wolfram Gloger <wg@malloc.de> @@ -3691,14 +3691,14 @@ public_cALLOc(size_t n, size_t elem_size) /* Two optional cases in which clearing not necessary */ #if HAVE_MMAP - if (chunk_is_mmapped(p)) + if (perturb_byte == 0 && chunk_is_mmapped(p)) return mem; #endif csz = chunksize(p); #if MORECORE_CLEARS - if (p == oldtop && csz > oldtopsize) { + if (perturb_byte == 0 && (p == oldtop && csz > oldtopsize)) { /* clear only the bytes from non-freshly-sbrked memory */ csz = oldtopsize; } diff --git a/nis/ypclnt.c b/nis/ypclnt.c index 85292b62d9..6230cb84dc 100644 --- a/nis/ypclnt.c +++ b/nis/ypclnt.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1996-2001, 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1996-2001, 2002, 2003, 2004, 2005 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. @@ -829,6 +830,11 @@ yperr_string (const int error) static const int8_t yp_2_yperr[] = { #define YP2YPERR(yp, yperr) [YP_##yp - YP_VERS] = YPERR_##yperr + YP2YPERR (TRUE, SUCCESS), + YP2YPERR (NOMORE, NOMORE), + YP2YPERR (FALSE, YPERR), + YP2YPERR (NOMAP, MAP), + YP2YPERR (NODOM, DOMAIN), YP2YPERR (NOKEY, KEY), YP2YPERR (BADOP, YPERR), YP2YPERR (BADDB, BADDB), @@ -839,7 +845,7 @@ static const int8_t yp_2_yperr[] = int ypprot_err (const int code) { - if (code < YP_VERS || code > YP_NOKEY) + if (code < YP_VERS || code > YP_NOMORE) return YPERR_YPERR; return yp_2_yperr[code - YP_VERS]; } diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 6e0b5e31a1..6ded83e181 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,8 @@ +2005-03-23 Ulrich Drepper <drepper@redhat.com> + + * pthread_create.c (__pthread_create_2_1): Rename syscall error + variable to scerr. + 2005-03-10 Jakub Jelinek <jakub@redhat.com> * tst-getpid1.c (do_test): Align stack passed to clone{2,}. diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index bf41e9fcc9..18f1c034c7 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -347,17 +347,15 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg) void *arg; { STACK_VARIABLES; - const struct pthread_attr *iattr; - struct pthread *pd; - int err; - iattr = (struct pthread_attr *) attr; + const struct pthread_attr *iattr = (struct pthread_attr *) attr; if (iattr == NULL) /* Is this the best idea? On NUMA machines this could mean accessing far-away memory. */ iattr = &default_attr; - err = ALLOCATE_STACK (iattr, &pd); + struct pthread *pd; + int err = ALLOCATE_STACK (iattr, &pd); if (__builtin_expect (err != 0, 0)) /* Something went wrong. Maybe a parameter of the attributes is invalid or we could not allocate memory. */ @@ -406,14 +404,14 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg) && __builtin_expect ((iattr->flags & ATTR_FLAG_NOTINHERITSCHED) != 0, 0) && (iattr->flags & (ATTR_FLAG_SCHED_SET | ATTR_FLAG_POLICY_SET)) != 0) { - INTERNAL_SYSCALL_DECL (err); + INTERNAL_SYSCALL_DECL (scerr); /* Use the scheduling parameters the user provided. */ if (iattr->flags & ATTR_FLAG_POLICY_SET) pd->schedpolicy = iattr->schedpolicy; else if ((pd->flags & ATTR_FLAG_POLICY_SET) == 0) { - pd->schedpolicy = INTERNAL_SYSCALL (sched_getscheduler, err, 1, 0); + pd->schedpolicy = INTERNAL_SYSCALL (sched_getscheduler, scerr, 1, 0); pd->flags |= ATTR_FLAG_POLICY_SET; } @@ -422,14 +420,14 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg) sizeof (struct sched_param)); else if ((pd->flags & ATTR_FLAG_SCHED_SET) == 0) { - INTERNAL_SYSCALL (sched_getparam, err, 2, 0, &pd->schedparam); + INTERNAL_SYSCALL (sched_getparam, scerr, 2, 0, &pd->schedparam); pd->flags |= ATTR_FLAG_SCHED_SET; } /* Check for valid priorities. */ - int minprio = INTERNAL_SYSCALL (sched_get_priority_min, err, 1, + int minprio = INTERNAL_SYSCALL (sched_get_priority_min, scerr, 1, iattr->schedpolicy); - int maxprio = INTERNAL_SYSCALL (sched_get_priority_max, err, 1, + int maxprio = INTERNAL_SYSCALL (sched_get_priority_max, scerr, 1, iattr->schedpolicy); if (pd->schedparam.sched_priority < minprio || pd->schedparam.sched_priority > maxprio) diff --git a/scripts/versions.awk b/scripts/versions.awk index 7e33387d41..e642b3d16e 100644 --- a/scripts/versions.awk +++ b/scripts/versions.awk @@ -1,5 +1,5 @@ # Combine version map fragments into version scripts for our shared objects. -# Copyright (C) 1998,99,2000,02 Free Software Foundation, Inc. +# Copyright (C) 1998,99,2000,2002,2005 Free Software Foundation, Inc. # Written by Ulrich Drepper <drepper@cygnus.com>, 1998. # This script expects the following variables to be defined: @@ -9,17 +9,19 @@ # Read definitions for the versions. BEGIN { + lossage = 0; + nlibs=0; while (getline < defsfile) { if (/^[a-zA-Z0-9_.]+ \{/) { libs[$1] = 1; curlib = $1; while (getline < defsfile && ! /^}/) { - if ($2 == "=") { + if ($2 == "=") { renamed[curlib "::" $1] = $3; - } + } else - versions[$1] = 1; + versions[curlib "::" $1] = 1; } } } @@ -42,7 +44,7 @@ BEGIN { actlib = $1; if (!libs[$1]) { printf("no versions defined for %s\n", $1) > "/dev/stderr"; - exit 1; + ++lossage; } next; } @@ -51,9 +53,9 @@ BEGIN { /^ [A-Za-z_]/ { if (renamed[actlib "::" $1]) actver = renamed[actlib "::" $1]; - else if (!versions[$1]) { + else if (!versions[actlib "::" $1] && $1 != "GLIBC_PRIVATE") { printf("version %s not defined for %s\n", $1, actlib) > "/dev/stderr"; - exit 1; + ++lossage; } else actver = $1; @@ -93,6 +95,12 @@ function close_and_move(name, real_name) { # Now print the accumulated information. END { close(sort); + + if (lossage) { + system("rm -f " tmpfile); + exit 1; + } + oldlib = ""; oldver = ""; printf("version-maps ="); diff --git a/sunrpc/xdr_stdio.c b/sunrpc/xdr_stdio.c index 4daa062c82..e73c5a5202 100644 --- a/sunrpc/xdr_stdio.c +++ b/sunrpc/xdr_stdio.c @@ -108,20 +108,20 @@ xdrstdio_destroy (XDR *xdrs) static bool_t xdrstdio_getlong (XDR *xdrs, long *lp) { - int32_t mycopy; + u_int32_t mycopy; - if (fread ((caddr_t) & mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fread ((caddr_t) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; - *lp = (int32_t) ntohl (mycopy); + *lp = (long) ntohl (mycopy); return TRUE; } static bool_t xdrstdio_putlong (XDR *xdrs, const long *lp) { - long mycopy = htonl (*lp); - lp = &mycopy; - if (fwrite ((caddr_t) lp, 4, 1, (FILE *) xdrs->x_private) != 1) + int32_t mycopy = htonl ((u_int32_t) *lp); + + if (fwrite ((caddr_t) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } diff --git a/sysdeps/generic/dl-tls.c b/sysdeps/generic/dl-tls.c index fdd569b587..4fed570d5c 100644 --- a/sysdeps/generic/dl-tls.c +++ b/sysdeps/generic/dl-tls.c @@ -71,26 +71,24 @@ _dl_next_tls_modid (void) NB: the offset +1 is due to the fact that DTV[0] is used for something else. */ result = GL(dl_tls_static_nelem) + 1; - /* If the following would not be true we mustn't have assumed - there is a gap. */ - assert (result <= GL(dl_tls_max_dtv_idx)); - do - { - while (result - disp < runp->len) - { - if (runp->slotinfo[result - disp].map == NULL) - break; - - ++result; - assert (result <= GL(dl_tls_max_dtv_idx) + 1); - } - - if (result - disp < runp->len) - break; - - disp += runp->len; - } - while ((runp = runp->next) != NULL); + if (result <= GL(dl_tls_max_dtv_idx)) + do + { + while (result - disp < runp->len) + { + if (runp->slotinfo[result - disp].map == NULL) + break; + + ++result; + assert (result <= GL(dl_tls_max_dtv_idx) + 1); + } + + if (result - disp < runp->len) + break; + + disp += runp->len; + } + while ((runp = runp->next) != NULL); if (result > GL(dl_tls_max_dtv_idx)) { diff --git a/sysdeps/ia64/_mcount.S b/sysdeps/ia64/_mcount.S index aa91cb5d42..8720a9c104 100644 --- a/sysdeps/ia64/_mcount.S +++ b/sysdeps/ia64/_mcount.S @@ -72,6 +72,7 @@ LEAF(_mcount) mov b7 = loc0 mov rp = in2 ;; + mov r3 = in0 mov r8 = loc2 mov r15 = loc3 mov b6 = r2 @@ -81,10 +82,10 @@ END(_mcount) LOCAL_LEAF(_mcount_ret_helper) .prologue .altrp b7 - .save ar.pfs, r40 + .save ar.pfs, r3 .body - alloc r2 = ar.pfs, 0, 0, 9, 0 - mov ar.pfs = r40 + alloc r2 = ar.pfs, 0, 0, 8, 0 + mov ar.pfs = r3 br b7 END(_mcount_ret_helper) diff --git a/sysdeps/ia64/elf/initfini.c b/sysdeps/ia64/elf/initfini.c index 59674fe6f2..3aa44de8f1 100644 --- a/sysdeps/ia64/elf/initfini.c +++ b/sysdeps/ia64/elf/initfini.c @@ -116,13 +116,14 @@ __asm__ (".section .init\n" "/*@_init_PROLOG_ENDS*/\n" "\n" "/*@_init_EPILOG_BEGINS*/\n" +" .section .init\n" " .proc _init#\n" +"_init:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" " .save rp, r33\n" " .body\n" -" .section .init\n" " .regstk 0,2,0,0\n" " mov r12 = r32\n" " mov ar.pfs = r34\n" @@ -155,6 +156,7 @@ __asm__ (".section .init\n" "/*@_fini_EPILOG_BEGINS*/\n" " .section .fini\n" " .proc _fini#\n" +"_fini:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" |