http://sourceware.org/bugzilla/show_bug.cgi?id=13577
--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, master has been updated via fd834e57ffce2f5dbe3443f034e68cebd63ee89a (commit) from ee1e2d4fb692736c754b42b69eb88c1f436c5f15 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fd834e57ffce2f5dbe3443f034e68cebd63ee89a commit fd834e57ffce2f5dbe3443f034e68cebd63ee89a Author: Cary Coutant <ccout...@google.com> Date: Wed Feb 5 14:01:52 2014 -0800 Fix problems with the --dynamic-list option. PR gold/13577 complains that even though symbols listed in the --dynamic-list script are exported, they are still bound symbolically if -Bsymbolic is also used. There are two underlying problems here. First, -Bsymbolic should be overridden by --dynamic-list, since the dynamic list provides an explicit list of symbols that are not bound within the library, and if we go ahead and set DT_SYMBOLIC, then the dynamic loader will bind it within the library anyway. Second, gold did not properly identify the symbols listed in the file as preemptible. PR gold/16530 complains that symbols listed in the --dynamic-list script can still be garbage collected. I've fixed this by checking the symbols as they're added to the symbol table. (Unlike the --export-dynamic-symbol option, we can't iterate over the list, because the --dynamic-list script can have wildcards in it.) gold/ 2014-02-05 Cary Coutant <ccout...@google.com> PR gold/13577 * options.cc (General_options::parse_dynamic_list): Set have_dynamic_list_. (General_options::General_options): Initialize have_dynamic_list_. (General_options::finalize): Turn off -Bsymbolic and -Bsymbolic-functions if --dynamic-list provided. * options.h (General_options::have_dynamic_list): New function. (General_options::have_dynamic_list_): New data member. * symtab.h (Symbol::is_preemptible): Handle --dynamic-list correctly. PR gold/16530 * symtab.cc (Symbol_table::add_from_relobj): If symbol is named in --dynamic-list, mark it. * testsuite/Makefile.am (gc_dynamic_list_test.sh): New test case. (dynamic_list_2): New test case. * testsuite/Makefile.in: Regenerate. * testsuite/dynamic_list_2.cc: New file. * testsuite/dynamic_list_2.t: New file. * testsuite/dynamic_list_lib1.cc: New file. * testsuite/dynamic_list_lib2.cc: New file. * testsuite/gc_dynamic_list_test.c: New file. * testsuite/gc_dynamic_list_test.sh: New file. * testsuite/gc_dynamic_list_test.t: New file. ----------------------------------------------------------------------- Summary of changes: gold/options.cc | 9 ++++++ gold/options.h | 7 ++++ gold/symtab.cc | 3 +- gold/symtab.h | 10 +++++- gold/testsuite/Makefile.am | 26 +++++++++++++++++ gold/testsuite/Makefile.in | 47 ++++++++++++++++++++++++++++-- gold/testsuite/dynamic_list_2.cc | 40 ++++++++++++++++++++++++++ gold/testsuite/dynamic_list_2.t | 27 +++++++++++++++++ gold/testsuite/dynamic_list_lib1.cc | 37 ++++++++++++++++++++++++ gold/testsuite/dynamic_list_lib2.cc | 49 ++++++++++++++++++++++++++++++++ gold/testsuite/gc_dynamic_list_test.c | 34 ++++++++++++++++++++++ gold/testsuite/gc_dynamic_list_test.sh | 39 +++++++++++++++++++++++++ gold/testsuite/gc_dynamic_list_test.t | 25 ++++++++++++++++ 13 files changed, 347 insertions(+), 6 deletions(-) create mode 100644 gold/testsuite/dynamic_list_2.cc create mode 100644 gold/testsuite/dynamic_list_2.t create mode 100644 gold/testsuite/dynamic_list_lib1.cc create mode 100644 gold/testsuite/dynamic_list_lib2.cc create mode 100644 gold/testsuite/gc_dynamic_list_test.c create mode 100755 gold/testsuite/gc_dynamic_list_test.sh create mode 100644 gold/testsuite/gc_dynamic_list_test.t -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils