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 <ldv@altlinux.org>
- 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.
This commit is contained in:
Carlos O'Donell 2015-11-27 01:14:36 -05:00
parent 2e15a6b6a7
commit 8fdf674ae9
3 changed files with 38 additions and 37 deletions

View File

@ -1,30 +0,0 @@
* Fri May 29 2003 Jakub Jelinek <jakub@redhat.com> 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)

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.22-540-g31cf394 %define glibcsrcdir glibc-2.22-540-g31cf394
%define glibcversion 2.22.90 %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 # Pre-release tarballs are pulled in from git using a command that is
# effectively: # effectively:
# #
@ -199,7 +199,6 @@ Patch0028: glibc-fedora-localedata-rh61908.patch
Patch0030: glibc-fedora-uname-getrlimit.patch Patch0030: glibc-fedora-uname-getrlimit.patch
Patch0031: glibc-fedora-__libc_multiple_libcs.patch Patch0031: glibc-fedora-__libc_multiple_libcs.patch
Patch0033: glibc-fedora-elf-ORIGIN.patch Patch0033: glibc-fedora-elf-ORIGIN.patch
Patch0034: glibc-fedora-elf-init-hidden_undef.patch
# Needs to be sent upstream. # Needs to be sent upstream.
# Support mangling and demangling null pointers. # Support mangling and demangling null pointers.
@ -391,10 +390,19 @@ BuildRequires: elfutils >= 0.72
BuildRequires: rpm >= 4.2-0.56 BuildRequires: rpm >= 4.2-0.56
%endif %endif
# The testsuite builds static C++ binaries that require a C++ compiler %if %{without boostrap}
# and static C++ runtime from libstdc++-static. %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: gcc-c++
BuildRequires: libstdc++-static 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 # Filter out all GLIBC_PRIVATE symbols since they are internal to
# the package and should not be examined by any other tool. # the package and should not be examined by any other tool.
@ -637,7 +645,6 @@ cat /proc/meminfo
%patch0030 -p1 %patch0030 -p1
%patch0031 -p1 %patch0031 -p1
%patch0033 -p1 %patch0033 -p1
%patch0034 -p1
%patch0037 -p1 %patch0037 -p1
%patch0044 -p1 %patch0044 -p1
%patch0046 -p1 %patch0046 -p1
@ -1023,6 +1030,10 @@ fi
# Compress all of the info files. # Compress all of the info files.
gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc* gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc*
%else
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
rm -f $RPM_BUILD_ROOT%{_infodir}/libc.info*
%endif %endif
############################################################################## ##############################################################################
@ -1220,9 +1231,7 @@ grep '%{_prefix}/include' < rpm.filelist \
# the core glibc package. # the core glibc package.
sed -i -e '\|%{_libdir}/lib.*_p.a|d' \ sed -i -e '\|%{_libdir}/lib.*_p.a|d' \
-e '\|%{_prefix}/include|d' \ -e '\|%{_prefix}/include|d' \
%if %{with docs}
-e '\|%{_infodir}|d' \ -e '\|%{_infodir}|d' \
%endif
rpm.filelist rpm.filelist
# Put some static files into the devel package. # Put some static files into the devel package.
@ -1857,6 +1866,17 @@ rm -f *.filelist*
%endif %endif
%changelog %changelog
* Thu Nov 26 2015 Carlos O'Donell <carlos@redhat.com> - 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 <ldv@altlinux.org>
* Thu Nov 26 2015 DJ Delorie <dj@redhat.com> - 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 <fweimer@redhat.com> - 2.22.90-21 * Fri Nov 20 2015 Florian Weimer <fweimer@redhat.com> - 2.22.90-21
- Auto-sync with upstream master. - Auto-sync with upstream master.

11
template.patch Normal file
View File

@ -0,0 +1,11 @@
Short description: <Short description>
Author(s): <Who wrote them. Comma separated.>
Origin: <Source repo(s) where it came from or keyword "PATCH" if this is simply a patch>
# Likely git://sourceware.org/git/glibc.git
Bug-RHEL: <Rhel bug #'s, comma separated e.g. #XXX, #YYY, #ZZZ>
Bug-Fedora: <Fedora bug #'s, comma separated e.g. #XXX, #YYY, #ZZZ>
Bug-Upstream: <Upstream bug#'s, comma separated e.g. #XXX, #YYY, #ZZZ>
Upstream status: <[Patchwork URL|not-needed|not-submitted|committed] for each commit>
# <Additional descriptive text in comment block>
<If upstream status == committed then a copy of the upstream commit log follows>
<Patch>