Qt linked with gold crash on startup (#1193044)
This commit is contained in:
		
							parent
							
								
									bc7b34fba7
								
							
						
					
					
						commit
						0e5924dcde
					
				
							
								
								
									
										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 | Summary: A GNU collection of binary utilities | ||||||
| Name: %{?cross}binutils%{?_with_debug:-debug} | Name: %{?cross}binutils%{?_with_debug:-debug} | ||||||
| Version: 2.25.1 | Version: 2.25.1 | ||||||
| Release: 3%{?dist} | Release: 4%{?dist} | ||||||
| License: GPLv3+ | License: GPLv3+ | ||||||
| Group: Development/Tools | Group: Development/Tools | ||||||
| URL: http://sources.redhat.com/binutils | URL: http://sources.redhat.com/binutils | ||||||
| @ -54,7 +54,9 @@ Patch13: binutils-2.23.2-aarch64-em.patch | |||||||
| Patch14: binutils-2.24-ldforcele.patch | Patch14: binutils-2.24-ldforcele.patch | ||||||
| # Fix parsing of corupt iHex binaries | # Fix parsing of corupt iHex binaries | ||||||
| Patch15: binutils-2.25.1-ihex-parsing.patch | Patch15: binutils-2.25.1-ihex-parsing.patch | ||||||
| 
 | # backport https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e9c1bdad269c0c3352eebcc9481ed65144001b0b | ||||||
|  | # Qt linked with gold crash on startup, BZ #1193044 | ||||||
|  | Patch16: binutils-2.25.1-dynamic_list.patch | ||||||
| 
 | 
 | ||||||
| Provides: bundled(libiberty) | Provides: bundled(libiberty) | ||||||
| 
 | 
 | ||||||
| @ -178,6 +180,7 @@ using libelf instead of BFD. | |||||||
| %patch14 -p1 -b .ldforcele~ | %patch14 -p1 -b .ldforcele~ | ||||||
| %endif | %endif | ||||||
| %patch15 -p1 -b .ihex~ | %patch15 -p1 -b .ihex~ | ||||||
|  | %patch16 -p1 -b .dynamic_list~ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # We cannot run autotools as there is an exact requirement of autoconf-2.59. | # We cannot run autotools as there is an exact requirement of autoconf-2.59. | ||||||
| @ -491,6 +494,9 @@ exit 0 | |||||||
| %endif # %{isnative} | %endif # %{isnative} | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Aug 06 2015 Rex Dieter <rdieter@fedoraproject.org> 2.25.1-4 | ||||||
|  | - Qt linked with gold crash on startup (#1193044) | ||||||
|  | 
 | ||||||
| * Tue Aug 04 2015 Nick Clifton <nickc@redhat.com> - 2.25.1-3 | * Tue Aug 04 2015 Nick Clifton <nickc@redhat.com> - 2.25.1-3 | ||||||
| - Fix the parsing of corrupt iHex files. | - Fix the parsing of corrupt iHex files. | ||||||
| - Resovles: 1250141 | - Resovles: 1250141 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user