Magellan Linux

Annotation of /trunk/binutils/patches/binutils-2.25-qt-gold.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2569 - (hide annotations) (download)
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 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