Work around valgrind issue on i686 (#1600034)

This commit is contained in:
Florian Weimer 2018-07-11 11:50:02 +02:00
parent 28cb5d31fc
commit 6a43999c13
2 changed files with 48 additions and 2 deletions

32
glibc-ldflags.patch Normal file
View File

@ -0,0 +1,32 @@
This patch is similar to glibc-asflags.patch and is needed to change
the ld.so linker flags. It is needed to work around this valgrind
bug: https://bugzilla.redhat.com/show_bug.cgi?id=1600034
diff --git a/Makeconfig b/Makeconfig
index 92e76d6200bbcd5b..376181c8ff06dea7 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -363,12 +363,12 @@ endif
ifeq (yesyes,$(build-shared)$(have-z-combreloc))
combreloc-LDFLAGS = -Wl,-z,combreloc
LDFLAGS.so += $(combreloc-LDFLAGS)
-LDFLAGS-rtld += $(combreloc-LDFLAGS)
+override LDFLAGS-rtld += $(combreloc-LDFLAGS)
endif
relro-LDFLAGS = -Wl,-z,relro
LDFLAGS.so += $(relro-LDFLAGS)
-LDFLAGS-rtld += $(relro-LDFLAGS)
+override LDFLAGS-rtld += $(relro-LDFLAGS)
ifeq (yes,$(have-hash-style))
# For the time being we unconditionally use 'both'. At some time we
@@ -376,7 +376,7 @@ ifeq (yes,$(have-hash-style))
# with --hash-style=gnu only.
hashstyle-LDFLAGS = -Wl,--hash-style=both
LDFLAGS.so += $(hashstyle-LDFLAGS)
-LDFLAGS-rtld += $(hashstyle-LDFLAGS)
+override LDFLAGS-rtld += $(hashstyle-LDFLAGS)
endif
ifeq (yes,$(enable-static-pie))

View File

@ -1,6 +1,6 @@
%define glibcsrcdir glibc-2.27.9000-566-gfd70af4552
%define glibcversion 2.27.9000
%define glibcrelease 36%{?dist}
%define glibcrelease 37%{?dist}
# Pre-release tarballs are pulled in from git using a command that is
# effectively:
#
@ -148,6 +148,7 @@ Patch0018: glibc-c-utf8-locale.patch
Patch23: glibc-python3.patch
Patch24: glibc-with-nonshared-cflags.patch
Patch25: glibc-asflags.patch
Patch26: glibc-ldflags.patch
##############################################################################
# Continued list of core "glibc" package information:
@ -760,7 +761,17 @@ rpm_inherit_flags \
# Special flag to enable annobin annotations for statically linked
# assembler code. Needs to be passed to make; not preserved by
# configure.
%define glibc_make_flags ASFLAGS="-g -Wa,--generate-missing-build-notes=yes"
%define glibc_make_flags_as ASFLAGS="-g -Wa,--generate-missing-build-notes=yes"
%define glibc_make_flags %{glibc_make_flags_as} %{glibc_make_flags_ld}
# valgrind reports false positives if ld.so is linked with -z
# separate-code (the default) on i686, so we work around that here.
# See <https://bugzilla.redhat.com/show_bug.cgi?id=1600034>.
%ifarch %{ix86}
%define glibc_make_flags_ld LDFLAGS-rtld="-g -Wa,--generate-missing-build-notes=yes"
%else
%define glibc_make_flags_ld %{nil}
%endif
##############################################################################
# %%build - Generic options.
@ -1746,6 +1757,9 @@ fi
%endif
%changelog
* Wed Jul 11 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-37
- Work around valgrind issue on i686 (#1600034)
* Tue Jul 10 2018 Florian Weimer <fweimer@redhat.com> - 2.27.9000-36
- Auto-sync with upstream branch master,
commit fd70af45528d59a00eb3190ef6706cb299488fcd: