From c4d65f57a047349e8a9149193cbfd1686ec5c428 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Fri, 11 Nov 2011 13:47:56 +0100 Subject: [PATCH] eglibc: update to eglibc-2.14.1-15769 Signed-off-by: Stephan Raue --- CHANGELOG | 2 +- packages/toolchain/devel/eglibc/build | 2 + packages/toolchain/devel/eglibc/meta | 2 +- ...atch => eglibc-2.14.1-15769-bad-fix.patch} | 59 +++++++++---------- ... => eglibc-2.14.1-15769-libgcc_eh-1.patch} | 0 ...eglibc-2.14.1-15769-restore-rpc+nis.patch} | 0 ... eglibc-2.14.1-15769-select_fd_type.patch} | 0 7 files changed, 32 insertions(+), 33 deletions(-) rename packages/toolchain/devel/eglibc/patches/{eglibc-2.14-15360-bad-fix.patch => eglibc-2.14.1-15769-bad-fix.patch} (70%) rename packages/toolchain/devel/eglibc/patches/{eglibc-2.14-15360-libgcc_eh-1.patch => eglibc-2.14.1-15769-libgcc_eh-1.patch} (100%) rename packages/toolchain/devel/eglibc/patches/{eglibc-2.14-15360-restore-rpc+nis.patch => eglibc-2.14.1-15769-restore-rpc+nis.patch} (100%) rename packages/toolchain/devel/eglibc/patches/{eglibc-2.14-15360-select_fd_type.patch => eglibc-2.14.1-15769-select_fd_type.patch} (100%) diff --git a/CHANGELOG b/CHANGELOG index 07793f5221..37626b8d88 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,7 +4,7 @@ Changelog OpenELEC-1.0 to OpenELEC-2.0 Package updates: - update XBMC to XBMC-11.0 (Eden) - - update eglibc to eglibc-2.14 + - update eglibc to eglibc-2.14.1 - update Python to Python-2.7.2 - update gcc to gcc-4.6.2 - update openssl to openssl-1.0.0e diff --git a/packages/toolchain/devel/eglibc/build b/packages/toolchain/devel/eglibc/build index 16736697bf..a363bd03ab 100755 --- a/packages/toolchain/devel/eglibc/build +++ b/packages/toolchain/devel/eglibc/build @@ -34,6 +34,8 @@ strip_gold # Fails to compile using the gold linker. LDFLAGS=`echo $LDFLAGS | sed -e "s|-Ofast|-O2|g"` LDFLAGS=`echo $LDFLAGS | sed -e "s|-O.|-O2|g"` + LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"` + # set some CFLAGS we need CFLAGS="$CFLAGS -g -fno-stack-protector" diff --git a/packages/toolchain/devel/eglibc/meta b/packages/toolchain/devel/eglibc/meta index 68bfdde822..ff1819032f 100644 --- a/packages/toolchain/devel/eglibc/meta +++ b/packages/toolchain/devel/eglibc/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="eglibc" -PKG_VERSION="2.14-15360" +PKG_VERSION="2.14.1-15769" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-bad-fix.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-bad-fix.patch similarity index 70% rename from packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-bad-fix.patch rename to packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-bad-fix.patch index 1f67b780eb..f76512f9e0 100644 --- a/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-bad-fix.patch +++ b/packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-bad-fix.patch @@ -3,10 +3,9 @@ From: Andreas Schwab Date: Wed, 22 Sep 2010 12:06:30 +0200 Subject: [PATCH] Fix memory leak on init/fini dependency list -diff --git a/elf/dl-close.c b/elf/dl-close.c -index 73b2a2f..9bd91e3 100644 ---- a/elf/dl-close.c -+++ b/elf/dl-close.c +diff -Naur eglibc-2.14.1-15769/elf/dl-close.c eglibc-2.14.1-15769.patch/elf/dl-close.c +--- eglibc-2.14.1-15769/elf/dl-close.c 2011-11-10 17:59:49.000000000 +0100 ++++ eglibc-2.14.1-15769.patch/elf/dl-close.c 2011-11-11 13:11:54.317765891 +0100 @@ -1,5 +1,5 @@ /* Close a shared object opened by `_dl_open'. - Copyright (C) 1996-2007, 2009, 2010, 2011 Free Software Foundation, Inc. @@ -14,7 +13,7 @@ index 73b2a2f..9bd91e3 100644 This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or -@@ -119,17 +119,8 @@ _dl_close_worker (struct link_map *map) +@@ -119,17 +119,8 @@ if (map->l_direct_opencount > 0 || map->l_type != lt_loaded || dl_close_state != not_pending) { @@ -33,12 +32,11 @@ index 73b2a2f..9bd91e3 100644 + dl_close_state = rerun; /* There are still references to this object. Do nothing more. */ - if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) -diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index 9e30594..3890d00 100644 ---- a/elf/dl-deps.c -+++ b/elf/dl-deps.c -@@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, + if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_FILES, 0)) +diff -Naur eglibc-2.14.1-15769/elf/dl-deps.c eglibc-2.14.1-15769.patch/elf/dl-deps.c +--- eglibc-2.14.1-15769/elf/dl-deps.c 2011-11-10 17:59:49.000000000 +0100 ++++ eglibc-2.14.1-15769.patch/elf/dl-deps.c 2011-11-11 13:14:07.711207504 +0100 +@@ -478,6 +478,7 @@ nneeded * sizeof needed[0]); atomic_write_barrier (); l->l_initfini = l_initfini; @@ -46,7 +44,7 @@ index 9e30594..3890d00 100644 } /* If we have no auxiliary objects just go on to the next map. */ -@@ -681,6 +682,7 @@ Filters not supported with LD_TRACE_PRELINKING")); +@@ -678,6 +679,7 @@ l_initfini[nlist] = NULL; atomic_write_barrier (); map->l_initfini = l_initfini; @@ -54,18 +52,19 @@ index 9e30594..3890d00 100644 if (l_reldeps != NULL) { atomic_write_barrier (); -@@ -689,5 +691,5 @@ Filters not supported with LD_TRACE_PRELINKING")); +@@ -686,7 +688,7 @@ _dl_scope_free (old_l_reldeps); } if (old_l_initfini != NULL) - map->l_orig_initfini = old_l_initfini; + _dl_scope_free (old_l_initfini); - } -diff --git a/elf/dl-libc.c b/elf/dl-libc.c -index 7be9483..a13fce3 100644 ---- a/elf/dl-libc.c -+++ b/elf/dl-libc.c -@@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) + + if (errno_reason) + _dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname, +diff -Naur eglibc-2.14.1-15769/elf/dl-libc.c eglibc-2.14.1-15769.patch/elf/dl-libc.c +--- eglibc-2.14.1-15769/elf/dl-libc.c 2011-11-10 17:59:49.000000000 +0100 ++++ eglibc-2.14.1-15769.patch/elf/dl-libc.c 2011-11-11 13:11:54.319765853 +0100 +@@ -265,13 +265,13 @@ for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) { @@ -80,7 +79,7 @@ index 7be9483..a13fce3 100644 while (lnp != NULL) { struct libname_list *old = lnp; -@@ -279,6 +279,10 @@ libc_freeres_fn (free_mem) +@@ -279,6 +279,10 @@ if (! old->dont_free) free (old); } @@ -91,11 +90,10 @@ index 7be9483..a13fce3 100644 } if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 -diff --git a/elf/rtld.c b/elf/rtld.c -index 4a9109e..617e30e 100644 ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -2251,6 +2251,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", +diff -Naur eglibc-2.14.1-15769/elf/rtld.c eglibc-2.14.1-15769.patch/elf/rtld.c +--- eglibc-2.14.1-15769/elf/rtld.c 2011-11-10 17:59:49.000000000 +0100 ++++ eglibc-2.14.1-15769.patch/elf/rtld.c 2011-11-11 13:11:54.320765834 +0100 +@@ -2264,6 +2264,7 @@ lnp->dont_free = 1; lnp = lnp->next; } @@ -103,10 +101,9 @@ index 4a9109e..617e30e 100644 if (l != &GL(dl_rtld_map)) _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, -diff --git a/include/link.h b/include/link.h -index e877104..051b99a 100644 ---- a/include/link.h -+++ b/include/link.h +diff -Naur eglibc-2.14.1-15769/include/link.h eglibc-2.14.1-15769.patch/include/link.h +--- eglibc-2.14.1-15769/include/link.h 2011-11-10 17:59:51.000000000 +0100 ++++ eglibc-2.14.1-15769.patch/include/link.h 2011-11-11 13:11:54.321765815 +0100 @@ -1,6 +1,6 @@ /* Data structure for communication from the run-time dynamic linker for loaded ELF shared objects. @@ -115,7 +112,7 @@ index e877104..051b99a 100644 This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or -@@ -192,6 +192,9 @@ struct link_map +@@ -192,6 +192,9 @@ during LD_TRACE_PRELINKING=1 contains any DT_SYMBOLIC libraries. */ @@ -125,7 +122,7 @@ index e877104..051b99a 100644 /* Collected information about own RPATH directories. */ struct r_search_path_struct l_rpath_dirs; -@@ -240,9 +243,6 @@ struct link_map +@@ -240,9 +243,6 @@ /* List of object in order of the init and fini calls. */ struct link_map **l_initfini; diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-libgcc_eh-1.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-libgcc_eh-1.patch similarity index 100% rename from packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-libgcc_eh-1.patch rename to packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-libgcc_eh-1.patch diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-restore-rpc+nis.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-restore-rpc+nis.patch similarity index 100% rename from packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-restore-rpc+nis.patch rename to packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-restore-rpc+nis.patch diff --git a/packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-select_fd_type.patch b/packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-select_fd_type.patch similarity index 100% rename from packages/toolchain/devel/eglibc/patches/eglibc-2.14-15360-select_fd_type.patch rename to packages/toolchain/devel/eglibc/patches/eglibc-2.14.1-15769-select_fd_type.patch