Contents of /trunk/binutils/patches/binutils-2.25-qt-gold.patch
Parent Directory | Revision Log
Revision 2569 -
(show annotations)
(download)
Wed Nov 26 00:13:24 2014 UTC (9 years, 6 months ago) by niro
File size: 3299 byte(s)
Wed Nov 26 00:13:24 2014 UTC (9 years, 6 months ago) by niro
File size: 3299 byte(s)
-fix qt chrashes when linked with gold
1 | 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 |