From 032ce4e9e37bd92e928352fca78b1eee3bb41fdd Mon Sep 17 00:00:00 2001 From: Sriraman Tallam Date: Tue, 13 Oct 2009 21:17:43 +0000 Subject: * gc.h (gc_process_relocs): Check if icf is enabled using new function. * gold.cc (queue_initial_tasks): Likewise. (queue_middle_tasks): Likewise. * object.cc (do_layout): Likewise. * symtab.cc (is_section_folded): Likewise. * main.cc (main): Likewise. * reloc.cc (Read_relocs::run): Likewise. (Sized_relobj::do_scan_relocs): Likewise. * icf.cc (is_function_ctor_or_dtor): New function. (Icf::find_identical_sections): Check if function is ctor or dtor when safe icf is chosen. * options.h (General_options::icf): Change option to be an enum. (Icf_status): New enum. (icf_enabled): New method. (icf_safe_folding): New method. (set_icf_status): New method. (icf_status_): New variable. * (options.cc) (General_options::finalize): Set icf_status_. * testsuite/Makefile.am: Add commands to build icf_safe_test. Modify icf_test and icf_keep_unique_test to use the --icf enum flag. * testsuite/icf_safe_test.sh: New file. * testsuite/icf_safe_test.cc: New file. --- gold/symtab.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gold/symtab.cc') diff --git a/gold/symtab.cc b/gold/symtab.cc index 8a9e6f1..6d5038f 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -519,7 +519,7 @@ Symbol_table::Symbol_table_eq::operator()(const Symbol_table_key& k1, bool Symbol_table::is_section_folded(Object* obj, unsigned int shndx) const { - return (parameters->options().icf() + return (parameters->options().icf_enabled() && this->icf_->is_section_folded(obj, shndx)); } -- cgit v1.1