[glibc] 2.17-3
Carlos O'Donell
codonell at fedoraproject.org
Thu Feb 28 00:50:28 UTC 2013
commit 6cfdaac5b6b98b0810253d20e3cb4e069f432ec6
Author: Carlos O'Donell <carlos at redhat.com>
Date: Wed Feb 27 19:48:51 2013 -0500
2.17-3
- Renamed release engineering directory to `releng' (#903754).
- Fix building with gcc 4.8.0 (#911307).
glibc-rh911307.patch | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++
glibc.spec | 28 +++++++++++++++--------
sources | 2 +-
3 files changed, 79 insertions(+), 11 deletions(-)
---
diff --git a/glibc-rh911307.patch b/glibc-rh911307.patch
new file mode 100644
index 0000000..9eb0426
--- /dev/null
+++ b/glibc-rh911307.patch
@@ -0,0 +1,60 @@
+#
+# Red Hat BZ:
+# https://bugzilla.redhat.com/show_bug.cgi?id=911307
+#
+# Sourceware BZ: None.
+#
+# Upstreamm submission: Not yet completed.
+#
+# ChangeLog
+#
+# 2013-02-27 Carlos O'Donell <carlos at redhat.com>
+#
+# * elf/Makefile (CFLAGS-.o): Add -fno-tree-loop-distribute-patterns.
+# (CFLAGS-.os): Likewise.
+# (CFLAGS-.op): Likewise.
+# (CFLAGS-.ob): Likewise.
+# (CFLAGS-.oS): Likewise.
+# * string/Makefile (CFLAGS-.o): Likewise.
+# (CFLAGS-.os): Likewise.
+# (CFLAGS-.op): Likewise.
+# (CFLAGS-.ob): Likewise.
+# (CFLAGS-.oS): Likewise.
+#
+diff -urN glibc-2.17-c758a686/string/Makefile tmp/glibc-2.17-c758a686/string/Makefile
+--- glibc-2.17-c758a686/string/Makefile 2013-02-27 18:07:34.618968703 -0500
++++ tmp/glibc-2.17-c758a686/string/Makefile 2013-02-27 18:08:16.075796160 -0500
+@@ -78,6 +78,14 @@
+ CFLAGS-bug-strstr1.c = -fno-builtin
+ CFLAGS-bug-strcasestr1.c = -fno-builtin
+
++# Disable any optimization which might result in function calls to the very
++# same functions we are trying to compile, thus creating an infinite loop.
++CFLAGS-.o += -fno-tree-loop-distribute-patterns
++CFLAGS-.os += -fno-tree-loop-distribute-patterns
++CFLAGS-.op += -fno-tree-loop-distribute-patterns
++CFLAGS-.ob += -fno-tree-loop-distribute-patterns
++CFLAGS-.oS += -fno-tree-loop-distribute-patterns
++
+ ifeq ($(run-built-tests),yes)
+ tests: $(objpfx)tst-svc.out
+ $(objpfx)tst-svc.out: tst-svc.input $(objpfx)tst-svc
+diff -urN glibc-2.17-c758a686/elf/Makefile tmp/glibc-2.17-c758a686/elf/Makefile
+--- glibc-2.17-c758a686/elf/Makefile 2013-02-27 18:07:13.812055613 -0500
++++ tmp/glibc-2.17-c758a686/elf/Makefile 2013-02-27 18:08:16.075796160 -0500
+@@ -432,6 +432,16 @@
+ CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
+ -DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
+
++# Disable any optimization which might result in function calls during early
++# dynamic loader startup. We disable -ftree-loop-distribute-patterns which
++# might convert code into calls to functions like memcpy or memset when the PLT
++# is not yet setup.
++CFLAGS-.o += -fno-tree-loop-distribute-patterns
++CFLAGS-.os += -fno-tree-loop-distribute-patterns
++CFLAGS-.op += -fno-tree-loop-distribute-patterns
++CFLAGS-.ob += -fno-tree-loop-distribute-patterns
++CFLAGS-.oS += -fno-tree-loop-distribute-patterns
++
+ test-modules = $(addprefix $(objpfx),$(addsuffix .so,$(strip $(modules-names))))
+ generated += $(addsuffix .so,$(strip $(modules-names)))
diff --git a/glibc.spec b/glibc.spec
index 2d19e3f..4018373 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -27,7 +27,7 @@
Summary: The GNU libc libraries
Name: glibc
Version: %{glibcversion}
-Release: 2%{?dist}
+Release: 3%{?dist}
# 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
@@ -37,7 +37,7 @@ License: LGPLv2+ and LGPLv2+ with exceptions and GPLv2+
Group: System Environment/Libraries
URL: http://www.gnu.org/software/glibc/
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.gz
-Source1: %{glibcsrcdir}-fedora.tar.gz
+Source1: %{glibcsrcdir}-releng.tar.gz
# 0000-0999 for patches which are unlikely to ever go upstream or which
# have not been analyzed to see if they ought to go upstream yet.
@@ -109,6 +109,9 @@ Patch0032: %{name}-fedora-elf-rh737223.patch
Patch0033: %{name}-fedora-elf-ORIGIN.patch
Patch0034: %{name}-fedora-elf-init-hidden_undef.patch
+# Needs to be sent upstream
+Patch0035: %{name}-rh911307.patch
+
#
# Patches from upstream
#
@@ -402,6 +405,7 @@ package or when debugging this package.
%patch0033 -p1
%patch0034 -p1
%patch2028 -p1
+%patch0035 -p1
# On powerpc32, hp timing is only available in power4/power6
# libs, not in base, so pre-power4 dynamic linker is incompatible
@@ -519,7 +523,7 @@ build nosegneg -mno-tls-direct-seg-refs
platform=`LD_SHOW_AUXV=1 /bin/true | sed -n 's/^AT_PLATFORM:[[:blank:]]*//p'`
if [ "$platform" != power6 ]; then
mkdir -p power6emul/{lib,lib64}
- $GCC -shared -O2 -fpic -o power6emul/%{_lib}/power6emul.so fedora/power6emul.c -Wl,-z,initfirst
+ $GCC -shared -O2 -fpic -o power6emul/%{_lib}/power6emul.so releng/power6emul.c -Wl,-z,initfirst
%ifarch ppc
gcc -shared -nostdlib -O2 -fpic -m64 -o power6emul/lib64/power6emul.so -xc - </dev/null
%endif
@@ -536,7 +540,7 @@ build power6
%endif
cd build-%{target}
-$GCC -static -L. -Os -g ../fedora/glibc_post_upgrade.c -o glibc_post_upgrade.%{_target_cpu} \
+$GCC -static -L. -Os -g ../releng/glibc_post_upgrade.c -o glibc_post_upgrade.%{_target_cpu} \
'-DLIBTLS="/%{_lib}/tls/"' \
'-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"' \
'-DLD_SO_CONF="/etc/ld.so.conf"' \
@@ -640,7 +644,7 @@ rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion*
# the generic one (#162634)
cp -a bits/stdio-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h
# And <bits/libc-lock.h> needs sanitizing as well.
-cp -a fedora/libc-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/libc-lock.h
+cp -a releng/libc-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/libc-lock.h
if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then
mkdir -p $RPM_BUILD_ROOT%{_infodir}
@@ -652,7 +656,7 @@ gzip -9nvf $RPM_BUILD_ROOT%{_infodir}/libc*
ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_prefix}/%{_lib}/libbsd.a
-install -p -m 644 fedora/nsswitch.conf $RPM_BUILD_ROOT/etc/nsswitch.conf
+install -p -m 644 releng/nsswitch.conf $RPM_BUILD_ROOT/etc/nsswitch.conf
%ifnarch %{auxarches}
mkdir -p $RPM_BUILD_ROOT/etc/default
@@ -661,9 +665,9 @@ install -p -m 644 nis/nss $RPM_BUILD_ROOT/etc/default/nss
# This is for ncsd - in glibc 2.2
install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/
-install -m 644 fedora/nscd.conf %{buildroot}/usr/lib/tmpfiles.d/
+install -m 644 releng/nscd.conf %{buildroot}/usr/lib/tmpfiles.d/
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system
-install -m 644 fedora/nscd.service fedora/nscd.socket $RPM_BUILD_ROOT/lib/systemd/system
+install -m 644 releng/nscd.service releng/nscd.socket $RPM_BUILD_ROOT/lib/systemd/system
%endif
# Include ld.so.conf
@@ -824,14 +828,14 @@ EOF
rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
# Make sure %config files have the same timestamp
-touch -r fedora/glibc.spec.in $RPM_BUILD_ROOT/etc/ld.so.conf
+touch -r releng/glibc.spec.in $RPM_BUILD_ROOT/etc/ld.so.conf
touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc
# We allow undefined symbols in shared libraries because the libraries
# referenced at link time here, particularly ld.so, may be different than
# the one used at runtime. This is really only needed during the ARM
# transition from ld-linux.so.3 to ld-linux-armhf.so.3.
-cd fedora
+cd releng
$GCC -Os -g -o build-locale-archive build-locale-archive.c \
../build-%{target}/locale/locarchive.o \
../build-%{target}/locale/md5.o \
@@ -1197,6 +1201,10 @@ rm -f *.filelist*
%endif
%changelog
+* Wed Feb 27 2013 Carlos O'Donell <carlos at redhat.com> - 2.17-3
+ - Renamed release engineering directory to `releng' (#903754).
+ - Fix building with gcc 4.8.0 (#911307).
+
* Thu Feb 7 2013 Carlos O'Donell <carlos at redhat.com> - 2.17-2
- Fix ownership of /usr/lib[64]/audit (#894307).
- Support unmarked ARM objects in ld.so.cache and aux cache (#905184).
diff --git a/sources b/sources
index 94464e1..d1d2286 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-2f22f9453c4f4d4aa231891daae79eac glibc-2.17-c758a686-fedora.tar.gz
+a0eee6c5a6ed680b723f2247576d4232 glibc-2.17-c758a686-releng.tar.gz
d91ac2e9667310fa815c2316d542567e glibc-2.17-c758a686.tar.gz
More information about the scm-commits
mailing list