From 8fdf674ae9ac2dba7eb325f2bf9c6661b04af9b8 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Fri, 27 Nov 2015 01:14:36 -0500 Subject: [PATCH] glibc-2.22.90-22 - The generic hidden directive support is already used for preinit/init/fini-array symbols so we drop the Fedora-specific patch that does the same thing. Reported by Dmitry V. Levin - Require glibc-static for C++ tests. - Require gcc-c++, libstdc++-static, and glibc-static only when needed. - Fix --without docs to not leave info files. --- glibc-fedora-elf-init-hidden_undef.patch | 30 --------------------- glibc.spec | 34 +++++++++++++++++++----- template.patch | 11 ++++++++ 3 files changed, 38 insertions(+), 37 deletions(-) delete mode 100644 glibc-fedora-elf-init-hidden_undef.patch create mode 100644 template.patch diff --git a/glibc-fedora-elf-init-hidden_undef.patch b/glibc-fedora-elf-init-hidden_undef.patch deleted file mode 100644 index 36ef59c..0000000 --- a/glibc-fedora-elf-init-hidden_undef.patch +++ /dev/null @@ -1,30 +0,0 @@ -* Fri May 29 2003 Jakub Jelinek 2.3.2-44 -- make __init_array_start etc. symbols in elf-init.oS hidden undefined - -diff -Nrup a/csu/elf-init.c b/csu/elf-init.c ---- a/csu/elf-init.c 2012-06-05 07:42:49.000000000 -0600 -+++ b/csu/elf-init.c 2012-06-07 12:15:21.570319597 -0600 -@@ -62,6 +62,23 @@ extern void _fini (void); - programs, this module will come from libc_nonshared.a and differs from - the libc.a module in that it doesn't call the preinit array. */ - -+#if defined HAVE_VISIBILITY_ATTRIBUTE \ -+ && (defined SHARED || defined LIBC_NONSHARED) -+# define hidden_undef_2(x) #x -+# define hidden_undef_1(x) hidden_undef_2 (x) -+# define hidden_undef(x) \ -+ __asm (hidden_undef_1 (ASM_GLOBAL_DIRECTIVE) " " #x); \ -+ __asm (".hidden " #x); -+#else -+# define hidden_undef(x) -+#endif -+ -+hidden_undef (__preinit_array_start) -+hidden_undef (__preinit_array_end) -+hidden_undef (__init_array_start) -+hidden_undef (__init_array_end) -+hidden_undef (__fini_array_start) -+hidden_undef (__fini_array_end) - - void - __libc_csu_init (int argc, char **argv, char **envp) diff --git a/glibc.spec b/glibc.spec index de120d2..554a5f0 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,6 +1,6 @@ %define glibcsrcdir glibc-2.22-540-g31cf394 %define glibcversion 2.22.90 -%define glibcrelease 21%{?dist} +%define glibcrelease 22%{?dist} # Pre-release tarballs are pulled in from git using a command that is # effectively: # @@ -199,7 +199,6 @@ Patch0028: glibc-fedora-localedata-rh61908.patch Patch0030: glibc-fedora-uname-getrlimit.patch Patch0031: glibc-fedora-__libc_multiple_libcs.patch Patch0033: glibc-fedora-elf-ORIGIN.patch -Patch0034: glibc-fedora-elf-init-hidden_undef.patch # Needs to be sent upstream. # Support mangling and demangling null pointers. @@ -391,10 +390,19 @@ BuildRequires: elfutils >= 0.72 BuildRequires: rpm >= 4.2-0.56 %endif -# The testsuite builds static C++ binaries that require a C++ compiler -# and static C++ runtime from libstdc++-static. +%if %{without boostrap} +%if %{with testsuite} +# The testsuite builds static C++ binaries that require a C++ compiler, +# static C++ runtime from libstdc++-static, and lastly static glibc. BuildRequires: gcc-c++ BuildRequires: libstdc++-static +# A configure check tests for the ability to create static C++ binaries +# before glibc is built and therefore we need a glibc-static for that +# check to pass even if we aren't going to use any of those objects to +# build the tests. +BuildRequires: glibc-static +%endif +%endif # Filter out all GLIBC_PRIVATE symbols since they are internal to # the package and should not be examined by any other tool. @@ -637,7 +645,6 @@ cat /proc/meminfo %patch0030 -p1 %patch0031 -p1 %patch0033 -p1 -%patch0034 -p1 %patch0037 -p1 %patch0044 -p1 %patch0046 -p1 @@ -1023,6 +1030,10 @@ fi # Compress all of the info files. gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc* + +%else +rm -f $RPM_BUILD_ROOT%{_infodir}/dir +rm -f $RPM_BUILD_ROOT%{_infodir}/libc.info* %endif ############################################################################## @@ -1220,9 +1231,7 @@ grep '%{_prefix}/include' < rpm.filelist \ # the core glibc package. sed -i -e '\|%{_libdir}/lib.*_p.a|d' \ -e '\|%{_prefix}/include|d' \ -%if %{with docs} -e '\|%{_infodir}|d' \ -%endif rpm.filelist # Put some static files into the devel package. @@ -1857,6 +1866,17 @@ rm -f *.filelist* %endif %changelog +* Thu Nov 26 2015 Carlos O'Donell - 2.22.90-22 +- The generic hidden directive support is already used for + preinit/init/fini-array symbols so we drop the Fedora-specific + patch that does the same thing. + Reported by Dmitry V. Levin + +* Thu Nov 26 2015 DJ Delorie - 2.22.90-22 +- Require glibc-static for C++ tests. +- Require gcc-c++, libstdc++-static, and glibc-static only when needed. +- Fix --without docs to not leave info files. + * Fri Nov 20 2015 Florian Weimer - 2.22.90-21 - Auto-sync with upstream master. diff --git a/template.patch b/template.patch new file mode 100644 index 0000000..86e99b9 --- /dev/null +++ b/template.patch @@ -0,0 +1,11 @@ +Short description: +Author(s): +Origin: +# Likely git://sourceware.org/git/glibc.git +Bug-RHEL: +Bug-Fedora: +Bug-Upstream: +Upstream status: <[Patchwork URL|not-needed|not-submitted|committed] for each commit> +# + +