Annotation of /trunk/binutils/patches/binutils-2.25-qt-gold.patch
Parent Directory | Revision Log
Revision 2569 -
(hide annotations)
(download)
Wed Nov 26 00:13:24 2014 UTC (9 years, 10 months ago) by niro
File size: 3299 byte(s)
Wed Nov 26 00:13:24 2014 UTC (9 years, 10 months ago) by niro
File size: 3299 byte(s)
-fix qt chrashes when linked with gold
1 | niro | 2569 | diff --git a/gold/layout.cc b/gold/layout.cc |
2 | index bcdaac8..7836640 100644 | ||
3 | --- a/gold/layout.cc | ||
4 | +++ b/gold/layout.cc | ||
5 | @@ -4873,7 +4873,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects, | ||
6 | flags |= elfcpp::DF_STATIC_TLS; | ||
7 | if (parameters->options().origin()) | ||
8 | flags |= elfcpp::DF_ORIGIN; | ||
9 | - if (parameters->options().Bsymbolic()) | ||
10 | + if (parameters->options().Bsymbolic() | ||
11 | + && !parameters->options().have_dynamic_list()) | ||
12 | { | ||
13 | flags |= elfcpp::DF_SYMBOLIC; | ||
14 | // Add DT_SYMBOLIC for compatibility with older loaders. | ||
15 | diff --git a/gold/options.cc b/gold/options.cc | ||
16 | index 7eb8f27..7f1f69e 100644 | ||
17 | --- a/gold/options.cc | ||
18 | +++ b/gold/options.cc | ||
19 | @@ -1200,13 +1200,6 @@ General_options::finalize() | ||
20 | // in the path, as appropriate. | ||
21 | this->add_sysroot(); | ||
22 | |||
23 | - // --dynamic-list overrides -Bsymbolic and -Bsymbolic-functions. | ||
24 | - if (this->have_dynamic_list()) | ||
25 | - { | ||
26 | - this->set_Bsymbolic(false); | ||
27 | - this->set_Bsymbolic_functions(false); | ||
28 | - } | ||
29 | - | ||
30 | // Now that we've normalized the options, check for contradictory ones. | ||
31 | if (this->shared() && this->is_static()) | ||
32 | gold_fatal(_("-shared and -static are incompatible")); | ||
33 | diff --git a/gold/symtab.h b/gold/symtab.h | ||
34 | index aa0cb68..9413360 100644 | ||
35 | --- a/gold/symtab.h | ||
36 | +++ b/gold/symtab.h | ||
37 | @@ -604,10 +604,8 @@ class Symbol | ||
38 | if (parameters->options().in_dynamic_list(this->name())) | ||
39 | return true; | ||
40 | |||
41 | - // If the user used -Bsymbolic or provided a --dynamic-list script, | ||
42 | - // then nothing (else) is preemptible. | ||
43 | - if (parameters->options().Bsymbolic() | ||
44 | - || parameters->options().have_dynamic_list()) | ||
45 | + // If the user used -Bsymbolic, then nothing (else) is preemptible. | ||
46 | + if (parameters->options().Bsymbolic()) | ||
47 | return false; | ||
48 | |||
49 | // If the user used -Bsymbolic-functions, then functions are not | ||
50 | diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am | ||
51 | index f767c21..7b73f9d 100644 | ||
52 | --- a/gold/testsuite/Makefile.am | ||
53 | +++ b/gold/testsuite/Makefile.am | ||
54 | @@ -1518,7 +1518,7 @@ dynamic_list_lib1.o: dynamic_list_lib1.cc | ||
55 | $(CXXCOMPILE) -c -fpic -o $@ $< | ||
56 | |||
57 | dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t | ||
58 | - $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o | ||
59 | + $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o | ||
60 | dynamic_list_lib2.o: dynamic_list_lib2.cc | ||
61 | $(CXXCOMPILE) -c -fpic -o $@ $< | ||
62 | |||
63 | diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in | ||
64 | index 217e472..b4ae3fd 100644 | ||
65 | --- a/gold/testsuite/Makefile.in | ||
66 | +++ b/gold/testsuite/Makefile.in | ||
67 | @@ -5319,7 +5319,7 @@ uninstall-am: | ||
68 | @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< | ||
69 | |||
70 | @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t | ||
71 | -@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o | ||
72 | +@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o | ||
73 | @GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list_lib2.o: dynamic_list_lib2.cc | ||
74 | @GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -c -fpic -o $@ $< | ||
75 | |||
76 | -- | ||
77 | 1.9.4 | ||
78 |