2010-04-18 Sriraman Tallam <tmsriram@google.com>
authorSriraman Tallam <tmsriram@google.com>
Tue, 20 Apr 2010 21:13:30 +0000 (21:13 +0000)
committerSriraman Tallam <tmsriram@google.com>
Tue, 20 Apr 2010 21:13:30 +0000 (21:13 +0000)
commitce97fa81e0c46d216b80b143ad8c02fff6906fef
tree539a9d93c76d2113b92da17405b144eba8fa92c5
parentec31cde5942e935e74f6ff919ffc480dfa2f1bac
2010-04-18  Sriraman Tallam  <tmsriram@google.com>

* icf.cc (get_section_contents): Check for preemptible functions.
Ignore addend when appropriate.
* symtab.cc (should_add_dynsym_entry): Add new parameter.  Check for
section folded.
(add_from_relobj): Check for section folded.
(set_dynsym_indexes): Fix call to should_add_dynsym_entry.
* symtab.h (should_add_dynsym_entry): Add new parameter.
* target-reloc.h (scan_relocs): Check for section folded.
* x86_64.cc (Target_x86_64::Scan::possible_function_pointer_reloc):
Check reloc types for function pointers in shared objects.
* testsuite/Makefile.am (icf_virtual_function_folding_test): New test
case.
(icf_preemptible_functions_test): New test case.
(icf_string_merge_test): New test case.
* testsuite.Makefile.in: Regenerate.
* testsuite/icf_safe_so_test.sh: Change to not fold foo_glob and
bar_glob.  Refactor code.
* testsuite/icf_preemptible_functions_test.cc: New file.
* testsuite/icf_preemptible_functions_test.sh: New file.
* testsuite/icf_string_merge_test.cc: New file.
* testsuite/icf_string_merge_test.sh: New file.
* testsuite/icf_virtual_function_folding_test.cc: New file.
* testsuite/icf_virtual_function_folding_test.sh: New file.
15 files changed:
gold/ChangeLog
gold/icf.cc
gold/symtab.cc
gold/symtab.h
gold/target-reloc.h
gold/testsuite/Makefile.am
gold/testsuite/Makefile.in
gold/testsuite/icf_preemptible_functions_test.cc [new file with mode: 0644]
gold/testsuite/icf_preemptible_functions_test.sh [new file with mode: 0755]
gold/testsuite/icf_safe_so_test.sh
gold/testsuite/icf_string_merge_test.cc [new file with mode: 0644]
gold/testsuite/icf_string_merge_test.sh [new file with mode: 0755]
gold/testsuite/icf_virtual_function_folding_test.cc [new file with mode: 0644]
gold/testsuite/icf_virtual_function_folding_test.sh [new file with mode: 0755]
gold/x86_64.cc