diff --git a/glibc-2.11.2-21580967038a.tar.bz2 b/glibc-2.11.2-21580967038a.tar.bz2 deleted file mode 100644 index 02c7b67..0000000 --- a/glibc-2.11.2-21580967038a.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9b0467d31d53dcb8e9920efa51c338e2ef1bb597ab7d2ed14b9a16103ffd2622 -size 15670351 diff --git a/glibc-2.11.2-dd2fde461e30.tar.bz2 b/glibc-2.11.2-dd2fde461e30.tar.bz2 new file mode 100644 index 0000000..f8be5cc --- /dev/null +++ b/glibc-2.11.2-dd2fde461e30.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee436e954b06aaed8ed1bc003e5ba823c728835d2025b7e3238dc61400ccb0d2 +size 15667714 diff --git a/glibc-2.11.3-audit.diff b/glibc-2.11.3-audit.diff deleted file mode 100644 index ccb3bb9..0000000 --- a/glibc-2.11.3-audit.diff +++ /dev/null @@ -1,274 +0,0 @@ -commit 22cd1c9bcf57c5829d65b6da825f7a459d40c9eb -Author: Andreas Schwab -Date: Sun Oct 24 20:40:14 2010 -0400 - - Don't expand DST twice in dl_open - -2010-10-18 Andreas Schwab - - * elf/dl-open.c (dl_open_worker): Don't expand DST here, let - _dl_map_object do it. - -diff --git a/elf/dl-open.c b/elf/dl-open.c -index 754a263..c394b3f 100644 ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -221,35 +221,6 @@ dl_open_worker (void *a) - - assert (_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT); - -- /* Maybe we have to expand a DST. */ -- if (__builtin_expect (dst != NULL, 0)) -- { -- size_t len = strlen (file); -- -- /* Determine how much space we need. We have to allocate the -- memory locally. */ -- size_t required = DL_DST_REQUIRED (call_map, file, len, -- _dl_dst_count (dst, 0)); -- -- /* Get space for the new file name. */ -- char *new_file = (char *) alloca (required + 1); -- -- /* Generate the new file name. */ -- _dl_dst_substitute (call_map, file, new_file, 0); -- -- /* If the substitution failed don't try to load. */ -- if (*new_file == '\0') -- _dl_signal_error (0, "dlopen", NULL, -- N_("empty dynamic string token substitution")); -- -- /* Now we have a new file name. */ -- file = new_file; -- -- /* It does not matter whether call_map is set even if we -- computed it only because of the DST. Since the path contains -- a slash the value is not used. See dl-load.c. */ -- } -- - /* Load the named object. */ - struct link_map *new; - args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0, - - -commit 8e9f92e9d5d7737afdacf79b76d98c4c42980508 -Author: Andreas Schwab -Date: Sun Oct 24 21:43:15 2010 -0400 - - Require suid bit on audit objects in privileged programs - -2010-10-22 Andreas Schwab - - * include/dlfcn.h (__RTLD_SECURE): Define. - * elf/dl-load.c (_dl_map_object): Remove preloaded parameter. Use - mode & __RTLD_SECURE instead. - (open_path): Rename preloaded parameter to secure. - * sysdeps/generic/ldsodefs.h (_dl_map_object): Adjust declaration. - * elf/dl-open.c (dl_open_worker): Adjust call to _dl_map_object. - * elf/dl-deps.c (openaux): Likewise. - * elf/rtld.c (struct map_args): Remove is_preloaded. - (map_doit): Don't use it. - (dl_main): Likewise. - (do_preload): Use __RTLD_SECURE instead of is_preloaded. - (dlmopen_doit): Add __RTLD_SECURE to mode bits. - -diff --git a/elf/dl-deps.c b/elf/dl-deps.c -index a58de5c..a51fb6e 100644 ---- a/elf/dl-deps.c -+++ b/elf/dl-deps.c -@@ -62,7 +62,7 @@ openaux (void *a) - { - struct openaux_args *args = (struct openaux_args *) a; - -- args->aux = _dl_map_object (args->map, args->name, 0, -+ args->aux = _dl_map_object (args->map, args->name, - (args->map->l_type == lt_executable - ? lt_library : args->map->l_type), - args->trace_mode, args->open_mode, -diff --git a/elf/dl-load.c b/elf/dl-load.c -index a7162eb..aa8738f 100644 ---- a/elf/dl-load.c -+++ b/elf/dl-load.c -@@ -1812,7 +1812,7 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader, - if MAY_FREE_DIRS is true. */ - - static int --open_path (const char *name, size_t namelen, int preloaded, -+open_path (const char *name, size_t namelen, int secure, - struct r_search_path_struct *sps, char **realname, - struct filebuf *fbp, struct link_map *loader, int whatcode, - bool *found_other_class) -@@ -1894,7 +1894,7 @@ open_path (const char *name, size_t namelen, int preloaded, - /* Remember whether we found any existing directory. */ - here_any |= this_dir->status[cnt] != nonexisting; - -- if (fd != -1 && __builtin_expect (preloaded, 0) -+ if (fd != -1 && __builtin_expect (secure, 0) - && INTUSE(__libc_enable_secure)) - { - /* This is an extra security effort to make sure nobody can -@@ -1963,7 +1963,7 @@ open_path (const char *name, size_t namelen, int preloaded, - - struct link_map * - internal_function --_dl_map_object (struct link_map *loader, const char *name, int preloaded, -+_dl_map_object (struct link_map *loader, const char *name, - int type, int trace_mode, int mode, Lmid_t nsid) - { - int fd; -@@ -2067,7 +2067,8 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - for (l = loader; l; l = l->l_loader) - if (cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH")) - { -- fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, -+ &l->l_rpath_dirs, - &realname, &fb, loader, LA_SER_RUNPATH, - &found_other_class); - if (fd != -1) -@@ -2082,14 +2083,15 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - && main_map != NULL && main_map->l_type != lt_loaded - && cache_rpath (main_map, &main_map->l_rpath_dirs, DT_RPATH, - "RPATH")) -- fd = open_path (name, namelen, preloaded, &main_map->l_rpath_dirs, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, -+ &main_map->l_rpath_dirs, - &realname, &fb, loader ?: main_map, LA_SER_RUNPATH, - &found_other_class); - } - - /* Try the LD_LIBRARY_PATH environment variable. */ - if (fd == -1 && env_path_list.dirs != (void *) -1) -- fd = open_path (name, namelen, preloaded, &env_path_list, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &env_path_list, - &realname, &fb, - loader ?: GL(dl_ns)[LM_ID_BASE]._ns_loaded, - LA_SER_LIBPATH, &found_other_class); -@@ -2098,12 +2100,12 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - if (fd == -1 && loader != NULL - && cache_rpath (loader, &loader->l_runpath_dirs, - DT_RUNPATH, "RUNPATH")) -- fd = open_path (name, namelen, preloaded, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, - &loader->l_runpath_dirs, &realname, &fb, loader, - LA_SER_RUNPATH, &found_other_class); - - if (fd == -1 -- && (__builtin_expect (! preloaded, 1) -+ && (__builtin_expect (! (mode & __RTLD_SECURE), 1) - || ! INTUSE(__libc_enable_secure))) - { - /* Check the list of libraries in the file /etc/ld.so.cache, -@@ -2169,7 +2171,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, - && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL - || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) - && rtld_search_dirs.dirs != (void *) -1) -- fd = open_path (name, namelen, preloaded, &rtld_search_dirs, -+ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs, - &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); - - /* Add another newline when we are tracing the library loading. */ -diff --git a/elf/dl-open.c b/elf/dl-open.c -index c394b3f..cf8e8cc 100644 ---- a/elf/dl-open.c -+++ b/elf/dl-open.c -@@ -223,7 +223,7 @@ dl_open_worker (void *a) - - /* Load the named object. */ - struct link_map *new; -- args->map = new = _dl_map_object (call_map, file, 0, lt_loaded, 0, -+ args->map = new = _dl_map_object (call_map, file, lt_loaded, 0, - mode | __RTLD_CALLMAP, args->nsid); - - /* If the pointer returned is NULL this means the RTLD_NOLOAD flag is -diff --git a/elf/rtld.c b/elf/rtld.c -index 5ecc4fe..06b534a 100644 ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -589,7 +589,6 @@ struct map_args - /* Argument to map_doit. */ - char *str; - struct link_map *loader; -- int is_preloaded; - int mode; - /* Return value of map_doit. */ - struct link_map *map; -@@ -627,16 +626,17 @@ static void - map_doit (void *a) - { - struct map_args *args = (struct map_args *) a; -- args->map = _dl_map_object (args->loader, args->str, -- args->is_preloaded, lt_library, 0, args->mode, -- LM_ID_BASE); -+ args->map = _dl_map_object (args->loader, args->str, lt_library, 0, -+ args->mode, LM_ID_BASE); - } - - static void - dlmopen_doit (void *a) - { - struct dlmopen_args *args = (struct dlmopen_args *) a; -- args->map = _dl_open (args->fname, RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT, -+ args->map = _dl_open (args->fname, -+ (RTLD_LAZY | __RTLD_DLOPEN | __RTLD_AUDIT -+ | __RTLD_SECURE), - dl_main, LM_ID_NEWLM, _dl_argc, INTUSE(_dl_argv), - __environ); - } -@@ -806,8 +806,7 @@ do_preload (char *fname, struct link_map *main_map, const char *where) - - args.str = fname; - args.loader = main_map; -- args.is_preloaded = 1; -- args.mode = 0; -+ args.mode = __RTLD_SECURE; - - unsigned int old_nloaded = GL(dl_ns)[LM_ID_BASE]._ns_nloaded; - -@@ -1054,7 +1053,6 @@ of this helper program; chances are you did not intend to run this program.\n\ - - args.str = rtld_progname; - args.loader = NULL; -- args.is_preloaded = 0; - args.mode = __RTLD_OPENEXEC; - (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit, - &args); -@@ -1066,7 +1064,7 @@ of this helper program; chances are you did not intend to run this program.\n\ - else - { - HP_TIMING_NOW (start); -- _dl_map_object (NULL, rtld_progname, 0, lt_library, 0, -+ _dl_map_object (NULL, rtld_progname, lt_library, 0, - __RTLD_OPENEXEC, LM_ID_BASE); - HP_TIMING_NOW (stop); - -diff --git a/include/dlfcn.h b/include/dlfcn.h -index a67426d..af92483 100644 ---- a/include/dlfcn.h -+++ b/include/dlfcn.h -@@ -9,6 +9,7 @@ - #define __RTLD_OPENEXEC 0x20000000 - #define __RTLD_CALLMAP 0x10000000 - #define __RTLD_AUDIT 0x08000000 -+#define __RTLD_SECURE 0x04000000 /* Apply additional security checks. */ - - #define __LM_ID_CALLER -2 - -diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h -index fcc943b..fa4b6b2 100644 ---- a/sysdeps/generic/ldsodefs.h -+++ b/sysdeps/generic/ldsodefs.h -@@ -824,11 +824,9 @@ extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *), - - /* Open the shared object NAME and map in its segments. - LOADER's DT_RPATH is used in searching for NAME. -- If the object is already opened, returns its existing map. -- For preloaded shared objects PRELOADED is set to a non-zero -- value to allow additional security checks. */ -+ If the object is already opened, returns its existing map. */ - extern struct link_map *_dl_map_object (struct link_map *loader, -- const char *name, int preloaded, -+ const char *name, - int type, int trace_mode, int mode, - Lmid_t nsid) - internal_function attribute_hidden; diff --git a/glibc-2.3.90-fnmatch.diff b/glibc-2.3.90-fnmatch.diff deleted file mode 100644 index d34864b..0000000 --- a/glibc-2.3.90-fnmatch.diff +++ /dev/null @@ -1,58 +0,0 @@ -When fnmatch detects an invalid multibyte character it should fall back to -single byte matching, so that "*" has a chance to match such a string. - -Andreas. - -2005-04-12 Andreas Schwab - - * posix/fnmatch.c (fnmatch): If conversion to wide character - fails fall back to single byte matching. - -Index: posix/fnmatch.c -=================================================================== ---- posix/fnmatch.c.orig -+++ posix/fnmatch.c -@@ -327,6 +327,7 @@ fnmatch (pattern, string, flags) - # if HANDLE_MULTIBYTE - if (__builtin_expect (MB_CUR_MAX, 1) != 1) - { -+ const char *orig_pattern = pattern; - mbstate_t ps; - size_t n; - const char *p; -@@ -382,10 +383,8 @@ fnmatch (pattern, string, flags) - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - n = mbsrtowcs (wstring, &p, n + 1, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - if (p) - { - memset (&ps, '\0', sizeof (ps)); -@@ -397,10 +396,8 @@ fnmatch (pattern, string, flags) - prepare_wstring: - n = mbsrtowcs (NULL, &string, 0, &ps); - if (__builtin_expect (n == (size_t) -1, 0)) -- /* Something wrong. -- XXX Do we have to set `errno' to something which mbsrtows hasn't -- already done? */ -- return -1; -+ /* Something wrong. Fall back to single byte matching. */ -+ goto try_singlebyte; - wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); - assert (mbsinit (&ps)); - (void) mbsrtowcs (wstring, &string, n + 1, &ps); -@@ -408,6 +405,9 @@ fnmatch (pattern, string, flags) - - return internal_fnwmatch (wpattern, wstring, wstring + n, - flags & FNM_PERIOD, flags, NULL); -+ -+ try_singlebyte: -+ pattern = orig_pattern; - } - # endif /* mbstate_t and mbsrtowcs or _LIBC. */ - diff --git a/glibc-fnmatch-multibyte.diff b/glibc-fnmatch-multibyte.diff new file mode 100644 index 0000000..42f49a4 --- /dev/null +++ b/glibc-fnmatch-multibyte.diff @@ -0,0 +1,92 @@ +When fnmatch detects an invalid multibyte character it should fall back to +single byte matching, so that "*" has a chance to match such a string. + +Andreas. + +Ported to glibc-2.11.3 by Petr Baudis. + +2005-04-12 Andreas Schwab + + * posix/fnmatch.c (fnmatch): If conversion to wide character + fails fall back to single byte matching. + +Index: glibc-2.11.2/posix/fnmatch.c +=================================================================== +--- glibc-2.11.2.orig/posix/fnmatch.c ++++ glibc-2.11.2/posix/fnmatch.c +@@ -333,6 +333,7 @@ fnmatch (pattern, string, flags) + # if HANDLE_MULTIBYTE + if (__builtin_expect (MB_CUR_MAX, 1) != 1) + { ++ const char *orig_pattern = pattern; + mbstate_t ps; + size_t n; + const char *p; +@@ -356,10 +357,8 @@ fnmatch (pattern, string, flags) + alloca_used); + n = mbsrtowcs (wpattern, &p, n + 1, &ps); + if (__builtin_expect (n == (size_t) -1, 0)) +- /* Something wrong. +- XXX Do we have to set `errno' to something which mbsrtows hasn't +- already done? */ +- return -1; ++ /* Something wrong. Fall back to single byte matching. */ ++ goto try_singlebyte; + if (p) + { + memset (&ps, '\0', sizeof (ps)); +@@ -371,10 +370,8 @@ fnmatch (pattern, string, flags) + prepare_wpattern: + n = mbsrtowcs (NULL, &pattern, 0, &ps); + if (__builtin_expect (n == (size_t) -1, 0)) +- /* Something wrong. +- XXX Do we have to set `errno' to something which mbsrtows hasn't +- already done? */ +- return -1; ++ /* Something wrong. Fall back to single byte matching. */ ++ goto try_singlebyte; + wpattern_malloc = wpattern + = (wchar_t *) malloc ((n + 1) * sizeof (wchar_t)); + assert (mbsinit (&ps)); +@@ -396,14 +393,8 @@ fnmatch (pattern, string, flags) + alloca_used); + n = mbsrtowcs (wstring, &p, n + 1, &ps); + if (__builtin_expect (n == (size_t) -1, 0)) +- { +- /* Something wrong. +- XXX Do we have to set `errno' to something which +- mbsrtows hasn't already done? */ +- free_return: +- free (wpattern_malloc); +- return -1; +- } ++ /* Something wrong. Fall back to single byte matching. */ ++ goto free_and_try_singlebyte; + if (p) + { + memset (&ps, '\0', sizeof (ps)); +@@ -415,10 +406,8 @@ fnmatch (pattern, string, flags) + prepare_wstring: + n = mbsrtowcs (NULL, &string, 0, &ps); + if (__builtin_expect (n == (size_t) -1, 0)) +- /* Something wrong. +- XXX Do we have to set `errno' to something which mbsrtows hasn't +- already done? */ +- goto free_return; ++ /* Something wrong. Fall back to single byte matching. */ ++ goto free_and_try_singlebyte; + + wstring_malloc = wstring + = (wchar_t *) malloc ((n + 1) * sizeof (wchar_t)); +@@ -439,6 +428,11 @@ fnmatch (pattern, string, flags) + free (wpattern_malloc); + + return res; ++ ++ free_and_try_singlebyte: ++ free(wpattern_malloc); ++ try_singlebyte: ++ pattern = orig_pattern; + } + # endif /* mbstate_t and mbsrtowcs or _LIBC. */ + diff --git a/glibc-make-3.82.patch b/glibc-make-3.82.patch deleted file mode 100644 index 702c044..0000000 --- a/glibc-make-3.82.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Andreas Schwab -To: libc-hacker at sourceware dot org -Subject: [PATCH] Work around shortest-stem feature in make 3.82+ - -make 3.82+ no longer selects pattern rules by order, but by shortest -stem, so we need to add more rules to make sure we still get the right -matches. - -Andreas. - -2010-09-09 Andreas Schwab - - * Makeconfig (sysd-rules-patterns): Add rtld-%:rtld-%. - (sysd-rules-targets): Remove duplicates. - * elf/rtld-Rules ($(objpfx)rtld-%.os): Add pattern rules with - rtld-%.$o dependency. - -2010-09-06 Andreas Schwab - - * manual/Makefile: Don't mix pattern rules with normal rules. - -diff --git a/Makeconfig b/Makeconfig -index 9778998..807c1d1 100644 ---- a/Makeconfig -+++ b/Makeconfig -@@ -966,7 +966,7 @@ endif - # emitted into sysd-rules. A sysdeps Makeconfig fragment can - # add its own special object file prefix to this list with e.g. foo-%:% - # to have foo-*.? compiled from *.? using $(foo-CPPFLAGS). --sysd-rules-patterns := %:% rtld-%:% m_%:s_% -+sysd-rules-patterns := %:% rtld-%:rtld-% rtld-%:% m_%:s_% - - # Let sysdeps/ subdirs contain a Makeconfig fragment for us to include here. - sysdep-makeconfigs := $(wildcard $(+sysdep_dirs:=/Makeconfig)) -@@ -975,8 +975,8 @@ include $(sysdep-makeconfigs) - endif - - # Compute just the target patterns. Makeconfig has set sysd-rules-patterns. --sysd-rules-targets := $(foreach p,$(sysd-rules-patterns),\ -- $(firstword $(subst :, ,$p))) -+sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\ -+ $(firstword $(subst :, ,$p)))) - - endif # Makeconfig not yet included - -diff --git a/elf/rtld-Rules b/elf/rtld-Rules -index 9f31a56..fc225f2 100644 ---- a/elf/rtld-Rules -+++ b/elf/rtld-Rules -@@ -93,6 +93,12 @@ else - # These are the basic compilation rules corresponding to the Makerules ones. - # The sysd-rules generated makefile already defines pattern rules for rtld-% - # targets built from sysdeps source files. -+$(objpfx)rtld-%.os: rtld-%.S $(before-compile) -+ $(compile-command.S) $(rtld-CPPFLAGS) -+$(objpfx)rtld-%.os: rtld-%.s $(before-compile) -+ $(compile-command.s) $(rtld-CPPFLAGS) -+$(objpfx)rtld-%.os: rtld-%.c $(before-compile) -+ $(compile-command.c) $(rtld-CPPFLAGS) - $(objpfx)rtld-%.os: %.S $(before-compile) - $(compile-command.S) $(rtld-CPPFLAGS) - $(objpfx)rtld-%.os: %.s $(before-compile) -@@ -101,6 +107,9 @@ $(objpfx)rtld-%.os: %.c $(before-compile) - $(compile-command.c) $(rtld-CPPFLAGS) - - # The rules for generated source files. -+$(objpfx)rtld-%.os: $(objpfx)rtld-%.S $(before-compile); $(compile-command.S) -+$(objpfx)rtld-%.os: $(objpfx)rtld-%.s $(before-compile); $(compile-command.s) -+$(objpfx)rtld-%.os: $(objpfx)rtld-%.c $(before-compile); $(compile-command.c) - $(objpfx)rtld-%.os: $(objpfx)%.S $(before-compile); $(compile-command.S) - $(objpfx)rtld-%.os: $(objpfx)%.s $(before-compile); $(compile-command.s) - $(objpfx)rtld-%.os: $(objpfx)%.c $(before-compile); $(compile-command.c) --- -1.7.2.2 - -diff --git a/manual/Makefile b/manual/Makefile -index c5866eb..b1f5fa7 100644 ---- a/manual/Makefile -+++ b/manual/Makefile -@@ -232,7 +232,10 @@ ifdef objpfx - .PHONY: stubs - stubs: $(objpfx)stubs - endif --$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: -+$(objpfx)stubs ../po/manual.pot: -+ $(make-target-directory) -+ touch $@ -+$(objpfx)stamp%: - $(make-target-directory) - touch $@ - diff --git a/glibc-nameserver-localhost.diff b/glibc-nameserver-localhost.diff deleted file mode 100644 index 7e464c8..0000000 --- a/glibc-nameserver-localhost.diff +++ /dev/null @@ -1,29 +0,0 @@ -2009-11-20 Petr Baudis - - [BZ #10851] - * resolv/res_init.c (__res_vinit): Initialize nscount again to - one so that the default localhost nameserver record is used. - -diff --git a/resolv/res_init.c b/resolv/res_init.c -index 40dbe7d..99ef8cf 100644 ---- a/resolv/res_init.c -+++ b/resolv/res_init.c -@@ -183,7 +183,7 @@ __res_vinit(res_state statp, int preinit) { - #endif - statp->nsaddr.sin_family = AF_INET; - statp->nsaddr.sin_port = htons(NAMESERVER_PORT); -- statp->nscount = 0; -+ statp->nscount = 1; - statp->ndots = 1; - statp->pfcode = 0; - statp->_vcsock = -1; -@@ -420,7 +420,8 @@ __res_vinit(res_state statp, int preinit) { - continue; - } - } -- statp->nscount = nservall; -+ if (nservall > 0) -+ statp->nscount = nservall; - #ifdef _LIBC - if (nservall - nserv > 0) { - statp->_u._ext.nscount6 = nservall - nserv; diff --git a/glibc.changes b/glibc.changes index 4ee76c2..22e8fd9 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Mon Nov 15 18:43:35 CET 2010 - pbaudis@suse.cz + +- Upgrade to latest release/2.11/master - glibc-2.11.2-dd2fde461e30 + - Candidate tree for glibc-2.11.3 + - Multitude of various bug fixes + +------------------------------------------------------------------- +Mon Nov 15 18:29:49 CET 2010 - pbaudis@suse.cz + +- Enable multi-arch routines support for ppc, ppc64, i686 and x86_64. + + Temporarily, AMD-optimized string routines are disabled. We will + selectively re-enable them after some more careful benchmarking + in the next few days. + + Note: In this glibc version, multi-arch routines DO NOT include + the controversial backwards-copy memcpy(). + ------------------------------------------------------------------- Wed Oct 27 03:14:37 CEST 2010 - pbaudis@suse.cz diff --git a/glibc.spec b/glibc.spec index 8be9a44..5f1540b 100644 --- a/glibc.spec +++ b/glibc.spec @@ -68,7 +68,7 @@ Release: 3 Url: http://www.gnu.org/software/libc/libc.html PreReq: filesystem BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: glibc-%{version}-21580967038a.tar.bz2 +Source: glibc-%{version}-dd2fde461e30.tar.bz2 Source2: glibc-ports-2.10.1-2b2b217196.tar.bz2 Source3: noversion.tar.bz2 Source4: manpages.tar.bz2 @@ -88,7 +88,7 @@ NoSource: 0 # Patch0: glibc-2.3-SuSE.diff Patch1: glibc-2.3.90-noversion.diff -Patch2: glibc-2.3.90-fnmatch.diff +Patch2: glibc-fnmatch-multibyte.diff Patch3: glibc-resolv-reload.diff Patch4: glibc-2.3.locales.diff.bz2 Patch5: crypt_blowfish-1.0-suse.diff @@ -130,7 +130,6 @@ Patch45: glibc-nis-splitgroups.diff Patch46: glibc-2.10.99-ia64-include.diff Patch47: libm-x86-64-exceptions.diff Patch48: glibc-uio-cell.diff -Patch50: glibc-nameserver-localhost.diff Patch54: glibc-statfs64-ia64.diff Patch60: ld-prelink-unique.diff Patch61: glibc-ppc64-vdso-time.diff @@ -138,9 +137,7 @@ Patch64: glibc-gai-private4.diff Patch65: glibc-resolv-mdnshint.diff Patch66: glibc-ldconfigr-aux.diff Patch67: glibc-nis-initgroups.diff -Patch68: glibc-make-3.82.patch Patch69: glibc-nscd-hconf.diff -Patch70: glibc-2.11.3-audit.diff Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff @@ -305,7 +302,7 @@ versions of your software. %patch0 # libNoVersion part is only active on ix86 %patch1 -%patch2 +%patch2 -p1 %patch3 %patch4 %patch5 @@ -315,9 +312,9 @@ versions of your software. %patch10 %patch11 %patch12 -%patch13 +#%patch13 # strncmp.S triggers amd64 assembler bug [bnc#540647] -rm sysdeps/x86_64/strncmp.S +#rm sysdeps/x86_64/strncmp.S %patch14 -E # We have s_sincos.c in patch13, remove duplicate rm sysdeps/x86_64/fpu/s_sincos.S @@ -356,7 +353,6 @@ rm nscd/s-stamp %patch46 %patch47 %patch48 -p1 -%patch50 -p1 %patch54 %patch60 -p1 %patch61 -p1 @@ -364,9 +360,7 @@ rm nscd/s-stamp %patch65 -p1 %patch66 -p1 %patch67 -p1 -%patch68 -p1 %patch69 -p1 -%patch70 -p1 %ifarch %arm armv5tel armv7l %patch500 %patch501 @@ -490,6 +484,9 @@ configure_and_build_glibc() { --build=%{_target_cpu}-suse-linux-gnueabi \ %else --build=%{_target_cpu}-suse-linux \ +%endif +%ifarch ppc ppc64 %{ix86} x86_64 + --enable-multi-arch \ %endif --with-tls --with-__thread --enable-kernel=2.6.4 make $PARALLEL