2.17-3
- Renamed release engineering directory to `releng' (#903754). - Fix building with gcc 4.8.0 (#911307).
This commit is contained in:
parent
b6dbc3f013
commit
6cfdaac5b6
60
glibc-rh911307.patch
Normal file
60
glibc-rh911307.patch
Normal file
@ -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@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)))
|
28
glibc.spec
28
glibc.spec
@ -27,7 +27,7 @@
|
|||||||
Summary: The GNU libc libraries
|
Summary: The GNU libc libraries
|
||||||
Name: glibc
|
Name: glibc
|
||||||
Version: %{glibcversion}
|
Version: %{glibcversion}
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
|
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
|
||||||
# Things that are linked directly into dynamically linked programs
|
# Things that are linked directly into dynamically linked programs
|
||||||
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
|
# 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
|
Group: System Environment/Libraries
|
||||||
URL: http://www.gnu.org/software/glibc/
|
URL: http://www.gnu.org/software/glibc/
|
||||||
Source0: %{?glibc_release_url}%{glibcsrcdir}.tar.gz
|
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
|
# 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.
|
# 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
|
Patch0033: %{name}-fedora-elf-ORIGIN.patch
|
||||||
Patch0034: %{name}-fedora-elf-init-hidden_undef.patch
|
Patch0034: %{name}-fedora-elf-init-hidden_undef.patch
|
||||||
|
|
||||||
|
# Needs to be sent upstream
|
||||||
|
Patch0035: %{name}-rh911307.patch
|
||||||
|
|
||||||
#
|
#
|
||||||
# Patches from upstream
|
# Patches from upstream
|
||||||
#
|
#
|
||||||
@ -402,6 +405,7 @@ package or when debugging this package.
|
|||||||
%patch0033 -p1
|
%patch0033 -p1
|
||||||
%patch0034 -p1
|
%patch0034 -p1
|
||||||
%patch2028 -p1
|
%patch2028 -p1
|
||||||
|
%patch0035 -p1
|
||||||
|
|
||||||
# On powerpc32, hp timing is only available in power4/power6
|
# On powerpc32, hp timing is only available in power4/power6
|
||||||
# libs, not in base, so pre-power4 dynamic linker is incompatible
|
# 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'`
|
platform=`LD_SHOW_AUXV=1 /bin/true | sed -n 's/^AT_PLATFORM:[[:blank:]]*//p'`
|
||||||
if [ "$platform" != power6 ]; then
|
if [ "$platform" != power6 ]; then
|
||||||
mkdir -p power6emul/{lib,lib64}
|
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
|
%ifarch ppc
|
||||||
gcc -shared -nostdlib -O2 -fpic -m64 -o power6emul/lib64/power6emul.so -xc - </dev/null
|
gcc -shared -nostdlib -O2 -fpic -m64 -o power6emul/lib64/power6emul.so -xc - </dev/null
|
||||||
%endif
|
%endif
|
||||||
@ -536,7 +540,7 @@ build power6
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
cd build-%{target}
|
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/"' \
|
'-DLIBTLS="/%{_lib}/tls/"' \
|
||||||
'-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"' \
|
'-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"' \
|
||||||
'-DLD_SO_CONF="/etc/ld.so.conf"' \
|
'-DLD_SO_CONF="/etc/ld.so.conf"' \
|
||||||
@ -640,7 +644,7 @@ rm -f $RPM_BUILD_ROOT/%{_lib}/libNoVersion*
|
|||||||
# the generic one (#162634)
|
# the generic one (#162634)
|
||||||
cp -a bits/stdio-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h
|
cp -a bits/stdio-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h
|
||||||
# And <bits/libc-lock.h> needs sanitizing as well.
|
# 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
|
if [ -d $RPM_BUILD_ROOT%{_prefix}/info -a "%{_infodir}" != "%{_prefix}/info" ]; then
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_infodir}
|
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
|
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}
|
%ifnarch %{auxarches}
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/default
|
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
|
# This is for ncsd - in glibc 2.2
|
||||||
install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc
|
install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT/etc
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/
|
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
|
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
|
%endif
|
||||||
|
|
||||||
# Include ld.so.conf
|
# Include ld.so.conf
|
||||||
@ -824,14 +828,14 @@ EOF
|
|||||||
rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
|
rm -rf $RPM_BUILD_ROOT%{_prefix}/share/zoneinfo
|
||||||
|
|
||||||
# Make sure %config files have the same timestamp
|
# 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
|
touch -r sunrpc/etc.rpc $RPM_BUILD_ROOT/etc/rpc
|
||||||
|
|
||||||
# We allow undefined symbols in shared libraries because the libraries
|
# We allow undefined symbols in shared libraries because the libraries
|
||||||
# referenced at link time here, particularly ld.so, may be different than
|
# 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
|
# 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.
|
# 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 \
|
$GCC -Os -g -o build-locale-archive build-locale-archive.c \
|
||||||
../build-%{target}/locale/locarchive.o \
|
../build-%{target}/locale/locarchive.o \
|
||||||
../build-%{target}/locale/md5.o \
|
../build-%{target}/locale/md5.o \
|
||||||
@ -1197,6 +1201,10 @@ rm -f *.filelist*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Feb 27 2013 Carlos O'Donell <carlos@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@redhat.com> - 2.17-2
|
* Thu Feb 7 2013 Carlos O'Donell <carlos@redhat.com> - 2.17-2
|
||||||
- Fix ownership of /usr/lib[64]/audit (#894307).
|
- Fix ownership of /usr/lib[64]/audit (#894307).
|
||||||
- Support unmarked ARM objects in ld.so.cache and aux cache (#905184).
|
- Support unmarked ARM objects in ld.so.cache and aux cache (#905184).
|
||||||
|
Loading…
Reference in New Issue
Block a user