diff --git a/.gitignore b/.gitignore index 9463719..9ace04d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -/glibc-ports-2.12-37-g16d6bc0.tar.xz -/glibc-2.12-192-g7c08a05-fedora.tar.xz -/glibc-2.12-192-g7c08a05.tar.xz +/glibc-2.12-216-g3540d66-fedora.tar.xz +/glibc-2.12-216-g3540d66.tar.xz +/glibc-ports-2.12-40-g3ef5824.tar.xz diff --git a/glibc-fedora.patch b/glibc-fedora.patch index 42ceb06..910ae7f 100644 --- a/glibc-fedora.patch +++ b/glibc-fedora.patch @@ -1,25 +1,6 @@ ---- glibc-2.12-192-g7c08a05/ChangeLog -+++ glibc-2.12.90-17/ChangeLog -@@ -1,3 +1,18 @@ -+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): Remove 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. -+ - 2010-10-16 Jakub Jelinek - - [BZ #3268] -@@ -18,6 +33,12 @@ +--- glibc-2.12-216-g3540d66/ChangeLog ++++ glibc-2.12.90-19/ChangeLog +@@ -214,6 +214,12 @@ * scripts/data/localplt-s390-linux-gnu.data: New file. * scripts/data/localplt-s390x-linux-gnu.data: New file. @@ -32,7 +13,7 @@ 2010-10-13 Jakub Jelinek [BZ #3268] -@@ -123,6 +144,11 @@ +@@ -319,6 +325,11 @@ * string/str-two-way.h (two_way_long_needle): Always clear memory when skipping input due to the shift table. @@ -44,7 +25,7 @@ 2010-10-03 Ulrich Drepper [BZ #12005] -@@ -165,6 +191,34 @@ +@@ -361,6 +372,34 @@ * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS): Mask out sign-bit copies when constructing f_fsid. @@ -79,21 +60,7 @@ 2010-09-24 Petr Baudis * debug/stack_chk_fail_local.c: Add missing licence exception. -@@ -218,6 +272,13 @@ - - * resolv/res_init.c (__res_vinit): Count the default server we added. - -+2010-09-13 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-08 Chung-Lin Tang - Ulrich Drepper - -@@ -956,6 +1017,32 @@ +@@ -1152,6 +1191,32 @@ call returning > 0 value. * sysdeps/unix/sysv/linux/getlogin.c (getlogin): Likewise. @@ -126,7 +93,7 @@ 2010-06-07 Andreas Schwab * dlfcn/Makefile: Remove explicit dependencies on libc.so and -@@ -1008,6 +1095,24 @@ +@@ -1204,6 +1269,24 @@ * hurd/hurd/fd.h (__file_name_lookup_at): Update comment. * sysdeps/mach/hurd/linkat.c (linkat): Pass O_NOLINK in FLAGS. @@ -151,8 +118,8 @@ 2010-05-28 Luis Machado * sysdeps/powerpc/powerpc32/power7/memcpy.S: Exchange srdi for srwi. ---- glibc-2.12-192-g7c08a05/ChangeLog.15 -+++ glibc-2.12.90-17/ChangeLog.15 +--- glibc-2.12-216-g3540d66/ChangeLog.15 ++++ glibc-2.12.90-19/ChangeLog.15 @@ -477,6 +477,14 @@ 2004-11-26 Jakub Jelinek @@ -218,8 +185,8 @@ 2004-08-30 Roland McGrath * scripts/extract-abilist.awk: If `lastversion' variable defined, omit ---- glibc-2.12-192-g7c08a05/ChangeLog.16 -+++ glibc-2.12.90-17/ChangeLog.16 +--- glibc-2.12-216-g3540d66/ChangeLog.16 ++++ glibc-2.12.90-19/ChangeLog.16 @@ -2042,6 +2042,9 @@ (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT followed by __THROW. @@ -273,8 +240,8 @@ 2005-07-28 Thomas Schwinge [BZ #1137] ---- glibc-2.12-192-g7c08a05/ChangeLog.17 -+++ glibc-2.12.90-17/ChangeLog.17 +--- glibc-2.12-216-g3540d66/ChangeLog.17 ++++ glibc-2.12.90-19/ChangeLog.17 @@ -256,6 +256,12 @@ * Makerules (libc-abis): Fix search for libc-abis in add-ons. @@ -359,8 +326,8 @@ 2006-12-09 Ulrich Drepper [BZ #3632] ---- glibc-2.12-192-g7c08a05/Makeconfig -+++ glibc-2.12.90-17/Makeconfig +--- glibc-2.12-216-g3540d66/Makeconfig ++++ glibc-2.12.90-19/Makeconfig @@ -789,12 +789,12 @@ endif # The assembler can generate debug information too. ifndef ASFLAGS @@ -377,28 +344,8 @@ ifndef BUILD_CC BUILD_CC = $(CC) -@@ -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 - ---- glibc-2.12-192-g7c08a05/csu/Makefile -+++ glibc-2.12.90-17/csu/Makefile +--- glibc-2.12-216-g3540d66/csu/Makefile ++++ glibc-2.12.90-19/csu/Makefile @@ -93,7 +93,8 @@ omit-deps += $(crtstuff) $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h $(compile.S) -g0 $(ASFLAGS-.os) -o $@ @@ -409,8 +356,8 @@ vpath initfini.c $(sysdirs) ---- glibc-2.12-192-g7c08a05/csu/elf-init.c -+++ glibc-2.12.90-17/csu/elf-init.c +--- glibc-2.12-216-g3540d66/csu/elf-init.c ++++ glibc-2.12.90-19/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; @@ -435,8 +382,8 @@ /* These function symbols are provided for the .init/.fini section entry points automagically by the linker. */ ---- glibc-2.12-192-g7c08a05/debug/tst-chk1.c -+++ glibc-2.12.90-17/debug/tst-chk1.c +--- glibc-2.12-216-g3540d66/debug/tst-chk1.c ++++ glibc-2.12.90-19/debug/tst-chk1.c @@ -17,6 +17,9 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -465,8 +412,8 @@ # define O 0 # else # define O 1 ---- glibc-2.12-192-g7c08a05/elf/Makefile -+++ glibc-2.12.90-17/elf/Makefile +--- glibc-2.12-216-g3540d66/elf/Makefile ++++ glibc-2.12.90-19/elf/Makefile @@ -89,6 +89,7 @@ distribute := rtld-Rules \ unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \ unload6mod1.c unload6mod2.c unload6mod3.c \ @@ -520,8 +467,8 @@ 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.12-192-g7c08a05/elf/dl-close.c -+++ glibc-2.12.90-17/elf/dl-close.c +--- glibc-2.12-216-g3540d66/elf/dl-close.c ++++ glibc-2.12.90-19/elf/dl-close.c @@ -421,6 +421,13 @@ _dl_close_worker (struct link_map *map) imap->l_scope_max = new_size; @@ -536,17 +483,8 @@ /* The loader is gone, so mark the object as not having one. Note: l_idx != IDX_STILL_USED -> object will be removed. */ ---- glibc-2.12-192-g7c08a05/elf/dl-deps.c -+++ glibc-2.12.90-17/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, +--- glibc-2.12-216-g3540d66/elf/dl-deps.c ++++ glibc-2.12.90-19/elf/dl-deps.c @@ -478,6 +478,7 @@ _dl_map_object_deps (struct link_map *map, nneeded * sizeof needed[0]); atomic_write_barrier (); @@ -563,8 +501,8 @@ if (l_reldeps != NULL) { atomic_write_barrier (); ---- glibc-2.12-192-g7c08a05/elf/dl-init.c -+++ glibc-2.12.90-17/elf/dl-init.c +--- glibc-2.12-216-g3540d66/elf/dl-init.c ++++ glibc-2.12.90-19/elf/dl-init.c @@ -24,11 +24,9 @@ /* Type of the initializer. */ typedef void (*init_t) (int, char **, char **); @@ -587,8 +525,8 @@ -#endif } INTDEF (_dl_init) ---- glibc-2.12-192-g7c08a05/elf/dl-libc.c -+++ glibc-2.12.90-17/elf/dl-libc.c +--- glibc-2.12-216-g3540d66/elf/dl-libc.c ++++ glibc-2.12.90-19/elf/dl-libc.c @@ -265,13 +265,13 @@ libc_freeres_fn (free_mem) for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns) @@ -615,8 +553,8 @@ } if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0 ---- glibc-2.12-192-g7c08a05/elf/dl-load.c -+++ glibc-2.12.90-17/elf/dl-load.c +--- glibc-2.12-216-g3540d66/elf/dl-load.c ++++ glibc-2.12.90-19/elf/dl-load.c @@ -169,8 +169,7 @@ local_strdup (const char *s) @@ -685,98 +623,8 @@ repl = DL_DST_LIB; if (repl != NULL && repl != (const char *) -1) -@@ -1812,7 +1808,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 +1890,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 +1959,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 +2063,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 +2079,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 +2096,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 +2167,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. */ ---- glibc-2.12-192-g7c08a05/elf/dl-open.c -+++ glibc-2.12.90-17/elf/dl-open.c -@@ -252,7 +252,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 ---- glibc-2.12-192-g7c08a05/elf/dl-support.c -+++ glibc-2.12.90-17/elf/dl-support.c +--- glibc-2.12-216-g3540d66/elf/dl-support.c ++++ glibc-2.12.90-19/elf/dl-support.c @@ -80,10 +80,8 @@ unsigned long long _dl_load_adds; create a fake scope containing nothing. */ struct r_scope_elem _dl_initial_searchlist; @@ -788,8 +636,8 @@ /* Random data provided by the kernel. */ void *_dl_random; ---- glibc-2.12-192-g7c08a05/elf/ldconfig.c -+++ glibc-2.12.90-17/elf/ldconfig.c +--- glibc-2.12-216-g3540d66/elf/ldconfig.c ++++ glibc-2.12.90-19/elf/ldconfig.c @@ -1031,17 +1031,19 @@ search_dirs (void) @@ -871,33 +719,8 @@ } const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; ---- glibc-2.12-192-g7c08a05/elf/rtld-Rules -+++ glibc-2.12.90-17/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) ---- glibc-2.12-192-g7c08a05/elf/rtld.c -+++ glibc-2.12.90-17/elf/rtld.c +--- glibc-2.12-216-g3540d66/elf/rtld.c ++++ glibc-2.12.90-19/elf/rtld.c @@ -106,7 +106,6 @@ static struct audit_list struct audit_list *next; } *audit_list; @@ -914,47 +737,7 @@ /* This is the structure which defines all variables global to ld.so (except those which cannot be added for some reason). */ -@@ -589,7 +587,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 +624,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 +804,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; - -@@ -922,10 +919,8 @@ dl_main (const ElfW(Phdr) *phdr, +@@ -921,10 +919,8 @@ dl_main (const ElfW(Phdr) *phdr, /* Process the environment variable which control the behaviour. */ process_envvars (&mode); @@ -965,24 +748,7 @@ if (*user_entry == (ElfW(Addr)) ENTRY_POINT) { -@@ -1054,7 +1049,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 +1060,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); - -@@ -2172,6 +2166,10 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", +@@ -2177,6 +2173,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; @@ -993,7 +759,7 @@ if (prelinked) { if (main_map->l_info [ADDRIDX (DT_GNU_CONFLICT)] != NULL) -@@ -2244,6 +2242,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", +@@ -2249,6 +2249,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", lnp->dont_free = 1; lnp = lnp->next; } @@ -1001,7 +767,7 @@ if (l != &GL(dl_rtld_map)) _dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0, -@@ -2291,10 +2290,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", +@@ -2296,10 +2297,6 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", lossage); } @@ -1012,8 +778,8 @@ if (! prelinked && rtld_multiple_ref) { /* There was an explicit ref to the dynamic linker as a shared lib. ---- glibc-2.12-192-g7c08a05/elf/tst-stackguard1.c -+++ glibc-2.12.90-17/elf/tst-stackguard1.c +--- glibc-2.12-216-g3540d66/elf/tst-stackguard1.c ++++ glibc-2.12.90-19/elf/tst-stackguard1.c @@ -160,17 +160,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -1038,8 +804,8 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-2.12-192-g7c08a05/elf/unload8.c -+++ glibc-2.12.90-17/elf/unload8.c +--- glibc-2.12-216-g3540d66/elf/unload8.c ++++ glibc-2.12.90-19/elf/unload8.c @@ -0,0 +1,33 @@ +#include +#include @@ -1074,8 +840,8 @@ + + return 0; +} ---- glibc-2.12-192-g7c08a05/elf/unload8mod1.c -+++ glibc-2.12.90-17/elf/unload8mod1.c +--- glibc-2.12-216-g3540d66/elf/unload8mod1.c ++++ glibc-2.12.90-19/elf/unload8mod1.c @@ -0,0 +1,7 @@ +extern void mod2 (void); + @@ -1084,12 +850,12 @@ +{ + mod2 (); +} ---- glibc-2.12-192-g7c08a05/elf/unload8mod1x.c -+++ glibc-2.12.90-17/elf/unload8mod1x.c +--- glibc-2.12-216-g3540d66/elf/unload8mod1x.c ++++ glibc-2.12.90-19/elf/unload8mod1x.c @@ -0,0 +1 @@ +int mod1x; ---- glibc-2.12-192-g7c08a05/elf/unload8mod2.c -+++ glibc-2.12.90-17/elf/unload8mod2.c +--- glibc-2.12-216-g3540d66/elf/unload8mod2.c ++++ glibc-2.12.90-19/elf/unload8mod2.c @@ -0,0 +1,7 @@ +extern void mod3 (void); + @@ -1098,8 +864,8 @@ +{ + mod3 (); +} ---- glibc-2.12-192-g7c08a05/elf/unload8mod3.c -+++ glibc-2.12.90-17/elf/unload8mod3.c +--- glibc-2.12-216-g3540d66/elf/unload8mod3.c ++++ glibc-2.12.90-19/elf/unload8mod3.c @@ -0,0 +1,27 @@ +#include +#include @@ -1128,26 +894,16 @@ + + atexit (mod3_fini); +} ---- glibc-2.12-192-g7c08a05/include/bits/stdlib-ldbl.h -+++ glibc-2.12.90-17/include/bits/stdlib-ldbl.h +--- glibc-2.12-216-g3540d66/include/bits/stdlib-ldbl.h ++++ glibc-2.12.90-19/include/bits/stdlib-ldbl.h @@ -0,0 +1 @@ +#include ---- glibc-2.12-192-g7c08a05/include/bits/wchar-ldbl.h -+++ glibc-2.12.90-17/include/bits/wchar-ldbl.h +--- glibc-2.12-216-g3540d66/include/bits/wchar-ldbl.h ++++ glibc-2.12.90-19/include/bits/wchar-ldbl.h @@ -0,0 +1 @@ +#include ---- glibc-2.12-192-g7c08a05/include/dlfcn.h -+++ glibc-2.12.90-17/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 - ---- glibc-2.12-192-g7c08a05/include/features.h -+++ glibc-2.12.90-17/include/features.h +--- glibc-2.12-216-g3540d66/include/features.h ++++ glibc-2.12.90-19/include/features.h @@ -308,8 +308,13 @@ #endif @@ -1164,8 +920,8 @@ # define __USE_FORTIFY_LEVEL 2 # else # define __USE_FORTIFY_LEVEL 1 ---- glibc-2.12-192-g7c08a05/include/link.h -+++ glibc-2.12.90-17/include/link.h +--- glibc-2.12-216-g3540d66/include/link.h ++++ glibc-2.12.90-19/include/link.h @@ -192,6 +192,9 @@ struct link_map during LD_TRACE_PRELINKING=1 contains any DT_SYMBOLIC @@ -1176,16 +932,16 @@ /* Collected information about own RPATH directories. */ struct r_search_path_struct l_rpath_dirs; ---- glibc-2.12-192-g7c08a05/include/sys/resource.h -+++ glibc-2.12.90-17/include/sys/resource.h +--- glibc-2.12-216-g3540d66/include/sys/resource.h ++++ glibc-2.12.90-19/include/sys/resource.h @@ -12,4 +12,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.12-192-g7c08a05/inet/Makefile -+++ glibc-2.12.90-17/inet/Makefile +--- glibc-2.12-216-g3540d66/inet/Makefile ++++ glibc-2.12.90-19/inet/Makefile @@ -57,6 +57,8 @@ tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \ include ../Rules @@ -1195,8 +951,8 @@ ifeq ($(have-thread-library),yes) CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions ---- glibc-2.12-192-g7c08a05/intl/locale.alias -+++ glibc-2.12.90-17/intl/locale.alias +--- glibc-2.12-216-g3540d66/intl/locale.alias ++++ glibc-2.12.90-19/intl/locale.alias @@ -57,8 +57,6 @@ korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR @@ -1206,8 +962,8 @@ norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 ---- glibc-2.12-192-g7c08a05/libio/stdio.h -+++ glibc-2.12.90-17/libio/stdio.h +--- glibc-2.12-216-g3540d66/libio/stdio.h ++++ glibc-2.12.90-19/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. */ @@ -1221,8 +977,8 @@ __BEGIN_NAMESPACE_STD /* Remove file FILENAME. */ ---- glibc-2.12-192-g7c08a05/locale/iso-4217.def -+++ glibc-2.12.90-17/locale/iso-4217.def +--- glibc-2.12-216-g3540d66/locale/iso-4217.def ++++ glibc-2.12.90-19/locale/iso-4217.def @@ -8,6 +8,7 @@ * * !!! The list has to be sorted !!! @@ -1314,8 +1070,8 @@ DEFINE_INT_CURR("PYG") /* Paraguay Guarani */ DEFINE_INT_CURR("QAR") /* Qatar Rial */ DEFINE_INT_CURR("ROL") /* Romanian Leu */ ---- glibc-2.12-192-g7c08a05/locale/programs/locarchive.c -+++ glibc-2.12.90-17/locale/programs/locarchive.c +--- glibc-2.12-216-g3540d66/locale/programs/locarchive.c ++++ glibc-2.12.90-19/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; @@ -1374,8 +1130,8 @@ add_alias (struct locarhandle *ah, const char *alias, bool replace, const char *oldname, uint32_t *locrec_offset_p) { ---- glibc-2.12-192-g7c08a05/localedata/Makefile -+++ glibc-2.12.90-17/localedata/Makefile +--- glibc-2.12-216-g3540d66/localedata/Makefile ++++ glibc-2.12.90-19/localedata/Makefile @@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir echo -n '...'; \ input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \ @@ -1384,8 +1140,8 @@ -i locales/$$input -c -f charmaps/$$charset \ $(addprefix --prefix=,$(install_root)) $$locale; \ echo ' done'; \ ---- glibc-2.12-192-g7c08a05/localedata/SUPPORTED -+++ glibc-2.12.90-17/localedata/SUPPORTED +--- glibc-2.12-216-g3540d66/localedata/SUPPORTED ++++ glibc-2.12.90-19/localedata/SUPPORTED @@ -85,6 +85,7 @@ cy_GB.UTF-8/UTF-8 \ cy_GB/ISO-8859-14 \ da_DK.UTF-8/UTF-8 \ @@ -1427,8 +1183,8 @@ ta_IN/UTF-8 \ te_IN/UTF-8 \ tg_TJ.UTF-8/UTF-8 \ ---- glibc-2.12-192-g7c08a05/localedata/locales/cy_GB -+++ glibc-2.12.90-17/localedata/locales/cy_GB +--- glibc-2.12-216-g3540d66/localedata/locales/cy_GB ++++ glibc-2.12.90-19/localedata/locales/cy_GB @@ -248,8 +248,11 @@ mon "";/ d_t_fmt "" d_fmt "" @@ -1443,8 +1199,8 @@ END LC_TIME LC_MESSAGES ---- glibc-2.12-192-g7c08a05/localedata/locales/en_GB -+++ glibc-2.12.90-17/localedata/locales/en_GB +--- glibc-2.12-216-g3540d66/localedata/locales/en_GB ++++ glibc-2.12.90-19/localedata/locales/en_GB @@ -116,8 +116,8 @@ mon "";/ d_t_fmt "" d_fmt "" @@ -1456,8 +1212,8 @@ date_fmt "/ / " ---- glibc-2.12-192-g7c08a05/localedata/locales/no_NO -+++ glibc-2.12.90-17/localedata/locales/no_NO +--- glibc-2.12-216-g3540d66/localedata/locales/no_NO ++++ glibc-2.12.90-19/localedata/locales/no_NO @@ -0,0 +1,69 @@ +escape_char / +comment_char % @@ -1528,8 +1284,8 @@ +LC_ADDRESS +copy "nb_NO" +END LC_ADDRESS ---- glibc-2.12-192-g7c08a05/localedata/locales/zh_TW -+++ glibc-2.12.90-17/localedata/locales/zh_TW +--- glibc-2.12-216-g3540d66/localedata/locales/zh_TW ++++ glibc-2.12.90-19/localedata/locales/zh_TW @@ -1,7 +1,7 @@ comment_char % escape_char / @@ -1557,8 +1313,8 @@ revision "0.2" date "2000-08-02" % ---- glibc-2.12-192-g7c08a05/malloc/mcheck.c -+++ glibc-2.12.90-17/malloc/mcheck.c +--- glibc-2.12-216-g3540d66/malloc/mcheck.c ++++ glibc-2.12.90-19/malloc/mcheck.c @@ -25,10 +25,26 @@ # include # include @@ -1635,8 +1391,8 @@ old_free_hook = __free_hook; __free_hook = freehook; ---- glibc-2.12-192-g7c08a05/manual/libc.texinfo -+++ glibc-2.12.90-17/manual/libc.texinfo +--- glibc-2.12-216-g3540d66/manual/libc.texinfo ++++ glibc-2.12.90-19/manual/libc.texinfo @@ -5,7 +5,7 @@ @c setchapternewpage odd @@ -1646,8 +1402,8 @@ @direntry * Libc: (libc). C library. @end direntry ---- glibc-2.12-192-g7c08a05/misc/sys/cdefs.h -+++ glibc-2.12.90-17/misc/sys/cdefs.h +--- glibc-2.12-216-g3540d66/misc/sys/cdefs.h ++++ glibc-2.12.90-19/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) @@ -1691,8 +1447,8 @@ # define __va_arg_pack() __builtin_va_arg_pack () # define __va_arg_pack_len() __builtin_va_arg_pack_len () #endif ---- glibc-2.12-192-g7c08a05/nis/Makefile -+++ glibc-2.12.90-17/nis/Makefile +--- glibc-2.12-216-g3540d66/nis/Makefile ++++ glibc-2.12.90-19/nis/Makefile @@ -69,6 +69,8 @@ libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) include ../Rules @@ -1702,8 +1458,8 @@ $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version) $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \ ---- glibc-2.12-192-g7c08a05/nis/nss -+++ glibc-2.12.90-17/nis/nss +--- glibc-2.12-216-g3540d66/nis/nss ++++ glibc-2.12.90-19/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 @@ -1713,8 +1469,8 @@ # # ADJUNCT_AS_SHADOW # If set to TRUE, the passwd routines in the NIS NSS module will not ---- glibc-2.12-192-g7c08a05/nptl/ChangeLog -+++ glibc-2.12.90-17/nptl/ChangeLog +--- glibc-2.12-216-g3540d66/nptl/ChangeLog ++++ glibc-2.12.90-19/nptl/ChangeLog @@ -3965,6 +3965,15 @@ Use __sigfillset. Document that sigfillset does the right thing wrt to SIGSETXID. @@ -1755,8 +1511,8 @@ 2003-07-25 Jakub Jelinek * tst-cancel17.c (do_test): Check if aio_cancel failed. ---- glibc-2.12-192-g7c08a05/nptl/Makefile -+++ glibc-2.12.90-17/nptl/Makefile +--- glibc-2.12-216-g3540d66/nptl/Makefile ++++ glibc-2.12.90-19/nptl/Makefile @@ -342,7 +342,8 @@ endif extra-objs += $(crti-objs) $(crtn-objs) omit-deps += crti crtn @@ -1789,8 +1545,8 @@ else $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a endif ---- glibc-2.12-192-g7c08a05/nptl/Versions -+++ glibc-2.12.90-17/nptl/Versions +--- glibc-2.12-216-g3540d66/nptl/Versions ++++ glibc-2.12.90-19/nptl/Versions @@ -29,6 +29,7 @@ libc { GLIBC_PRIVATE { # Internal libc interface to libpthread @@ -1799,8 +1555,8 @@ } } ---- glibc-2.12-192-g7c08a05/nptl/allocatestack.c -+++ glibc-2.12.90-17/nptl/allocatestack.c +--- glibc-2.12-216-g3540d66/nptl/allocatestack.c ++++ glibc-2.12.90-19/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. */ @@ -1819,8 +1575,8 @@ } while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling, ch | SETXID_BITMASK, ch)); ---- glibc-2.12-192-g7c08a05/nptl/nptl-init.c -+++ glibc-2.12.90-17/nptl/nptl-init.c +--- glibc-2.12-216-g3540d66/nptl/nptl-init.c ++++ glibc-2.12.90-19/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. */ @@ -1830,8 +1586,8 @@ || limit.rlim_cur == RLIM_INFINITY) /* The system limit is not usable. Use an architecture-specific default. */ ---- glibc-2.12-192-g7c08a05/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h -+++ glibc-2.12.90-17/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h +--- glibc-2.12-216-g3540d66/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h ++++ glibc-2.12.90-19/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 @@ -1840,8 +1596,8 @@ +#define _XOPEN_STREAMS -1 + #endif /* bits/posix_opt.h */ ---- glibc-2.12-192-g7c08a05/nptl/sysdeps/unix/sysv/linux/i386/Versions -+++ glibc-2.12.90-17/nptl/sysdeps/unix/sysv/linux/i386/Versions +--- glibc-2.12-216-g3540d66/nptl/sysdeps/unix/sysv/linux/i386/Versions ++++ glibc-2.12.90-19/nptl/sysdeps/unix/sysv/linux/i386/Versions @@ -0,0 +1,6 @@ +libc { + GLIBC_PRIVATE { @@ -1849,8 +1605,8 @@ + __uname; + } +} ---- glibc-2.12-192-g7c08a05/nptl/sysdeps/unix/sysv/linux/i386/smp.h -+++ glibc-2.12.90-17/nptl/sysdeps/unix/sysv/linux/i386/smp.h +--- glibc-2.12-216-g3540d66/nptl/sysdeps/unix/sysv/linux/i386/smp.h ++++ glibc-2.12.90-19/nptl/sysdeps/unix/sysv/linux/i386/smp.h @@ -37,7 +37,7 @@ is_smp_system (void) char *cp; @@ -1860,8 +1616,8 @@ cp = u.uts.version; else { ---- glibc-2.12-192-g7c08a05/nptl/sysdeps/unix/sysv/linux/kernel-features.h -+++ glibc-2.12.90-17/nptl/sysdeps/unix/sysv/linux/kernel-features.h +--- glibc-2.12-216-g3540d66/nptl/sysdeps/unix/sysv/linux/kernel-features.h ++++ glibc-2.12.90-19/nptl/sysdeps/unix/sysv/linux/kernel-features.h @@ -0,0 +1,6 @@ +#include_next + @@ -1869,8 +1625,8 @@ +#ifndef __ASSUME_CLONE_THREAD_FLAGS +# define __ASSUME_CLONE_THREAD_FLAGS 1 +#endif ---- glibc-2.12-192-g7c08a05/nptl/tst-stackguard1.c -+++ glibc-2.12.90-17/nptl/tst-stackguard1.c +--- glibc-2.12-216-g3540d66/nptl/tst-stackguard1.c ++++ glibc-2.12.90-19/nptl/tst-stackguard1.c @@ -190,17 +190,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -1895,8 +1651,8 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-2.12-192-g7c08a05/nscd/nscd.conf -+++ glibc-2.12.90-17/nscd/nscd.conf +--- glibc-2.12-216-g3540d66/nscd/nscd.conf ++++ glibc-2.12.90-19/nscd/nscd.conf @@ -33,7 +33,7 @@ # logfile /var/log/nscd.log # threads 4 @@ -1906,8 +1662,8 @@ # stat-user somebody debug-level 0 # reload-count 5 ---- glibc-2.12-192-g7c08a05/nscd/nscd.init -+++ glibc-2.12.90-17/nscd/nscd.init +--- glibc-2.12-216-g3540d66/nscd/nscd.init ++++ glibc-2.12.90-19/nscd/nscd.init @@ -9,6 +9,7 @@ # slow naming services like NIS, NIS+, LDAP, or hesiod. # processname: /usr/sbin/nscd @@ -1984,8 +1740,8 @@ ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" ---- glibc-2.12-192-g7c08a05/nss/Makefile -+++ glibc-2.12.90-17/nss/Makefile +--- glibc-2.12-216-g3540d66/nss/Makefile ++++ glibc-2.12.90-19/nss/Makefile @@ -75,6 +75,7 @@ endif include ../Rules @@ -1994,8 +1750,8 @@ ifeq (yes,$(build-static-nss)) $(objpfx)getent: $(objpfx)libnss_files.a ---- glibc-2.12-192-g7c08a05/nss/nss_files/files-XXX.c -+++ glibc-2.12.90-17/nss/nss_files/files-XXX.c +--- glibc-2.12-216-g3540d66/nss/nss_files/files-XXX.c ++++ glibc-2.12.90-19/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 @@ -2012,9 +1768,9 @@ int parse_result; if (buflen < sizeof *data + 2) ---- glibc-2.12-192-g7c08a05/posix/Makefile -+++ glibc-2.12.90-17/posix/Makefile -@@ -319,15 +319,8 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \ +--- glibc-2.12-216-g3540d66/posix/Makefile ++++ glibc-2.12.90-19/posix/Makefile +@@ -325,15 +325,8 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \ mv -f $@/$$spec.new $@/$$spec; \ done < $(objpfx)getconf.speclist @@ -2034,8 +1790,8 @@ + | sed -n -e '/START_OF_STRINGS/,$${/\(POSIX_V[67]\|_XBS5\)_/{s/^[^"]*"//;s/".*$$//;p}}' \ + > $@.new mv -f $@.new $@ ---- glibc-2.12-192-g7c08a05/posix/gai.conf -+++ glibc-2.12.90-17/posix/gai.conf +--- glibc-2.12-216-g3540d66/posix/gai.conf ++++ glibc-2.12.90-19/posix/gai.conf @@ -41,7 +41,7 @@ # # precedence @@ -2060,8 +1816,8 @@ #scopev4 ::ffff:0.0.0.0/96 14 +# +# This is what the Red Hat setting currently uses. ---- glibc-2.12-192-g7c08a05/posix/getconf.speclist.h -+++ glibc-2.12.90-17/posix/getconf.speclist.h +--- glibc-2.12-216-g3540d66/posix/getconf.speclist.h ++++ glibc-2.12.90-19/posix/getconf.speclist.h @@ -0,0 +1,39 @@ +#include +const char *START_OF_STRINGS = @@ -2102,8 +1858,8 @@ +"XBS5_LPBIG_OFFBIG" +#endif +""; ---- glibc-2.12-192-g7c08a05/posix/regcomp.c -+++ glibc-2.12.90-17/posix/regcomp.c +--- glibc-2.12-216-g3540d66/posix/regcomp.c ++++ glibc-2.12.90-19/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. @@ -2235,8 +1991,8 @@ { /* No valid character, treat it as a normal character. */ ---- glibc-2.12-192-g7c08a05/resolv/Makefile -+++ glibc-2.12.90-17/resolv/Makefile +--- glibc-2.12-216-g3540d66/resolv/Makefile ++++ glibc-2.12.90-19/resolv/Makefile @@ -77,6 +77,7 @@ CPPFLAGS += -Dgethostbyname=res_gethostbyname \ -Dgetnetbyaddr=res_getnetbyaddr @@ -2245,8 +2001,8 @@ # The BIND code elicits some harmless warnings. +cflags += -Wno-strict-prototypes -Wno-write-strings ---- glibc-2.12-192-g7c08a05/resource/getrlimit.c -+++ glibc-2.12.90-17/resource/getrlimit.c +--- glibc-2.12-216-g3540d66/resource/getrlimit.c ++++ glibc-2.12.90-19/resource/getrlimit.c @@ -28,6 +28,7 @@ __getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) __set_errno (ENOSYS); return -1; @@ -2255,8 +2011,8 @@ weak_alias (__getrlimit, getrlimit) stub_warning (getrlimit) ---- glibc-2.12-192-g7c08a05/stdio-common/vfprintf.c -+++ glibc-2.12.90-17/stdio-common/vfprintf.c +--- glibc-2.12-216-g3540d66/stdio-common/vfprintf.c ++++ glibc-2.12.90-19/stdio-common/vfprintf.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2008, 2009 Free Software Foundation, Inc. +/* Copyright (C) 1991-2008, 2009, 2010 Free Software Foundation, Inc. @@ -2308,8 +2064,8 @@ else \ len = strlen (string); \ } \ ---- glibc-2.12-192-g7c08a05/streams/Makefile -+++ glibc-2.12.90-17/streams/Makefile +--- glibc-2.12-216-g3540d66/streams/Makefile ++++ glibc-2.12.90-19/streams/Makefile @@ -21,7 +21,7 @@ # subdir := streams @@ -2319,8 +2075,8 @@ routines = isastream getmsg getpmsg putmsg putpmsg fattach fdetach include ../Rules ---- glibc-2.12-192-g7c08a05/sunrpc/Makefile -+++ glibc-2.12.90-17/sunrpc/Makefile +--- glibc-2.12-216-g3540d66/sunrpc/Makefile ++++ glibc-2.12.90-19/sunrpc/Makefile @@ -129,6 +129,10 @@ CFLAGS-openchild.c = -fexceptions CPPFLAGS += -D_RPC_THREAD_SAFE_ @@ -2332,8 +2088,8 @@ include ../Rules $(objpfx)rpcgen: $(addprefix $(objpfx),$(rpcgen-objs)) \ ---- glibc-2.12-192-g7c08a05/sysdeps/generic/dl-cache.h -+++ glibc-2.12.90-17/sysdeps/generic/dl-cache.h +--- glibc-2.12-216-g3540d66/sysdeps/generic/dl-cache.h ++++ glibc-2.12.90-19/sysdeps/generic/dl-cache.h @@ -36,6 +36,14 @@ # define add_system_dir(dir) add_dir (dir) #endif @@ -2349,24 +2105,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-192-g7c08a05/sysdeps/generic/ldsodefs.h -+++ glibc-2.12.90-17/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; ---- glibc-2.12-192-g7c08a05/sysdeps/i386/Makefile -+++ glibc-2.12.90-17/sysdeps/i386/Makefile +--- glibc-2.12-216-g3540d66/sysdeps/i386/Makefile ++++ glibc-2.12.90-19/sysdeps/i386/Makefile @@ -2,6 +2,8 @@ # Every i386 port in use uses gas syntax (I think). asm-CPPFLAGS += -DGAS_SYNTAX @@ -2391,8 +2131,8 @@ endif ifeq ($(subdir),elf) ---- glibc-2.12-192-g7c08a05/sysdeps/i386/i686/Makefile -+++ glibc-2.12.90-17/sysdeps/i386/i686/Makefile +--- glibc-2.12-216-g3540d66/sysdeps/i386/i686/Makefile ++++ glibc-2.12.90-19/sysdeps/i386/i686/Makefile @@ -9,19 +9,3 @@ stack-align-test-flags += -msse ifeq ($(subdir),string) sysdep_routines += cacheinfo @@ -2413,8 +2153,8 @@ -ASFLAGS-.ob += -Wa,-mtune=i686 -ASFLAGS-.oS += -Wa,-mtune=i686 -endif ---- glibc-2.12-192-g7c08a05/sysdeps/i386/i686/multiarch/strspn.S -+++ glibc-2.12.90-17/sysdeps/i386/i686/multiarch/strspn.S +--- glibc-2.12-216-g3540d66/sysdeps/i386/i686/multiarch/strspn.S ++++ glibc-2.12.90-19/sysdeps/i386/i686/multiarch/strspn.S @@ -76,8 +76,8 @@ END(strspn) # define ENTRY(name) \ .type __strspn_ia32, @function; \ @@ -2426,8 +2166,8 @@ CALL_MCOUNT # undef END # define END(name) \ ---- glibc-2.12-192-g7c08a05/sysdeps/ia64/Makefile -+++ glibc-2.12.90-17/sysdeps/ia64/Makefile +--- glibc-2.12-216-g3540d66/sysdeps/ia64/Makefile ++++ glibc-2.12.90-19/sysdeps/ia64/Makefile @@ -12,8 +12,8 @@ elide-routines.os += hp-timing ifeq (yes,$(build-shared)) @@ -2439,8 +2179,8 @@ endif endif ---- glibc-2.12-192-g7c08a05/sysdeps/ia64/ia64libgcc.S -+++ glibc-2.12.90-17/sysdeps/ia64/ia64libgcc.S +--- glibc-2.12-216-g3540d66/sysdeps/ia64/ia64libgcc.S ++++ glibc-2.12.90-19/sysdeps/ia64/ia64libgcc.S @@ -1,350 +0,0 @@ -/* From the Intel IA-64 Optimization Guide, choose the minimum latency - alternative. */ @@ -2792,8 +2532,8 @@ - .symver ___multi3, __multi3@GLIBC_2.2 - -#endif ---- glibc-2.12-192-g7c08a05/sysdeps/ia64/libgcc-compat.c -+++ glibc-2.12.90-17/sysdeps/ia64/libgcc-compat.c +--- glibc-2.12-216-g3540d66/sysdeps/ia64/libgcc-compat.c ++++ glibc-2.12.90-19/sysdeps/ia64/libgcc-compat.c @@ -0,0 +1,84 @@ +/* pre-.hidden libgcc compatibility + Copyright (C) 2002 Free Software Foundation, Inc. @@ -2879,16 +2619,16 @@ +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); + +#endif ---- glibc-2.12-192-g7c08a05/sysdeps/mach/hurd/getrlimit.c -+++ glibc-2.12.90-17/sysdeps/mach/hurd/getrlimit.c +--- glibc-2.12-216-g3540d66/sysdeps/mach/hurd/getrlimit.c ++++ glibc-2.12.90-19/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.12-192-g7c08a05/sysdeps/posix/getaddrinfo.c -+++ glibc-2.12.90-17/sysdeps/posix/getaddrinfo.c +--- glibc-2.12-216-g3540d66/sysdeps/posix/getaddrinfo.c ++++ glibc-2.12.90-19/sysdeps/posix/getaddrinfo.c @@ -965,6 +965,7 @@ gaih_inet (const char *name, const struct gaih_service *service, make a copy. */ if (out == canon) @@ -2910,8 +2650,8 @@ /* Default: scope 14. */ { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 } }; ---- glibc-2.12-192-g7c08a05/sysdeps/powerpc/powerpc64/Makefile -+++ glibc-2.12.90-17/sysdeps/powerpc/powerpc64/Makefile +--- glibc-2.12-216-g3540d66/sysdeps/powerpc/powerpc64/Makefile ++++ glibc-2.12.90-19/sysdeps/powerpc/powerpc64/Makefile @@ -30,6 +30,7 @@ ifneq ($(elf),no) # we use -fpic instead which is much better. CFLAGS-initfini.s += -fpic -O1 @@ -2920,16 +2660,16 @@ endif ifeq ($(subdir),elf) ---- glibc-2.12-192-g7c08a05/sysdeps/powerpc/powerpc64/elf/Makefile -+++ glibc-2.12.90-17/sysdeps/powerpc/powerpc64/elf/Makefile +--- glibc-2.12-216-g3540d66/sysdeps/powerpc/powerpc64/elf/Makefile ++++ glibc-2.12.90-19/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.12-192-g7c08a05/sysdeps/unix/nice.c -+++ glibc-2.12.90-17/sysdeps/unix/nice.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/nice.c ++++ glibc-2.12.90-19/sysdeps/unix/nice.c @@ -42,7 +42,12 @@ nice (int incr) __set_errno (save); } @@ -2944,8 +2684,8 @@ if (result == -1) { if (errno == EACCES) ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/check_pf.c -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/check_pf.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/check_pf.c ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/check_pf.c @@ -27,13 +27,10 @@ #include #include @@ -2961,8 +2701,8 @@ #ifndef IFA_F_HOMEADDRESS # define IFA_F_HOMEADDRESS 0 ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/dl-osinfo.h -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/dl-osinfo.h +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/dl-osinfo.h ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/dl-osinfo.h @@ -17,10 +17,13 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -3010,8 +2750,8 @@ } else #endif ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/futimesat.c -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/futimesat.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/futimesat.c ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/futimesat.c @@ -37,14 +37,14 @@ futimesat (fd, file, tvp) { int result; @@ -3054,8 +2794,8 @@ { size_t filelen = strlen (file); if (__builtin_expect (filelen == 0, 0)) ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/getpagesize.c -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/getpagesize.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/getpagesize.c ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/getpagesize.c @@ -28,7 +28,7 @@ int __getpagesize () @@ -3065,8 +2805,8 @@ assert (GLRO(dl_pagesize) != 0); return GLRO(dl_pagesize); #else ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/i386/dl-cache.h -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/i386/dl-cache.h +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/i386/dl-cache.h ++++ glibc-2.12.90-19/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. @@ -3127,16 +2867,16 @@ + } while (0) + +#include_next ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/i386/getrlimit.c -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/i386/getrlimit.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/i386/getrlimit.c ++++ glibc-2.12.90-19/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.12-192-g7c08a05/sysdeps/unix/sysv/linux/ia64/dl-cache.h -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/ia64/dl-cache.h +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/ia64/dl-cache.h ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/ia64/dl-cache.h @@ -22,4 +22,31 @@ #define _dl_cache_check_flags(flags) \ ((flags) == _DL_CACHE_DEFAULT_ID) @@ -3169,29 +2909,29 @@ + } while (0) + #include_next ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include +#else +#include +#endif ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include +#else +#include +#endif ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed ++++ glibc-2.12.90-19/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-192-g7c08a05/sysdeps/unix/sysv/linux/netlinkaccess.h -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/netlinkaccess.h +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/netlinkaccess.h ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/netlinkaccess.h @@ -25,6 +25,24 @@ #include @@ -3217,8 +2957,8 @@ struct netlink_res { ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/paths.h -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/paths.h +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/paths.h ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/paths.h @@ -62,7 +62,7 @@ #define _PATH_TTY "/dev/tty" #define _PATH_UNIX "/boot/vmlinux" @@ -3228,13 +2968,13 @@ #define _PATH_WTMP "/var/log/wtmp" /* Provide trailing slash, since mostly used for building pathnames. */ ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c @@ -1 +1 @@ -#include "../../fxstat.c" +#include "../../i386/fxstat.c" ---- glibc-2.12-192-g7c08a05/sysdeps/unix/sysv/linux/tcsetattr.c -+++ glibc-2.12.90-17/sysdeps/unix/sysv/linux/tcsetattr.c +--- glibc-2.12-216-g3540d66/sysdeps/unix/sysv/linux/tcsetattr.c ++++ glibc-2.12.90-19/sysdeps/unix/sysv/linux/tcsetattr.c @@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios_p) { struct __kernel_termios k_termios; @@ -3280,8 +3020,8 @@ + return retval; } libc_hidden_def (tcsetattr) ---- glibc-2.12-192-g7c08a05/timezone/zic.c -+++ glibc-2.12.90-17/timezone/zic.c +--- glibc-2.12-216-g3540d66/timezone/zic.c ++++ glibc-2.12.90-19/timezone/zic.c @@ -1921,7 +1921,7 @@ const int zonecount; if (stdrp != NULL && stdrp->r_hiyear == 2037) return; diff --git a/glibc.spec b/glibc.spec index 6f3a5d2..f07a195 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ -%define glibcsrcdir glibc-2.12-192-g7c08a05 +%define glibcsrcdir glibc-2.12-216-g3540d66 %define glibcversion 2.12.90 -%define glibcportsdir glibc-ports-2.12-37-g16d6bc0 +%define glibcportsdir glibc-ports-2.12-40-g3ef5824 ### glibc.spec.in follows: %define run_glibc_tests 1 %define auxarches athlon alphaev6 @@ -24,7 +24,7 @@ Summary: The GNU libc libraries Name: glibc Version: %{glibcversion} -Release: 18 +Release: 19 # GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries. # Things that are linked directly into dynamically linked programs # and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional @@ -862,6 +862,26 @@ touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid} mkdir -p $RPM_BUILD_ROOT/var/cache/ldconfig > $RPM_BUILD_ROOT/var/cache/ldconfig/aux-cache +%pre -p +-- Check that the running kernel is new enough +required = '%{enablekernel}' +f = io.open("/proc/sys/kernel/osrelease") +if f then + rel = {} + for v in string.gmatch(f:read(), '%%d+') do + table.insert(rel, tonumber(v)) + end + i = 1 + for r in string.gmatch(required, '%%d+') do + if rel[i] == nil or tonumber(r) > rel[i] then + print("FATAL: kernel too old") + os.exit(1) + end + if tonumber(r) < rel[i] then break end + i = i + 1 + end +end + %post -p /usr/sbin/glibc_post_upgrade.%{_target_cpu} %postun -p /sbin/ldconfig @@ -1024,6 +1044,26 @@ rm -f *.filelist* %endif %changelog +* Fri Nov 12 2010 Andreas Schwab - 2.12.90-19 +- Update from master + - Fix memory leak in fnmatch + - Support Intel processor model 6 and model 0x2 + - Fix comparison in sqrtl for IBM long double + - Fix one exit path in x86-64 SSE4.2 str{,n}casecmp (BZ#12205, #651638) + - Fix warnings in __bswap_16 (BZ#12194) + - Use IFUNC on x86-64 memset + - Power7-optimized mempcpy + - Handle uneven cache size in 32bit SSE2 memset (BZ#12191) + - Verify in ttyname that the symlink is valid (BZ#12167) + - Update Danish translations + - Fix concurrency problem between dl_open and dl_iterate_phdr + - Fix x86-64 strchr propagation of search byte into all bytes of SSE + register (BZ#12159) + - Fix perturbing in malloc on free (BZ#12140) + - PPC/A2 optimized memcpy function + - Add C99 FP_FAST_FMA{,F,L} macros to +- Check that the running kernel is new enough (#649589) + * Fri Oct 22 2010 Andreas Schwab - 2.12.90-18 - Require suid bit on audit objects in privileged programs (CVE-2010-3856) diff --git a/sources b/sources index 65a68ef..7353fd1 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -2b95e57b363f70e6b741cd90796e3dcf glibc-2.12-192-g7c08a05-fedora.tar.xz -9017b142271e99972afd7ec99f615a91 glibc-2.12-192-g7c08a05.tar.xz -43ebb24d464d4d21e657daf0465d19d7 glibc-ports-2.12-37-g16d6bc0.tar.xz +5837ad99b7fd9b38835c42afb5f2e112 glibc-2.12-216-g3540d66-fedora.tar.xz +d8d3964701bbab04eaeff50a5ea6f134 glibc-2.12-216-g3540d66.tar.xz +fd9c36a241babd8d6998f27fe58afcbe glibc-ports-2.12-40-g3ef5824.tar.xz