aboutsummaryrefslogtreecommitdiff
path: root/gold/icf.h
diff options
context:
space:
mode:
authorSriraman Tallam <tmsriram@google.com>2010-03-04 01:33:22 +0000
committerSriraman Tallam <tmsriram@google.com>2010-03-04 01:33:22 +0000
commit0897ed3bdb8ae45b2142057223c1179036154d2d (patch)
tree0db3d5c377a366ba4689b1422367a0f6d1f09619 /gold/icf.h
parent390a8acaa3838e084169c5dd159075cfbc178fbc (diff)
downloadgdb-0897ed3bdb8ae45b2142057223c1179036154d2d.zip
gdb-0897ed3bdb8ae45b2142057223c1179036154d2d.tar.gz
gdb-0897ed3bdb8ae45b2142057223c1179036154d2d.tar.bz2
* i386.cc (Target_i386::can_check_for_function_pointers): New function.
(Scan::possible_function_pointer_reloc): New function. (Scan::local_reloc_may_be_function_pointer): Change to call possible_function_pointer_reloc. (Scan::global_reloc_may_be_function_pointer): Ditto. * icf.h (Icf::check_section_for_function_pointers): Change to reject relocations in ".data.rel.ro._ZTV" section. * testsuite/icf_safe_so_test.sh: Change to pass i386. * testsuite/icf_safe_so_test.cc: Ditto. * testsuite/icf_safe_test.cc: Ditto. * testsuite/icf_safe_test.sh: Ditto.
Diffstat (limited to 'gold/icf.h')
-rw-r--r--gold/icf.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gold/icf.h b/gold/icf.h
index c1db8e5..27bbbba 100644
--- a/gold/icf.h
+++ b/gold/icf.h
@@ -127,6 +127,7 @@ class Icf
return (parameters->options().icf_safe_folding()
&& target->can_check_for_function_pointers()
&& !is_prefix_of(".rodata._ZTV", section_name.c_str())
+ && !is_prefix_of(".data.rel.ro._ZTV", section_name.c_str())
&& !is_prefix_of(".eh_frame", section_name.c_str()));
}