This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via f9995e5a7a5f68f09e17b273a794b66f6546199c (commit) via ad0e71143ec9aa173045ba7581e1c94c32f5f4ef (commit) via 15a4313d7b9f40e4a4973b9e319a673968760349 (commit) via ba8de1f5117c2e53dae392805d5d146dd353e959 (commit) from dca9cd105a0286325d94e3321d977e31e91458b8 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit f9995e5a7a5f68f09e17b273a794b66f6546199c Merge: ad0e711 dca9cd1 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Feb 5 13:28:17 2011 +0100
Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-3.x
commit ad0e71143ec9aa173045ba7581e1c94c32f5f4ef Merge: 15a4313 ba8de1f Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Feb 5 13:28:12 2011 +0100
Merge branch 'glibc-update'
commit 15a4313d7b9f40e4a4973b9e319a673968760349 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Feb 5 13:27:38 2011 +0100
Revert "naoki: Enable packaging of attrs."
This reverts commit 8e7a32baa5ede1929a4817011b265dcef452a1bf.
This causes segfaults on my box from time to time.
commit ba8de1f5117c2e53dae392805d5d146dd353e959 Author: Michael Tremer michael.tremer@ipfire.org Date: Sat Feb 5 13:26:49 2011 +0100
glibc: Update to 2.13.
Closes #135.
-----------------------------------------------------------------------
Summary of changes: pkgs/core/glibc/glibc.nm | 4 +- pkgs/core/glibc/patches/glibc-fedora.patch | 1123 ++++++++++++++++++++++++---- tools/packager | 2 +- 3 files changed, 974 insertions(+), 155 deletions(-)
Difference in files: diff --git a/pkgs/core/glibc/glibc.nm b/pkgs/core/glibc/glibc.nm index d5cfa68..271260d 100644 --- a/pkgs/core/glibc/glibc.nm +++ b/pkgs/core/glibc/glibc.nm @@ -25,8 +25,8 @@ include $(PKGROOT)/Include
PKG_NAME = glibc -PKG_VER = 2.12.2 -PKG_REL = 2 +PKG_VER = 2.13 +PKG_REL = 1
# TODO tzdata
diff --git a/pkgs/core/glibc/patches/glibc-fedora.patch b/pkgs/core/glibc/patches/glibc-fedora.patch index 2a1f881..5d66794 100644 --- a/pkgs/core/glibc/patches/glibc-fedora.patch +++ b/pkgs/core/glibc/patches/glibc-fedora.patch @@ -1,30 +1,124 @@ ---- glibc-2.12.2/ChangeLog -+++ /ChangeLog -@@ -329,6 +329,11 @@ - (do_preload): Use __RTLD_SECURE instead of is_preloaded. - (dlmopen_doit): Add __RTLD_SECURE to mode bits. +--- glibc-2.13/ChangeLog ++++ glibc-2.13-1/ChangeLog +@@ -285,6 +285,11 @@ + + * sysdeps/unix/sysv/linux/sys/swap.h (SWAP_FLAG_DISCARD): Define.
+2010-12-13 Andreas Schwab schwab@redhat.com + + * elf/dl-object.c (_dl_new_object): Ignore origin of privileged + program. + - 2010-10-06 Ulrich Drepper drepper@gmail.com + 2010-11-11 Andreas Schwab schwab@redhat.com
- * string/bug-strstr1.c: New file. -@@ -375,6 +380,10 @@ + * posix/fnmatch_loop.c (NEW_PATTERN): Fix use of alloca. +@@ -606,6 +611,11 @@ + * string/str-two-way.h (two_way_long_needle): Always clear memory + when skipping input due to the shift table.
- * version.h (VERSION): Bump for 2.12.1 release. ++2010-10-05 Andreas Schwab schwab@redhat.com ++ ++ * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't discard result of ++ decoding ACE if AI_CANONIDN. ++ + 2010-10-03 Ulrich Drepper drepper@gmail.com
+ [BZ #12005] +@@ -648,6 +658,34 @@ + * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS): + Mask out sign-bit copies when constructing f_fsid. + ++2010-09-28 Andreas Schwab schwab@redhat.com ++ ++ * elf/rtld.c (dl_main): Move setting of GLRO(dl_init_all_dirs) ++ before performing relro protection. ++ ++2010-09-27 Andreas Schwab schwab@redhat.com ++ ++ * include/link.h (struct link_map): Add l_free_initfini. ++ * elf/dl-deps.c (_dl_map_object_deps): Set it when assigning ++ l_initfini. ++ * elf/rtld.c (dl_main): Clear it on all objects loaded on startup. ++ * elf/dl-libc.c (free_mem): Free l_initfini if l_free_initfini is ++ set. ++ ++ [BZ #11561] ++ * posix/regcomp.c (parse_bracket_exp): When looking up collating ++ elements compare against the byte sequence of it, not its name. ++ ++ [BZ #6530] ++ * stdio-common/vfprintf.c (process_string_arg): Revert 2000-07-22 ++ change. ++ ++ * nss/nss_files/files-XXX.c (internal_getent): Declare linebuflen ++ as size_t. ++ ++ * sysdeps/i386/i686/multiarch/strspn.S (ENTRY): Add missing ++ backslash. ++ + 2010-09-24 Petr Baudis pasky@suse.cz + + * debug/stack_chk_fail_local.c: Add missing licence exception. +@@ -1439,6 +1477,32 @@ + call returning > 0 value. + * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise. + ++2010-07-01 Andreas Schwab schwab@redhat.com ++ ++ * include/sys/resource.h (__getrlimit): Add hidden proto. ++ * sysdeps/unix/sysv/linux/i386/getrlimit.c: Add libc_hidden_weak. ++ * sysdeps/mach/hurd/getrlimit.c: Add libc_hidden_def. ++ * resource/getrlimit.c: Likewise. ++ ++2010-06-28 Andreas Schwab schwab@redhat.com ++ ++ * allocatestack.c (setxid_mark_thread): Ensure that the exiting ++ thread is woken up. ++ ++ * elf/Makefile: Add rules to build and run unload8 test. ++ * elf/unload8.c: New file. ++ * elf/unload8mod1.c: New file. ++ * elf/unload8mod1x.c: New file. ++ * elf/unload8mod2.c: New file. ++ * elf/unload8mod3.c: New file. ++ ++ * elf/dl-close.c (_dl_close_worker): Reset private search list if ++ it wasn't used. ++ +2010-06-21 Andreas Schwab schwab@redhat.com + + * sysdeps/i386/i686/Makefile: Don't pass -mtune to assembler. + - 2010-06-02 Kirill A. Shutemov kirill@shutemov.name + 2010-06-07 Andreas Schwab schwab@redhat.com + + * dlfcn/Makefile: Remove explicit dependencies on libc.so and +@@ -1491,6 +1555,24 @@ + * hurd/hurd/fd.h (__file_name_lookup_at): Update comment. + * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS. + ++2010-06-11 Andreas Schwab schwab@redhat.com ++ ++ * elf/rtld.c (_dl_starting_up): Always define. ++ (dl_main): Always set _dl_starting_up. ++ * elf/dl-support.c (_dl_starting_up): Always define. ++ * elf/dl-init.c (_dl_init): Always clear _dl_starting_up. ++ ++2010-06-10 Andreas Schwab schwab@redhat.com ++ ++ * sysdeps/unix/sysv/linux/getpagesize.c: Don't assume AT_PAGESIZE ++ is always available. ++ ++ * sysdeps/unix/sysv/linux/i386/Versions: Export __uname under ++ GLIBC_PRIVATE. ++ * nptl/Versions: Export __getrlimit under GLIBC_PRIVATE. ++ * sysdeps/unix/sysv/linux/i386/smp.h: Call __uname instead of uname. ++ * nptl/nptl-init.c: Call __getrlimit instead of getrlimit. ++ + 2010-05-28 Luis Machado luisgpm@br.ibm.com
- * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch ---- glibc-2.12.2/ChangeLog.15 -+++ /ChangeLog.15 + * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. +--- glibc-2.13/ChangeLog.15 ++++ glibc-2.13-1/ChangeLog.15 @@ -477,6 +477,14 @@
2004-11-26 Jakub Jelinek jakub@redhat.com @@ -90,8 +184,8 @@ 2004-08-30 Roland McGrath roland@frob.com
* scripts/extract-abilist.awk: If `lastversion' variable defined, omit ---- glibc-2.12.2/ChangeLog.16 -+++ /ChangeLog.16 +--- glibc-2.13/ChangeLog.16 ++++ glibc-2.13-1/ChangeLog.16 @@ -2042,6 +2042,9 @@ (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT followed by __THROW. @@ -145,8 +239,8 @@ 2005-07-28 Thomas Schwinge schwinge@nic-nac-project.de
[BZ #1137] ---- glibc-2.12.2/ChangeLog.17 -+++ /ChangeLog.17 +--- glibc-2.13/ChangeLog.17 ++++ glibc-2.13-1/ChangeLog.17 @@ -256,6 +256,12 @@
* Makerules (libc-abis): Fix search for libc-abis in add-ons. @@ -160,7 +254,7 @@ 2010-04-05 Thomas Schwinge thomas@schwinge.name
* sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/. -@@ -1010,6 +1016,19 @@ +@@ -1010,6 +1016,13 @@ * sysdeps/x86_64/fpu/fegetenv.c: Likewise * sysdeps/s390/fpu/fegetenv.c: Likewise. Remove unused headers.
@@ -171,16 +265,10 @@ + used later with MMAP_FIXED | MMAP_SHARED to cope with different + alignment restrictions. + -+2010-02-08 Andreas Schwab schwab@redhat.com -+ -+ [BZ #11155] -+ * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: Include i386 -+ version. -+ 2010-02-05 H.J. Lu hongjiu.lu@intel.com
[BZ #11230] -@@ -2953,6 +2972,11 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com +@@ -2953,6 +2966,11 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com * sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in the unique symbol hash table should not be const.
@@ -192,7 +280,7 @@ 2009-07-21 Ulrich Drepper drepper@redhat.com
* sysdeps/x86_64/multiarch/strstr.c: Minor cleanups. Remove -@@ -3218,6 +3242,11 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com +@@ -3218,6 +3236,11 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com out common code into new function get_common_indeces. Determine extended family and model for Intel processors.
@@ -204,7 +292,7 @@ 2009-06-26 Ulrich Drepper drepper@redhat.com
* resolv/resolv.h: Define RES_SNGLKUPREOP. -@@ -11911,6 +11940,10 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com +@@ -11818,6 +11841,10 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com [BZ #4368] * stdlib/stdlib.h: Remove obsolete part of comment for realpath.
@@ -215,7 +303,7 @@ 2007-04-16 Ulrich Drepper drepper@redhat.com
[BZ #4364] -@@ -13168,6 +13201,15 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com +@@ -13075,6 +13102,15 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com separators also if no non-zero digits found. * stdlib/Makefile (tests): Add tst-strtod3.
@@ -231,8 +319,8 @@ 2006-12-09 Ulrich Drepper drepper@redhat.com
[BZ #3632] ---- glibc-2.12.2/Makeconfig -+++ /Makeconfig +--- glibc-2.13/Makeconfig ++++ glibc-2.13-1/Makeconfig @@ -789,12 +789,12 @@ endif # The assembler can generate debug information too. ifndef ASFLAGS @@ -249,8 +337,8 @@
ifndef BUILD_CC BUILD_CC = $(CC) ---- glibc-2.12.2/csu/Makefile -+++ /csu/Makefile +--- glibc-2.13/csu/Makefile ++++ glibc-2.13-1/csu/Makefile @@ -93,7 +93,8 @@ omit-deps += $(crtstuff) $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h $(compile.S) -g0 $(ASFLAGS-.os) -o $@ @@ -261,8 +349,8 @@
vpath initfini.c $(sysdirs)
---- glibc-2.12.2/csu/elf-init.c -+++ /csu/elf-init.c +--- glibc-2.13/csu/elf-init.c ++++ glibc-2.13-1/csu/elf-init.c @@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int, char **, char **) extern void (*__fini_array_start []) (void) attribute_hidden; extern void (*__fini_array_end []) (void) attribute_hidden; @@ -287,8 +375,8 @@
/* These function symbols are provided for the .init/.fini section entry points automagically by the linker. */ ---- glibc-2.12.2/debug/tst-chk1.c -+++ /debug/tst-chk1.c +--- glibc-2.13/debug/tst-chk1.c ++++ glibc-2.13-1/debug/tst-chk1.c @@ -17,6 +17,9 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -317,8 +405,149 @@ # define O 0 # else # define O 1 ---- glibc-2.12.2/elf/dl-object.c -+++ /elf/dl-object.c +--- glibc-2.13/elf/Makefile ++++ glibc-2.13-1/elf/Makefile +@@ -89,6 +89,7 @@ distribute := rtld-Rules \ + unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \ + unload6mod1.c unload6mod2.c unload6mod3.c \ + unload7mod1.c unload7mod2.c \ ++ unload8mod1.c unload8mod1x.c unload8mod2.c unload8mod3.c \ + tst-audit1.c tst-audit2.c tst-audit3.c tst-audit4.c \ + tst-auditmod1.c tst-auditmod3a.c tst-auditmod3b.c \ + tst-auditmod4a.c tst-auditmod4b.c \ +@@ -129,6 +130,7 @@ include ../Makeconfig + ifeq ($(unwind-find-fde),yes) + routines += unwind-dw2-fde-glibc + shared-only-routines += unwind-dw2-fde-glibc ++CFLAGS-unwind-dw2-fde-glibc.c = -fno-strict-aliasing + endif + + before-compile = $(objpfx)trusted-dirs.h +@@ -195,7 +197,7 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ + tst-align tst-align2 $(tests-execstack-$(have-z-execstack)) \ + tst-dlmodcount tst-dlopenrpath tst-deep1 \ + tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \ +- unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \ ++ unload3 unload4 unload5 unload6 unload7 unload8 tst-global1 order2 \ + tst-audit1 tst-audit2 \ + tst-stackguard1 tst-addr1 tst-thrlock \ + tst-unique1 tst-unique2 +@@ -248,6 +250,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ + unload4mod1 unload4mod2 unload4mod3 unload4mod4 \ + unload6mod1 unload6mod2 unload6mod3 \ + unload7mod1 unload7mod2 \ ++ unload8mod1 unload8mod1x unload8mod2 unload8mod3 \ + order2mod1 order2mod2 order2mod3 order2mod4 \ + tst-unique1mod1 tst-unique1mod2 \ + tst-unique2mod1 tst-unique2mod2 +@@ -531,6 +534,9 @@ $(objpfx)unload6mod2.so: $(libdl) + $(objpfx)unload6mod3.so: $(libdl) + $(objpfx)unload7mod1.so: $(libdl) + $(objpfx)unload7mod2.so: $(objpfx)unload7mod1.so ++$(objpfx)unload8mod1.so: $(objpfx)unload8mod2.so ++$(objpfx)unload8mod2.so: $(objpfx)unload8mod3.so ++$(objpfx)unload8mod3.so: $(libdl) + + LDFLAGS-tst-tlsmod5.so = -nostdlib + LDFLAGS-tst-tlsmod6.so = -nostdlib +@@ -832,6 +838,9 @@ $(objpfx)unload7: $(libdl) + $(objpfx)unload7.out: $(objpfx)unload7mod1.so $(objpfx)unload7mod2.so + unload7-ENV = MALLOC_PERTURB_=85 + ++$(objpfx)unload8: $(libdl) ++$(objpfx)unload8.out: $(objpfx)unload8mod1.so $(objpfx)unload8mod1x.so ++ + ifdef libdl + $(objpfx)tst-tls9-static: $(common-objpfx)dlfcn/libdl.a + $(objpfx)tst-tls9-static.out: $(objpfx)tst-tlsmod5.so $(objpfx)tst-tlsmod6.so +--- glibc-2.13/elf/dl-close.c ++++ glibc-2.13-1/elf/dl-close.c +@@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map) + + imap->l_scope_max = new_size; + } ++ else if (new_list != NULL) ++ { ++ /* We didn't change the scope array, so reset the search ++ list. */ ++ imap->l_searchlist.r_list = NULL; ++ imap->l_searchlist.r_nlist = 0; ++ } + + /* The loader is gone, so mark the object as not having one. + Note: l_idx != IDX_STILL_USED -> object will be removed. */ +--- glibc-2.13/elf/dl-deps.c ++++ glibc-2.13-1/elf/dl-deps.c +@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, + nneeded * sizeof needed[0]); + atomic_write_barrier (); + l->l_initfini = l_initfini; ++ l->l_free_initfini = 1; + } + + /* If we have no auxiliary objects just go on to the next map. */ +@@ -662,6 +663,7 @@ Filters not supported with LD_TRACE_PRELINKING")); + l_initfini[nlist] = NULL; + atomic_write_barrier (); + map->l_initfini = l_initfini; ++ map->l_free_initfini = 1; + if (l_reldeps != NULL) + { + atomic_write_barrier (); +--- glibc-2.13/elf/dl-init.c ++++ glibc-2.13-1/elf/dl-init.c +@@ -24,11 +24,9 @@ + /* Type of the initializer. */ + typedef void (*init_t) (int, char **, char **); + +-#ifndef HAVE_INLINED_SYSCALLS + /* Flag, nonzero during startup phase. */ + extern int _dl_starting_up; + extern int _dl_starting_up_internal attribute_hidden; +-#endif + + + static void +@@ -133,9 +131,7 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) + while (i-- > 0) + call_init (main_map->l_initfini[i], argc, argv, env); + +-#ifndef HAVE_INLINED_SYSCALLS + /* Finished starting up. */ + INTUSE(_dl_starting_up) = 0; +-#endif + } + INTDEF (_dl_init) +--- glibc-2.13/elf/dl-libc.c ++++ glibc-2.13-1/elf/dl-libc.c +@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) + + for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) + { +- /* Remove all additional names added to the objects. */ + for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) + { + struct libname_list *lnp = l->l_libname->next; + + l->l_libname->next = NULL; + ++ /* Remove all additional names added to the objects. */ + while (lnp != NULL) + { + struct libname_list *old = lnp; +@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem) + if (! old->dont_free) + free (old); + } ++ ++ /* Free the initfini dependency list. */ ++ if (l->l_free_initfini) ++ free (l->l_initfini); + } + + if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 +--- glibc-2.13/elf/dl-object.c ++++ glibc-2.13-1/elf/dl-object.c @@ -220,6 +220,9 @@ _dl_new_object (char *realname, const char *libname, int type, out: new->l_origin = origin; @@ -329,8 +558,21 @@
return new; } ---- glibc-2.12.2/elf/ldconfig.c -+++ /elf/ldconfig.c +--- glibc-2.13/elf/dl-support.c ++++ glibc-2.13-1/elf/dl-support.c +@@ -81,10 +81,8 @@ unsigned long long _dl_load_adds; + create a fake scope containing nothing. */ + struct r_scope_elem _dl_initial_searchlist; + +-#ifndef HAVE_INLINED_SYSCALLS + /* Nonzero during startup. */ + int _dl_starting_up = 1; +-#endif + + /* Random data provided by the kernel. */ + void *_dl_random; +--- glibc-2.13/elf/ldconfig.c ++++ glibc-2.13-1/elf/ldconfig.c @@ -1031,17 +1031,19 @@ search_dirs (void)
@@ -412,8 +654,67 @@ }
const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; ---- glibc-2.12.2/elf/tst-stackguard1.c -+++ /elf/tst-stackguard1.c +--- glibc-2.13/elf/rtld.c ++++ glibc-2.13-1/elf/rtld.c +@@ -107,7 +107,6 @@ static struct audit_list + struct audit_list *next; + } *audit_list; + +-#ifndef HAVE_INLINED_SYSCALLS + /* Set nonzero during loading and initialization of executable and + libraries, cleared before the executable's entry point runs. This + must not be initialized to nonzero, because the unused dynamic +@@ -117,7 +116,6 @@ static struct audit_list + never be called. */ + int _dl_starting_up = 0; + INTVARDEF(_dl_starting_up) +-#endif + + /* This is the structure which defines all variables global to ld.so + (except those which cannot be added for some reason). */ +@@ -923,10 +921,8 @@ dl_main (const ElfW(Phdr) *phdr, + /* Process the environment variable which control the behaviour. */ + process_envvars (&mode); + +-#ifndef HAVE_INLINED_SYSCALLS + /* Set up a flag which tells we are just starting. */ + INTUSE(_dl_starting_up) = 1; +-#endif + + if (*user_entry == (ElfW(Addr)) ENTRY_POINT) + { +@@ -2179,6 +2175,10 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + we need it in the memory handling later. */ + GLRO(dl_initial_searchlist) = *GL(dl_ns)[LM_ID_BASE]._ns_main_searchlist; + ++ /* Remember the last search directory added at startup, now that ++ malloc will no longer be the one from dl-minimal.c. */ ++ GLRO(dl_init_all_dirs) = GL(dl_all_dirs); ++ + if (prelinked) + { + if (main_map->l_info [ADDRIDX (DT_GNU_CONFLICT)] != NULL) +@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + lnp->dont_free = 1; + lnp = lnp->next; + } ++ l->l_free_initfini = 0; + + if (l != &GL(dl_rtld_map)) + _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, +@@ -2298,10 +2299,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", + lossage); + } + +- /* Remember the last search directory added at startup, now that +- malloc will no longer be the one from dl-minimal.c. */ +- GLRO(dl_init_all_dirs) = GL(dl_all_dirs); +- + if (! prelinked && rtld_multiple_ref) + { + /* There was an explicit ref to the dynamic linker as a shared lib. +--- glibc-2.13/elf/tst-stackguard1.c ++++ glibc-2.13-1/elf/tst-stackguard1.c @@ -160,17 +160,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -438,17 +739,107 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-2.12.2/include/bits/stdlib-ldbl.h -+++ /include/bits/stdlib-ldbl.h +--- glibc-2.13/elf/unload8.c ++++ glibc-2.13-1/elf/unload8.c +@@ -0,0 +1,33 @@ ++#include <dlfcn.h> ++#include <stdio.h> ++ ++int ++main (void) ++{ ++ void *h = dlopen ("$ORIGIN/unload8mod1.so", RTLD_LAZY); ++ if (h == NULL) ++ { ++ puts ("dlopen unload8mod1.so failed"); ++ return 1; ++ } ++ ++ void *h2 = dlopen ("$ORIGIN/unload8mod1x.so", RTLD_LAZY); ++ if (h2 == NULL) ++ { ++ puts ("dlopen unload8mod1x.so failed"); ++ return 1; ++ } ++ dlclose (h2); ++ ++ int (*mod1) (void) = dlsym (h, "mod1"); ++ if (mod1 == NULL) ++ { ++ puts ("dlsym failed"); ++ return 1; ++ } ++ ++ mod1 (); ++ dlclose (h); ++ ++ return 0; ++} +--- glibc-2.13/elf/unload8mod1.c ++++ glibc-2.13-1/elf/unload8mod1.c +@@ -0,0 +1,7 @@ ++extern void mod2 (void); ++ ++void ++mod1 (void) ++{ ++ mod2 (); ++} +--- glibc-2.13/elf/unload8mod1x.c ++++ glibc-2.13-1/elf/unload8mod1x.c +@@ -0,0 +1 @@ ++int mod1x; +--- glibc-2.13/elf/unload8mod2.c ++++ glibc-2.13-1/elf/unload8mod2.c +@@ -0,0 +1,7 @@ ++extern void mod3 (void); ++ ++void ++mod2 (void) ++{ ++ mod3 (); ++} +--- glibc-2.13/elf/unload8mod3.c ++++ glibc-2.13-1/elf/unload8mod3.c +@@ -0,0 +1,27 @@ ++#include <dlfcn.h> ++#include <stdio.h> ++#include <stdlib.h> ++ ++void ++mod3_fini2 (void) ++{ ++} ++ ++void ++mod3_fini (void) ++{ ++ mod3_fini2 (); ++} ++ ++void ++mod3 (void) ++{ ++ void *h = dlopen ("$ORIGIN/unload8mod2.so", RTLD_LAZY); ++ if (h == NULL) ++ { ++ puts ("dlopen unload8mod2.so failed"); ++ exit (1); ++ } ++ ++ atexit (mod3_fini); ++} +--- glibc-2.13/include/bits/stdlib-ldbl.h ++++ glibc-2.13-1/include/bits/stdlib-ldbl.h @@ -0,0 +1 @@ +#include <stdlib/bits/stdlib-ldbl.h> ---- glibc-2.12.2/include/bits/wchar-ldbl.h -+++ /include/bits/wchar-ldbl.h +--- glibc-2.13/include/bits/wchar-ldbl.h ++++ glibc-2.13-1/include/bits/wchar-ldbl.h @@ -0,0 +1 @@ +#include <wcsmbs/bits/wchar-ldbl.h> ---- glibc-2.12.2/include/features.h -+++ /include/features.h -@@ -308,8 +308,13 @@ +--- glibc-2.13/include/features.h ++++ glibc-2.13-1/include/features.h +@@ -309,8 +309,13 @@ #endif
#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \ @@ -464,8 +855,39 @@ # define __USE_FORTIFY_LEVEL 2 # else # define __USE_FORTIFY_LEVEL 1 ---- glibc-2.12.2/intl/locale.alias -+++ /intl/locale.alias +--- glibc-2.13/include/link.h ++++ glibc-2.13-1/include/link.h +@@ -192,6 +192,9 @@ struct link_map + during LD_TRACE_PRELINKING=1 + contains any DT_SYMBOLIC + libraries. */ ++ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be ++ freed, ie. not allocated with ++ the dummy malloc in ld.so. */ + + /* Collected information about own RPATH directories. */ + struct r_search_path_struct l_rpath_dirs; +--- glibc-2.13/include/sys/resource.h ++++ glibc-2.13-1/include/sys/resource.h +@@ -13,4 +13,5 @@ extern int __getrusage (enum __rusage_who __who, struct rusage *__usage) + + extern int __setrlimit (enum __rlimit_resource __resource, + const struct rlimit *__rlimits); ++libc_hidden_proto (__getrlimit) + #endif +--- glibc-2.13/inet/Makefile ++++ glibc-2.13-1/inet/Makefile +@@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \ + + include ../Rules + ++CFLAGS-tst-inet6_rth.c = -fno-strict-aliasing ++ + ifeq ($(have-thread-library),yes) + + CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions +--- glibc-2.13/intl/locale.alias ++++ glibc-2.13-1/intl/locale.alias @@ -57,8 +57,6 @@ korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR @@ -475,8 +897,8 @@ norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 ---- glibc-2.12.2/libio/stdio.h -+++ /libio/stdio.h +--- glibc-2.13/libio/stdio.h ++++ glibc-2.13-1/libio/stdio.h @@ -165,10 +165,12 @@ typedef _G_fpos64_t fpos64_t; extern struct _IO_FILE *stdin; /* Standard input stream. */ extern struct _IO_FILE *stdout; /* Standard output stream. */ @@ -490,8 +912,8 @@
__BEGIN_NAMESPACE_STD /* Remove file FILENAME. */ ---- glibc-2.12.2/locale/iso-4217.def -+++ /locale/iso-4217.def +--- glibc-2.13/locale/iso-4217.def ++++ glibc-2.13-1/locale/iso-4217.def @@ -8,6 +8,7 @@ * * !!! The list has to be sorted !!! @@ -583,8 +1005,8 @@ DEFINE_INT_CURR("PYG") /* Paraguay Guarani */ DEFINE_INT_CURR("QAR") /* Qatar Rial */ DEFINE_INT_CURR("ROL") /* Romanian Leu */ ---- glibc-2.12.2/locale/programs/locarchive.c -+++ /locale/programs/locarchive.c +--- glibc-2.13/locale/programs/locarchive.c ++++ glibc-2.13-1/locale/programs/locarchive.c @@ -134,7 +134,7 @@ create_archive (const char *archivefname, struct locarhandle *ah) size_t reserved = RESERVE_MMAP_SIZE; int xflags = 0; @@ -643,8 +1065,19 @@ add_alias (struct locarhandle *ah, const char *alias, bool replace, const char *oldname, uint32_t *locrec_offset_p) { ---- glibc-2.12.2/localedata/Makefile -+++ /localedata/Makefile +--- glibc-2.13/localedata/ChangeLog ++++ glibc-2.13-1/localedata/ChangeLog +@@ -1,3 +1,8 @@ ++2010-12-08 Andreas Schwab schwab@redhat.com ++ ++ * SUPPORTED: Remove .UTF-8 suffix from az_AZ, as_IN, tt_RU locale ++ names. ++ + 2010-05-17 Andreas Schwab schwab@redhat.com + + * locales/es_CR (LC_ADDRESS): Fix character names in lang_ab. +--- glibc-2.13/localedata/Makefile ++++ glibc-2.13-1/localedata/Makefile @@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir echo -n '...'; \ input=`echo $$locale | sed 's/([^.]*)[^@]*(.*)/\1\2/'`; \ @@ -653,8 +1086,19 @@ -i locales/$$input -c -f charmaps/$$charset \ $(addprefix --prefix=,$(install_root)) $$locale; \ echo ' done'; \ ---- glibc-2.12.2/localedata/SUPPORTED -+++ /localedata/SUPPORTED +--- glibc-2.13/localedata/SUPPORTED ++++ glibc-2.13-1/localedata/SUPPORTED +@@ -46,8 +46,8 @@ ar_TN.UTF-8/UTF-8 \ + ar_TN/ISO-8859-6 \ + ar_YE.UTF-8/UTF-8 \ + ar_YE/ISO-8859-6 \ +-az_AZ.UTF-8/UTF-8 \ +-as_IN.UTF-8/UTF-8 \ ++az_AZ/UTF-8 \ ++as_IN/UTF-8 \ + ast_ES.UTF-8/UTF-8 \ + ast_ES/ISO-8859-15 \ + be_BY.UTF-8/UTF-8 \ @@ -85,6 +85,7 @@ cy_GB.UTF-8/UTF-8 \ cy_GB/ISO-8859-14 \ da_DK.UTF-8/UTF-8 \ @@ -696,8 +1140,19 @@ ta_IN/UTF-8 \ te_IN/UTF-8 \ tg_TJ.UTF-8/UTF-8 \ ---- glibc-2.12.2/localedata/locales/cy_GB -+++ /localedata/locales/cy_GB +@@ -385,8 +391,8 @@ tr_CY/ISO-8859-9 \ + tr_TR.UTF-8/UTF-8 \ + tr_TR/ISO-8859-9 \ + ts_ZA/UTF-8 \ +-tt_RU.UTF-8/UTF-8 \ +-tt_RU.UTF-8@iqtelif/UTF-8 \ ++tt_RU/UTF-8 \ ++tt_RU@iqtelif/UTF-8 \ + ug_CN/UTF-8 \ + uk_UA.UTF-8/UTF-8 \ + uk_UA/KOI8-U \ +--- glibc-2.13/localedata/locales/cy_GB ++++ glibc-2.13-1/localedata/locales/cy_GB @@ -248,8 +248,11 @@ mon "<U0049><U006F><U006E><U0061><U0077><U0072>";/ d_t_fmt "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U006d><U0069><U0073><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0079>" @@ -712,8 +1167,8 @@ END LC_TIME
LC_MESSAGES ---- glibc-2.12.2/localedata/locales/en_GB -+++ /localedata/locales/en_GB +--- glibc-2.13/localedata/locales/en_GB ++++ glibc-2.13-1/localedata/locales/en_GB @@ -116,8 +116,8 @@ mon "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" @@ -725,8 +1180,8 @@ date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ <U0025><U005A><U0020><U0025><U0059>" ---- glibc-2.12.2/localedata/locales/no_NO -+++ /localedata/locales/no_NO +--- glibc-2.13/localedata/locales/no_NO ++++ glibc-2.13-1/localedata/locales/no_NO @@ -0,0 +1,69 @@ +escape_char / +comment_char % @@ -797,8 +1252,8 @@ +LC_ADDRESS +copy "nb_NO" +END LC_ADDRESS ---- glibc-2.12.2/localedata/locales/zh_TW -+++ /localedata/locales/zh_TW +--- glibc-2.13/localedata/locales/zh_TW ++++ glibc-2.13-1/localedata/locales/zh_TW @@ -1,7 +1,7 @@ comment_char % escape_char / @@ -826,8 +1281,8 @@ revision "0.2" date "2000-08-02" % ---- glibc-2.12.2/malloc/mcheck.c -+++ /malloc/mcheck.c +--- glibc-2.13/malloc/mcheck.c ++++ glibc-2.13-1/malloc/mcheck.c @@ -25,10 +25,26 @@ # include <mcheck.h> # include <stdint.h> @@ -904,8 +1359,8 @@
old_free_hook = __free_hook; __free_hook = freehook; ---- glibc-2.12.2/manual/libc.texinfo -+++ /manual/libc.texinfo +--- glibc-2.13/manual/libc.texinfo ++++ glibc-2.13-1/manual/libc.texinfo @@ -5,7 +5,7 @@ @c setchapternewpage odd
@@ -915,8 +1370,8 @@ @direntry * Libc: (libc). C library. @end direntry ---- glibc-2.12.2/misc/sys/cdefs.h -+++ /misc/sys/cdefs.h +--- glibc-2.13/misc/sys/cdefs.h ++++ glibc-2.13-1/misc/sys/cdefs.h @@ -132,7 +132,10 @@ #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) #define __bos0(ptr) __builtin_object_size (ptr, 0) @@ -960,8 +1415,19 @@ # define __va_arg_pack() __builtin_va_arg_pack () # define __va_arg_pack_len() __builtin_va_arg_pack_len () #endif ---- glibc-2.12.2/nis/nss -+++ /nis/nss +--- glibc-2.13/nis/Makefile ++++ glibc-2.13-1/nis/Makefile +@@ -69,6 +69,8 @@ libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) + + include ../Rules + ++CFLAGS-nis_findserv.c = -fno-strict-aliasing ++CFLAGS-ypclnt.c = -fno-strict-aliasing + + $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version) + $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ +--- glibc-2.13/nis/nss ++++ glibc-2.13-1/nis/nss @@ -25,7 +25,7 @@ # memory with every getXXent() call. Otherwise each getXXent() call # might result into a network communication with the server to get @@ -971,9 +1437,9 @@ # # ADJUNCT_AS_SHADOW # If set to TRUE, the passwd routines in the NIS NSS module will not ---- glibc-2.12.2/nptl/ChangeLog -+++ /nptl/ChangeLog -@@ -3938,6 +3938,15 @@ +--- glibc-2.13/nptl/ChangeLog ++++ glibc-2.13-1/nptl/ChangeLog +@@ -3982,6 +3982,15 @@ Use __sigfillset. Document that sigfillset does the right thing wrt to SIGSETXID.
@@ -989,7 +1455,7 @@ 2005-07-11 Jakub Jelinek jakub@redhat.com
[BZ #1102] -@@ -4674,6 +4683,11 @@ +@@ -4718,6 +4727,11 @@ Move definition inside libpthread, libc, librt check. Provide definition for rtld.
@@ -1001,7 +1467,7 @@ 2004-09-02 Ulrich Drepper drepper@redhat.com
* sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp. -@@ -6748,6 +6762,11 @@ +@@ -6792,6 +6806,11 @@
* Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
@@ -1013,8 +1479,8 @@ 2003-07-25 Jakub Jelinek jakub@redhat.com
* tst-cancel17.c (do_test): Check if aio_cancel failed. ---- glibc-2.12.2/nptl/Makefile -+++ /nptl/Makefile +--- glibc-2.13/nptl/Makefile ++++ glibc-2.13-1/nptl/Makefile @@ -342,7 +342,8 @@ endif extra-objs += $(crti-objs) $(crtn-objs) omit-deps += crti crtn @@ -1047,8 +1513,49 @@ else $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a endif ---- glibc-2.12.2/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h -+++ /nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h +--- glibc-2.13/nptl/Versions ++++ glibc-2.13-1/nptl/Versions +@@ -30,6 +30,7 @@ libc { + __libc_alloca_cutoff; + # Internal libc interface to libpthread + __libc_dl_error_tsd; ++ __getrlimit; + } + } + +--- glibc-2.13/nptl/allocatestack.c ++++ glibc-2.13-1/nptl/allocatestack.c +@@ -994,7 +994,16 @@ setxid_mark_thread (struct xid_command *cmdp, struct pthread *t) + + /* If the thread is exiting right now, ignore it. */ + if ((ch & EXITING_BITMASK) != 0) +- return; ++ { ++ /* Release the futex if there is no other setxid in ++ progress. */ ++ if ((ch & SETXID_BITMASK) == 0) ++ { ++ t->setxid_futex = 1; ++ lll_futex_wake (&t->setxid_futex, 1, LLL_PRIVATE); ++ } ++ return; ++ } + } + while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling, + ch | SETXID_BITMASK, ch)); +--- glibc-2.13/nptl/nptl-init.c ++++ glibc-2.13-1/nptl/nptl-init.c +@@ -396,7 +396,7 @@ __pthread_initialize_minimal_internal (void) + /* Determine the default allowed stack size. This is the size used + in case the user does not specify one. */ + struct rlimit limit; +- if (getrlimit (RLIMIT_STACK, &limit) != 0 ++ if (__getrlimit (RLIMIT_STACK, &limit) != 0 + || limit.rlim_cur == RLIM_INFINITY) + /* The system limit is not usable. Use an architecture-specific + default. */ +--- glibc-2.13/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h ++++ glibc-2.13-1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h @@ -189,4 +189,7 @@ /* Typed memory objects are not available. */ #define _POSIX_TYPED_MEMORY_OBJECTS -1 @@ -1057,8 +1564,28 @@ +#define _XOPEN_STREAMS -1 + #endif /* bits/posix_opt.h */ ---- glibc-2.12.2/nptl/sysdeps/unix/sysv/linux/kernel-features.h -+++ /nptl/sysdeps/unix/sysv/linux/kernel-features.h +--- glibc-2.13/nptl/sysdeps/unix/sysv/linux/i386/Versions ++++ glibc-2.13-1/nptl/sysdeps/unix/sysv/linux/i386/Versions +@@ -0,0 +1,6 @@ ++libc { ++ GLIBC_PRIVATE { ++ # Internal libc interface to libpthread ++ __uname; ++ } ++} +--- glibc-2.13/nptl/sysdeps/unix/sysv/linux/i386/smp.h ++++ glibc-2.13-1/nptl/sysdeps/unix/sysv/linux/i386/smp.h +@@ -37,7 +37,7 @@ is_smp_system (void) + char *cp; + + /* Try reading the number using `sysctl' first. */ +- if (uname (&u.uts) == 0) ++ if (__uname (&u.uts) == 0) + cp = u.uts.version; + else + { +--- glibc-2.13/nptl/sysdeps/unix/sysv/linux/kernel-features.h ++++ glibc-2.13-1/nptl/sysdeps/unix/sysv/linux/kernel-features.h @@ -0,0 +1,6 @@ +#include_next <kernel-features.h> + @@ -1066,8 +1593,8 @@ +#ifndef __ASSUME_CLONE_THREAD_FLAGS +# define __ASSUME_CLONE_THREAD_FLAGS 1 +#endif ---- glibc-2.12.2/nptl/tst-stackguard1.c -+++ /nptl/tst-stackguard1.c +--- glibc-2.13/nptl/tst-stackguard1.c ++++ glibc-2.13-1/nptl/tst-stackguard1.c @@ -190,17 +190,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -1092,8 +1619,8 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-2.12.2/nscd/nscd.conf -+++ /nscd/nscd.conf +--- glibc-2.13/nscd/nscd.conf ++++ glibc-2.13-1/nscd/nscd.conf @@ -33,7 +33,7 @@ # logfile /var/log/nscd.log # threads 4 @@ -1103,8 +1630,8 @@ # stat-user somebody debug-level 0 # reload-count 5 ---- glibc-2.12.2/nscd/nscd.init -+++ /nscd/nscd.init +--- glibc-2.13/nscd/nscd.init ++++ glibc-2.13-1/nscd/nscd.init @@ -9,6 +9,7 @@ # slow naming services like NIS, NIS+, LDAP, or hesiod. # processname: /usr/sbin/nscd @@ -1181,9 +1708,37 @@ ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" ---- glibc-2.12.2/posix/Makefile -+++ /posix/Makefile -@@ -317,15 +317,8 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \ +--- glibc-2.13/nss/Makefile ++++ glibc-2.13-1/nss/Makefile +@@ -75,6 +75,7 @@ endif + + include ../Rules + ++CFLAGS-files-hosts.c = -fno-strict-aliasing + + ifeq (yes,$(build-static-nss)) + $(objpfx)getent: $(objpfx)libnss_files.a +--- glibc-2.13/nss/nss_files/files-XXX.c ++++ glibc-2.13-1/nss/nss_files/files-XXX.c +@@ -1,5 +1,5 @@ + /* Common code for file-based databases in nss_files module. +- Copyright (C) 1996-1999,2001,2002,2004,2007,2008 ++ Copyright (C) 1996-1999,2001,2002,2004,2007,2008,2010 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + +@@ -190,7 +190,7 @@ internal_getent (struct STRUCTURE *result, + { + char *p; + struct parser_data *data = (void *) buffer; +- int linebuflen = buffer + buflen - data->linebuffer; ++ size_t linebuflen = buffer + buflen - data->linebuffer; + int parse_result; + + if (buflen < sizeof *data + 2) +--- glibc-2.13/posix/Makefile ++++ glibc-2.13-1/posix/Makefile +@@ -325,15 +325,8 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \ mv -f $@/$$spec.new $@/$$spec; \ done < $(objpfx)getconf.speclist
@@ -1203,8 +1758,8 @@ + | sed -n -e '/START_OF_STRINGS/,$${/(POSIX_V[67]|_XBS5)_/{s/^[^"]*"//;s/".*$$//;p}}' \ + > $@.new mv -f $@.new $@ ---- glibc-2.12.2/posix/gai.conf -+++ /posix/gai.conf +--- glibc-2.13/posix/gai.conf ++++ glibc-2.13-1/posix/gai.conf @@ -41,7 +41,7 @@ # # precedence <mask> <value> @@ -1229,8 +1784,8 @@ #scopev4 ::ffff:0.0.0.0/96 14 +# +# This is what the Red Hat setting currently uses. ---- glibc-2.12.2/posix/getconf.speclist.h -+++ /posix/getconf.speclist.h +--- glibc-2.13/posix/getconf.speclist.h ++++ glibc-2.13-1/posix/getconf.speclist.h @@ -0,0 +1,39 @@ +#include <unistd.h> +const char *START_OF_STRINGS = @@ -1271,8 +1826,208 @@ +"XBS5_LPBIG_OFFBIG" +#endif +""; ---- glibc-2.12.2/streams/Makefile -+++ /streams/Makefile +--- glibc-2.13/posix/regcomp.c ++++ glibc-2.13-1/posix/regcomp.c +@@ -2745,40 +2745,29 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, + + /* Local function for parse_bracket_exp used in _LIBC environement. + Seek the collating symbol entry correspondings to NAME. +- Return the index of the symbol in the SYMB_TABLE. */ ++ Return the index of the symbol in the SYMB_TABLE, ++ or -1 if not found. */ + + auto inline int32_t + __attribute ((always_inline)) +- seek_collating_symbol_entry (name, name_len) +- const unsigned char *name; +- size_t name_len; ++ seek_collating_symbol_entry (const unsigned char *name, size_t name_len) + { +- int32_t hash = elem_hash ((const char *) name, name_len); +- int32_t elem = hash % table_size; +- if (symb_table[2 * elem] != 0) +- { +- int32_t second = hash % (table_size - 2) + 1; +- +- do +- { +- /* First compare the hashing value. */ +- if (symb_table[2 * elem] == hash +- /* Compare the length of the name. */ +- && name_len == extra[symb_table[2 * elem + 1]] +- /* Compare the name. */ +- && memcmp (name, &extra[symb_table[2 * elem + 1] + 1], +- name_len) == 0) +- { +- /* Yep, this is the entry. */ +- break; +- } ++ int32_t elem; + +- /* Next entry. */ +- elem += second; +- } +- while (symb_table[2 * elem] != 0); +- } +- return elem; ++ for (elem = 0; elem < table_size; elem++) ++ if (symb_table[2 * elem] != 0) ++ { ++ int32_t idx = symb_table[2 * elem + 1]; ++ /* Skip the name of collating element name. */ ++ idx += 1 + extra[idx]; ++ if (/* Compare the length of the name. */ ++ name_len == extra[idx] ++ /* Compare the name. */ ++ && memcmp (name, &extra[idx + 1], name_len) == 0) ++ /* Yep, this is the entry. */ ++ return elem; ++ } ++ return -1; + } + + /* Local function for parse_bracket_exp used in _LIBC environment. +@@ -2787,8 +2776,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, + + auto inline unsigned int + __attribute ((always_inline)) +- lookup_collation_sequence_value (br_elem) +- bracket_elem_t *br_elem; ++ lookup_collation_sequence_value (bracket_elem_t *br_elem) + { + if (br_elem->type == SB_CHAR) + { +@@ -2816,7 +2804,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, + int32_t elem, idx; + elem = seek_collating_symbol_entry (br_elem->opr.name, + sym_name_len); +- if (symb_table[2 * elem] != 0) ++ if (elem != -1) + { + /* We found the entry. */ + idx = symb_table[2 * elem + 1]; +@@ -2834,7 +2822,7 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, + /* Return the collation sequence value. */ + return *(unsigned int *) (extra + idx); + } +- else if (symb_table[2 * elem] == 0 && sym_name_len == 1) ++ else if (sym_name_len == 1) + { + /* No valid character. Match it as a single byte + character. */ +@@ -2856,11 +2844,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, + + auto inline reg_errcode_t + __attribute ((always_inline)) +- build_range_exp (sbcset, mbcset, range_alloc, start_elem, end_elem) +- re_charset_t *mbcset; +- int *range_alloc; +- bitset_t sbcset; +- bracket_elem_t *start_elem, *end_elem; ++ build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc, ++ bracket_elem_t *start_elem, bracket_elem_t *end_elem) + { + unsigned int ch; + uint32_t start_collseq; +@@ -2939,25 +2924,22 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token, + + auto inline reg_errcode_t + __attribute ((always_inline)) +- build_collating_symbol (sbcset, mbcset, coll_sym_alloc, name) +- re_charset_t *mbcset; +- int *coll_sym_alloc; +- bitset_t sbcset; +- const unsigned char *name; ++ build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, ++ int *coll_sym_alloc, const unsigned char *name) + { + int32_t elem, idx; + size_t name_len = strlen ((const char *) name); + if (nrules != 0) + { + elem = seek_collating_symbol_entry (name, name_len); +- if (symb_table[2 * elem] != 0) ++ if (elem != -1) + { + /* We found the entry. */ + idx = symb_table[2 * elem + 1]; + /* Skip the name of collating element name. */ + idx += 1 + extra[idx]; + } +- else if (symb_table[2 * elem] == 0 && name_len == 1) ++ else if (name_len == 1) + { + /* No valid character, treat it as a normal + character. */ +--- glibc-2.13/resolv/Makefile ++++ glibc-2.13-1/resolv/Makefile +@@ -77,6 +77,7 @@ CPPFLAGS += -Dgethostbyname=res_gethostbyname \ + -Dgetnetbyaddr=res_getnetbyaddr + + CFLAGS-res_hconf.c = -fexceptions ++CFLAGS-res_send.c = -fno-strict-aliasing + + # The BIND code elicits some harmless warnings. + +cflags += -Wno-strict-prototypes -Wno-write-strings +--- glibc-2.13/resource/getrlimit.c ++++ glibc-2.13-1/resource/getrlimit.c +@@ -28,6 +28,7 @@ __getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) + __set_errno (ENOSYS); + return -1; + } ++libc_hidden_def (__getrlimit) + weak_alias (__getrlimit, getrlimit) + + stub_warning (getrlimit) +--- glibc-2.13/stdio-common/vfprintf.c ++++ glibc-2.13-1/stdio-common/vfprintf.c +@@ -1160,41 +1160,9 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap) + else if (!is_long && spec != L_('S')) \ + { \ + if (prec != -1) \ +- { \ +- /* Search for the end of the string, but don't search past \ +- the length (in bytes) specified by the precision. Also \ +- don't use incomplete characters. */ \ +- if (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MB_CUR_MAX) == 1) \ +- len = __strnlen (string, prec); \ +- else \ +- { \ +- /* In case we have a multibyte character set the \ +- situation is more complicated. We must not copy \ +- bytes at the end which form an incomplete character. */\ +- size_t ignore_size = (unsigned) prec > 1024 ? 1024 : prec;\ +- wchar_t ignore[ignore_size]; \ +- const char *str2 = string; \ +- const char *strend = string + prec; \ +- if (strend < string) \ +- strend = (const char *) UINTPTR_MAX; \ +- \ +- mbstate_t ps; \ +- memset (&ps, '\0', sizeof (ps)); \ +- \ +- while (str2 != NULL && str2 < strend) \ +- if (__mbsnrtowcs (ignore, &str2, strend - str2, \ +- ignore_size, &ps) == (size_t) -1) \ +- { \ +- done = -1; \ +- goto all_done; \ +- } \ +- \ +- if (str2 == NULL) \ +- len = strlen (string); \ +- else \ +- len = str2 - string - (ps.__count & 7); \ +- } \ +- } \ ++ /* Search for the end of the string, but don't search past \ ++ the length (in bytes) specified by the precision. */ \ ++ len = __strnlen (string, prec); \ + else \ + len = strlen (string); \ + } \ +--- glibc-2.13/streams/Makefile ++++ glibc-2.13-1/streams/Makefile @@ -21,7 +21,7 @@ # subdir := streams @@ -1282,8 +2037,21 @@ routines = isastream getmsg getpmsg putmsg putpmsg fattach fdetach
include ../Rules ---- glibc-2.12.2/sysdeps/generic/dl-cache.h -+++ /sysdeps/generic/dl-cache.h +--- glibc-2.13/sunrpc/Makefile ++++ glibc-2.13-1/sunrpc/Makefile +@@ -129,6 +129,10 @@ CFLAGS-openchild.c = -fexceptions + + CPPFLAGS += -D_RPC_THREAD_SAFE_ + ++CFLAGS-clnt_tcp.c = -fno-strict-aliasing ++CFLAGS-clnt_udp.c = -fno-strict-aliasing ++CFLAGS-clnt_unix.c = -fno-strict-aliasing ++ + include ../Rules + + $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \ +--- glibc-2.13/sysdeps/generic/dl-cache.h ++++ glibc-2.13-1/sysdeps/generic/dl-cache.h @@ -36,6 +36,14 @@ # define add_system_dir(dir) add_dir (dir) #endif @@ -1299,8 +2067,8 @@ #define CACHEMAGIC "ld.so-1.7.0"
/* libc5 and glibc 2.0/2.1 use the same format. For glibc 2.2 another ---- glibc-2.12.2/sysdeps/i386/Makefile -+++ /sysdeps/i386/Makefile +--- glibc-2.13/sysdeps/i386/Makefile ++++ glibc-2.13-1/sysdeps/i386/Makefile @@ -2,6 +2,8 @@ # Every i386 port in use uses gas syntax (I think). asm-CPPFLAGS += -DGAS_SYNTAX @@ -1310,7 +2078,7 @@ # The i386 `long double' is a distinct type we support. long-double-fcts = yes
-@@ -64,6 +66,14 @@ endif +@@ -65,6 +67,14 @@ endif
ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS))) defines += -DNO_TLS_DIRECT_SEG_REFS @@ -1325,8 +2093,8 @@ endif
ifeq ($(subdir),elf) ---- glibc-2.12.2/sysdeps/i386/i686/Makefile -+++ /sysdeps/i386/i686/Makefile +--- glibc-2.13/sysdeps/i386/i686/Makefile ++++ glibc-2.13-1/sysdeps/i386/i686/Makefile @@ -9,19 +9,3 @@ stack-align-test-flags += -msse ifeq ($(subdir),string) sysdep_routines += cacheinfo @@ -1347,8 +2115,21 @@ -ASFLAGS-.ob += -Wa,-mtune=i686 -ASFLAGS-.oS += -Wa,-mtune=i686 -endif ---- glibc-2.12.2/sysdeps/ia64/Makefile -+++ /sysdeps/ia64/Makefile +--- glibc-2.13/sysdeps/i386/i686/multiarch/strspn.S ++++ glibc-2.13-1/sysdeps/i386/i686/multiarch/strspn.S +@@ -76,8 +76,8 @@ END(strspn) + # define ENTRY(name) \ + .type __strspn_ia32, @function; \ + .globl __strspn_ia32; \ +- .p2align 4 +- __strspn_ia32: cfi_startproc; \ ++ .p2align 4; \ ++__strspn_ia32: cfi_startproc; \ + CALL_MCOUNT + # undef END + # define END(name) \ +--- glibc-2.13/sysdeps/ia64/Makefile ++++ glibc-2.13-1/sysdeps/ia64/Makefile @@ -12,8 +12,8 @@ elide-routines.os += hp-timing
ifeq (yes,$(build-shared)) @@ -1360,8 +2141,8 @@ endif endif
---- glibc-2.12.2/sysdeps/ia64/ia64libgcc.S -+++ /sysdeps/ia64/ia64libgcc.S +--- glibc-2.13/sysdeps/ia64/ia64libgcc.S ++++ glibc-2.13-1/sysdeps/ia64/ia64libgcc.S @@ -1,350 +0,0 @@ -/* From the Intel IA-64 Optimization Guide, choose the minimum latency - alternative. */ @@ -1713,8 +2494,8 @@ - .symver ___multi3, __multi3@GLIBC_2.2 - -#endif ---- glibc-2.12.2/sysdeps/ia64/libgcc-compat.c -+++ /sysdeps/ia64/libgcc-compat.c +--- glibc-2.13/sysdeps/ia64/libgcc-compat.c ++++ glibc-2.13-1/sysdeps/ia64/libgcc-compat.c @@ -0,0 +1,84 @@ +/* pre-.hidden libgcc compatibility + Copyright (C) 2002 Free Software Foundation, Inc. @@ -1800,9 +2581,25 @@ +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); + +#endif ---- glibc-2.12.2/sysdeps/posix/getaddrinfo.c -+++ /sysdeps/posix/getaddrinfo.c -@@ -1099,10 +1099,12 @@ static const struct scopeentry +--- glibc-2.13/sysdeps/mach/hurd/getrlimit.c ++++ glibc-2.13-1/sysdeps/mach/hurd/getrlimit.c +@@ -44,4 +44,5 @@ __getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) + + return 0; + } ++libc_hidden_def (__getrlimit) + weak_alias (__getrlimit, getrlimit) +--- glibc-2.13/sysdeps/posix/getaddrinfo.c ++++ glibc-2.13-1/sysdeps/posix/getaddrinfo.c +@@ -965,6 +965,7 @@ gaih_inet (const char *name, const struct gaih_service *service, + make a copy. */ + if (out == canon) + goto make_copy; ++ canon = out; + } + else + #endif +@@ -1100,10 +1101,12 @@ static const struct scopeentry /* Link-local addresses: scope 2. */ { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 }, { { { 127, 0, 0, 0 } }, htonl_c (0xff000000), 2 }, @@ -1815,8 +2612,8 @@ /* Default: scope 14. */ { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 } }; ---- glibc-2.12.2/sysdeps/powerpc/powerpc64/Makefile -+++ /sysdeps/powerpc/powerpc64/Makefile +--- glibc-2.13/sysdeps/powerpc/powerpc64/Makefile ++++ glibc-2.13-1/sysdeps/powerpc/powerpc64/Makefile @@ -30,6 +30,7 @@ ifneq ($(elf),no) # we use -fpic instead which is much better. CFLAGS-initfini.s += -fpic -O1 @@ -1825,8 +2622,16 @@ endif
ifeq ($(subdir),elf) ---- glibc-2.12.2/sysdeps/unix/nice.c -+++ /sysdeps/unix/nice.c +--- glibc-2.13/sysdeps/powerpc/powerpc64/elf/Makefile ++++ glibc-2.13-1/sysdeps/powerpc/powerpc64/elf/Makefile +@@ -9,3 +9,5 @@ CFLAGS-rtld-mempcpy.os = $(no-special-regs) + CFLAGS-rtld-memmove.os = $(no-special-regs) + CFLAGS-rtld-memchr.os = $(no-special-regs) + CFLAGS-rtld-strnlen.os = $(no-special-regs) ++ ++CFLAGS-gmon-start.c = -fno-strict-aliasing +--- glibc-2.13/sysdeps/unix/nice.c ++++ glibc-2.13-1/sysdeps/unix/nice.c @@ -42,7 +42,12 @@ nice (int incr) __set_errno (save); } @@ -1841,8 +2646,8 @@ if (result == -1) { if (errno == EACCES) ---- glibc-2.12.2/sysdeps/unix/sysv/linux/check_pf.c -+++ /sysdeps/unix/sysv/linux/check_pf.c +--- glibc-2.13/sysdeps/unix/sysv/linux/check_pf.c ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/check_pf.c @@ -27,13 +27,10 @@ #include <unistd.h> #include <sys/socket.h> @@ -1858,8 +2663,8 @@
#ifndef IFA_F_HOMEADDRESS # define IFA_F_HOMEADDRESS 0 ---- glibc-2.12.2/sysdeps/unix/sysv/linux/dl-osinfo.h -+++ /sysdeps/unix/sysv/linux/dl-osinfo.h +--- glibc-2.13/sysdeps/unix/sysv/linux/dl-osinfo.h ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -17,10 +17,13 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -1907,8 +2712,8 @@ } else #endif ---- glibc-2.12.2/sysdeps/unix/sysv/linux/futimesat.c -+++ /sysdeps/unix/sysv/linux/futimesat.c +--- glibc-2.13/sysdeps/unix/sysv/linux/futimesat.c ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/futimesat.c @@ -37,14 +37,14 @@ futimesat (fd, file, tvp) { int result; @@ -1951,8 +2756,19 @@ { size_t filelen = strlen (file); if (__builtin_expect (filelen == 0, 0)) ---- glibc-2.12.2/sysdeps/unix/sysv/linux/i386/dl-cache.h -+++ /sysdeps/unix/sysv/linux/i386/dl-cache.h +--- glibc-2.13/sysdeps/unix/sysv/linux/getpagesize.c ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/getpagesize.c +@@ -28,7 +28,7 @@ + int + __getpagesize () + { +-#ifdef __ASSUME_AT_PAGESIZE ++#if 0 && defined __ASSUME_AT_PAGESIZE + assert (GLRO(dl_pagesize) != 0); + return GLRO(dl_pagesize); + #else +--- glibc-2.13/sysdeps/unix/sysv/linux/i386/dl-cache.h ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/i386/dl-cache.h @@ -0,0 +1,59 @@ +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. + Copyright (C) 2004 Free Software Foundation, Inc. @@ -2013,8 +2829,16 @@ + } while (0) + +#include_next <dl-cache.h> ---- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-cache.h -+++ /sysdeps/unix/sysv/linux/ia64/dl-cache.h +--- glibc-2.13/sysdeps/unix/sysv/linux/i386/getrlimit.c ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/i386/getrlimit.c +@@ -79,4 +79,5 @@ __new_getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) + } + + weak_alias (__new_getrlimit, __getrlimit); ++libc_hidden_weak (__getrlimit) + versioned_symbol (libc, __new_getrlimit, getrlimit, GLIBC_2_2); +--- glibc-2.13/sysdeps/unix/sysv/linux/ia64/dl-cache.h ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/ia64/dl-cache.h @@ -22,4 +22,31 @@ #define _dl_cache_check_flags(flags) \ ((flags) == _DL_CACHE_DEFAULT_ID) @@ -2047,29 +2871,29 @@ + } while (0) + #include_next <dl-cache.h> ---- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c -+++ /sysdeps/unix/sysv/linux/ia64/dl-procinfo.c +--- glibc-2.13/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include <sysdeps/i386/dl-procinfo.c> +#else +#include <sysdeps/generic/dl-procinfo.c> +#endif ---- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h -+++ /sysdeps/unix/sysv/linux/ia64/dl-procinfo.h +--- glibc-2.13/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h> +#else +#include <sysdeps/generic/dl-procinfo.h> +#endif ---- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed -+++ /sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed +--- glibc-2.13/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed @@ -1 +1 @@ -s_^(RTLDLIST=)([^ ]*)-ia64(.so.[0-9.]*)[ ]*$_\1"\2-ia64\3 \2\3"_ +s_^(RTLDLIST=)([^ ]*)-ia64(.so.[0-9.]*)[ ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_ ---- glibc-2.12.2/sysdeps/unix/sysv/linux/netlinkaccess.h -+++ /sysdeps/unix/sysv/linux/netlinkaccess.h +--- glibc-2.13/sysdeps/unix/sysv/linux/netlinkaccess.h ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/netlinkaccess.h @@ -25,6 +25,24 @@
#include <kernel-features.h> @@ -2095,8 +2919,8 @@
struct netlink_res { ---- glibc-2.12.2/sysdeps/unix/sysv/linux/paths.h -+++ /sysdeps/unix/sysv/linux/paths.h +--- glibc-2.13/sysdeps/unix/sysv/linux/paths.h ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/paths.h @@ -62,7 +62,7 @@ #define _PATH_TTY "/dev/tty" #define _PATH_UNIX "/boot/vmlinux" @@ -2106,13 +2930,8 @@ #define _PATH_WTMP "/var/log/wtmp"
/* Provide trailing slash, since mostly used for building pathnames. */ ---- glibc-2.12.2/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c -+++ /sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c -@@ -1 +1 @@ --#include "../../fxstat.c" -+#include "../../i386/fxstat.c" ---- glibc-2.12.2/sysdeps/unix/sysv/linux/tcsetattr.c -+++ /sysdeps/unix/sysv/linux/tcsetattr.c +--- glibc-2.13/sysdeps/unix/sysv/linux/tcsetattr.c ++++ glibc-2.13-1/sysdeps/unix/sysv/linux/tcsetattr.c @@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios_p) { struct __kernel_termios k_termios; @@ -2158,8 +2977,8 @@ + return retval; } libc_hidden_def (tcsetattr) ---- glibc-2.12.2/timezone/zic.c -+++ /timezone/zic.c +--- glibc-2.13/timezone/zic.c ++++ glibc-2.13-1/timezone/zic.c @@ -1921,7 +1921,7 @@ const int zonecount; if (stdrp != NULL && stdrp->r_hiyear == 2037) return; diff --git a/tools/packager b/tools/packager index 4d6e51f..c998780 100755 --- a/tools/packager +++ b/tools/packager @@ -24,7 +24,7 @@ BASEDIR=$(dirname ${0}) PACKAGER_HASH_ALGORITHMS="md5 sha1 sha256 sha512" PACKAGER_VERSION="1"
-TAR_OPTIONS="--posix --acls --xattrs --selinux --no-recursion --sparse --xz" +TAR_OPTIONS="--posix --acls --no-recursion --sparse --xz"
. ${BASEDIR}/common-functions
hooks/post-receive -- IPFire 3.x development tree