From ce126e12dbd8e6eed3265087b4fa6d4a30072823 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Nov 24 2014 14:58:08 +0000 Subject: Sync with upstream master. --- diff --git a/glibc-fedora-__libc_multiple_libcs.patch b/glibc-fedora-__libc_multiple_libcs.patch index 443942a..945a955 100644 --- a/glibc-fedora-__libc_multiple_libcs.patch +++ b/glibc-fedora-__libc_multiple_libcs.patch @@ -1,46 +1,42 @@ -From 16552c01a66633c9e412984d9d92616bd4e5303c Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Fri, 11 Jun 2010 11:04:11 +0200 -Subject: [PATCH] Properly set __libc_multiple_libcs - -* 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. - ---- - ChangeLog | 7 +++++++ - elf/dl-init.c | 4 ---- - elf/dl-support.c | 2 -- - elf/rtld.c | 4 ---- - 4 files changed, 7 insertions(+), 10 deletions(-) - ---- a/elf/dl-init.c -+++ b/elf/dl-init.c -@@ -23,11 +23,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 -@@ -132,8 +130,6 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) +# +# Upstream discussions: +# https://sourceware.org/ml/libc-alpha/2014-02/msg00580.html +# +# Based on the following commit: +# +# From 16552c01a66633c9e412984d9d92616bd4e5303c Mon Sep 17 00:00:00 2001 +# From: Andreas Schwab +# Date: Fri, 11 Jun 2010 11:04:11 +0200 +# Subject: [PATCH] Properly set __libc_multiple_libcs +# +# * 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. +# +# --- +# ChangeLog | 7 +++++++ +# elf/dl-init.c | 4 ---- +# elf/dl-support.c | 2 -- +# elf/rtld.c | 4 ---- +# 4 files changed, 7 insertions(+), 10 deletions(-) +# +diff -urN glibc-2.20-205-ga39208b/elf/dl-init.c glibc-2.20-205-ga39208b.mod/elf/dl-init.c +--- glibc-2.20-205-ga39208b/elf/dl-init.c 2014-11-21 16:08:32.744913590 -0500 ++++ glibc-2.20-205-ga39208b.mod/elf/dl-init.c 2014-11-21 16:09:42.485708197 -0500 +@@ -119,8 +119,6 @@ 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; + _dl_starting_up = 0; -#endif } ---- a/elf/dl-support.c -+++ b/elf/dl-support.c -@@ -81,10 +81,8 @@ unsigned long long _dl_load_adds; +diff -urN glibc-2.20-205-ga39208b/elf/dl-support.c glibc-2.20-205-ga39208b.mod/elf/dl-support.c +--- glibc-2.20-205-ga39208b/elf/dl-support.c 2014-11-19 14:35:03.000000000 -0500 ++++ glibc-2.20-205-ga39208b.mod/elf/dl-support.c 2014-11-21 16:09:54.829671843 -0500 +@@ -118,10 +118,8 @@ .r_nlist = 1, }; @@ -51,9 +47,10 @@ Subject: [PATCH] Properly set __libc_multiple_libcs /* Random data provided by the kernel. */ void *_dl_random; ---- a/elf/rtld.c -+++ b/elf/rtld.c -@@ -106,7 +106,6 @@ static struct audit_list +diff -urN glibc-2.20-205-ga39208b/elf/rtld.c glibc-2.20-205-ga39208b.mod/elf/rtld.c +--- glibc-2.20-205-ga39208b/elf/rtld.c 2014-11-21 16:08:32.745913587 -0500 ++++ glibc-2.20-205-ga39208b.mod/elf/rtld.c 2014-11-21 16:09:05.614816785 -0500 +@@ -107,7 +107,6 @@ struct audit_list *next; } *audit_list; @@ -61,21 +58,21 @@ Subject: [PATCH] Properly set __libc_multiple_libcs /* 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 -@@ -116,7 +115,6 @@ static struct audit_list +@@ -117,7 +116,6 @@ never be called. */ int _dl_starting_up = 0; - INTVARDEF(_dl_starting_up) + rtld_hidden_def (_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). */ -@@ -929,10 +927,8 @@ dl_main (const ElfW(Phdr) *phdr, +@@ -776,10 +774,8 @@ /* 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; + _dl_starting_up = 1; -#endif if (*user_entry == (ElfW(Addr)) ENTRY_POINT) diff --git a/glibc.spec b/glibc.spec index e6f037b..e5f761d 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ -%define glibcsrcdir glibc-2.20-153-g29955b5 +%define glibcsrcdir glibc-2.20-205-ga39208b %define glibcversion 2.20.90 -%define glibcrelease 8%{?dist} +%define glibcrelease 9%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -1725,6 +1725,9 @@ rm -f *.filelist* %endif %changelog +* Wed Nov 19 2014 Carlos O'Donell - 2.20.90-9 +- Sync with upstream master. + * Wed Nov 05 2014 Siddhesh Poyarekar - 2.20.90-8 - Make getconf return only /usr/bin (#1138835). - Sync with upstream master. diff --git a/sources b/sources index 8c51e6d..143d992 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7dee5d3946607d7c2267f0539f2d6bbe glibc-2.20-153-g29955b5.tar.gz +6a95cb9979ad4f189f2e21e6929e3d3f glibc-2.20-205-ga39208b.tar.gz