Qt linked with gold crash on startup (#1193044)
This commit is contained in:
parent
3c3e148fe3
commit
01a3d73c50
70
binutils-2.25.1-dynamic_list.patch
Normal file
70
binutils-2.25.1-dynamic_list.patch
Normal file
@ -0,0 +1,70 @@
|
||||
diff -up binutils-2.25.1/gold/layout.cc.dynamic_list~ binutils-2.25.1/gold/layout.cc
|
||||
--- binutils-2.25.1/gold/layout.cc.dynamic_list~ 2014-10-14 02:32:04.000000000 -0500
|
||||
+++ binutils-2.25.1/gold/layout.cc 2015-08-06 10:45:35.022531546 -0500
|
||||
@@ -4857,7 +4857,8 @@ Layout::finish_dynamic_section(const Inp
|
||||
flags |= elfcpp::DF_STATIC_TLS;
|
||||
if (parameters->options().origin())
|
||||
flags |= elfcpp::DF_ORIGIN;
|
||||
- if (parameters->options().Bsymbolic())
|
||||
+ if (parameters->options().Bsymbolic()
|
||||
+ && !parameters->options().have_dynamic_list())
|
||||
{
|
||||
flags |= elfcpp::DF_SYMBOLIC;
|
||||
// Add DT_SYMBOLIC for compatibility with older loaders.
|
||||
diff -up binutils-2.25.1/gold/options.cc.dynamic_list~ binutils-2.25.1/gold/options.cc
|
||||
--- binutils-2.25.1/gold/options.cc.dynamic_list~ 2014-10-14 02:32:04.000000000 -0500
|
||||
+++ binutils-2.25.1/gold/options.cc 2015-08-06 10:45:35.023531554 -0500
|
||||
@@ -1200,13 +1200,6 @@ General_options::finalize()
|
||||
// in the path, as appropriate.
|
||||
this->add_sysroot();
|
||||
|
||||
- // --dynamic-list overrides -Bsymbolic and -Bsymbolic-functions.
|
||||
- if (this->have_dynamic_list())
|
||||
- {
|
||||
- this->set_Bsymbolic(false);
|
||||
- this->set_Bsymbolic_functions(false);
|
||||
- }
|
||||
-
|
||||
// Now that we've normalized the options, check for contradictory ones.
|
||||
if (this->shared() && this->is_static())
|
||||
gold_fatal(_("-shared and -static are incompatible"));
|
||||
diff -up binutils-2.25.1/gold/symtab.h.dynamic_list~ binutils-2.25.1/gold/symtab.h
|
||||
--- binutils-2.25.1/gold/symtab.h.dynamic_list~ 2014-10-14 02:32:04.000000000 -0500
|
||||
+++ binutils-2.25.1/gold/symtab.h 2015-08-06 10:45:35.023531554 -0500
|
||||
@@ -604,10 +604,8 @@ class Symbol
|
||||
if (parameters->options().in_dynamic_list(this->name()))
|
||||
return true;
|
||||
|
||||
- // If the user used -Bsymbolic or provided a --dynamic-list script,
|
||||
- // then nothing (else) is preemptible.
|
||||
- if (parameters->options().Bsymbolic()
|
||||
- || parameters->options().have_dynamic_list())
|
||||
+ // If the user used -Bsymbolic, then nothing (else) is preemptible.
|
||||
+ if (parameters->options().Bsymbolic())
|
||||
return false;
|
||||
|
||||
// If the user used -Bsymbolic-functions, then functions are not
|
||||
diff -up binutils-2.25.1/gold/testsuite/Makefile.am.dynamic_list~ binutils-2.25.1/gold/testsuite/Makefile.am
|
||||
--- binutils-2.25.1/gold/testsuite/Makefile.am.dynamic_list~ 2015-07-21 03:20:58.000000000 -0500
|
||||
+++ binutils-2.25.1/gold/testsuite/Makefile.am 2015-08-06 10:45:35.024531563 -0500
|
||||
@@ -1516,7 +1516,7 @@ dynamic_list_lib1.o: dynamic_list_lib1.c
|
||||
$(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
||||
dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
|
||||
- $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
+ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
dynamic_list_lib2.o: dynamic_list_lib2.cc
|
||||
$(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
||||
diff -up binutils-2.25.1/gold/testsuite/Makefile.in.dynamic_list~ binutils-2.25.1/gold/testsuite/Makefile.in
|
||||
--- binutils-2.25.1/gold/testsuite/Makefile.in.dynamic_list~ 2015-07-21 03:20:58.000000000 -0500
|
||||
+++ binutils-2.25.1/gold/testsuite/Makefile.in 2015-08-06 10:45:35.025531571 -0500
|
||||
@@ -5277,7 +5277,7 @@ uninstall-am:
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
|
||||
-@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc
|
||||
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $<
|
||||
|
@ -19,7 +19,7 @@
|
||||
Summary: A GNU collection of binary utilities
|
||||
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||
Version: 2.25
|
||||
Release: 12%{?dist}
|
||||
Release: 13%{?dist}
|
||||
License: GPLv3+
|
||||
Group: Development/Tools
|
||||
URL: http://sources.redhat.com/binutils
|
||||
@ -56,6 +56,9 @@ Patch14: binutils-2.24-ldforcele.patch
|
||||
Patch15: binutils-2.25-x86_64-pie-relocs.patch
|
||||
# Issue an error message when attempting to resolve PC-relative dynamic relocs in non-PIC objects.
|
||||
Patch16: binutils-2.25-aarch64-fPIC-error.patch
|
||||
# backport https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e9c1bdad269c0c3352eebcc9481ed65144001b0b
|
||||
# Qt linked with gold crash on startup, BZ #1193044
|
||||
Patch17: binutils-2.25.1-dynamic_list.patch
|
||||
|
||||
|
||||
Provides: bundled(libiberty)
|
||||
@ -183,6 +186,7 @@ using libelf instead of BFD.
|
||||
%ifarch aarch64
|
||||
%patch16 -p1 -b .aarch64-fpic~
|
||||
%endif
|
||||
%patch17 -p1 -b .dynamic_list~
|
||||
|
||||
|
||||
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
||||
@ -496,6 +500,9 @@ exit 0
|
||||
%endif # %{isnative}
|
||||
|
||||
%changelog
|
||||
* Mon Aug 24 2015 Rex Dieter <rdieter@fedoraproject.org> 2.25-13
|
||||
- Qt linked with gold crash on startup (#1193044)
|
||||
|
||||
* Thu Jul 02 2015 Nick Clifton <nickc@redhat.com> - 2.25-12
|
||||
- For AArch64 issue an error message when attempting to resolve a
|
||||
PC-relative dynamic reloc in a non-PIC object file.
|
||||
|
Loading…
Reference in New Issue
Block a user