From f3a2388fc96c63c0233cdc3449ea61cf36e4975b Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Thu, 10 Jun 2010 17:20:27 +0000 Subject: * object.cc (Sized_relobj::do_layout): Defer layout for reloc sections. (Sized_relobj::do_layout_deferred_sections): Do layout for deferred reloc sections. * object.h (Sized_relobj::deferred_layout_relocs_): New data member. PR 11683 * symtab.h (Symbol::is_placeholder): New member function. * target-reloc.h (relocate_section): Check for placeholder symbols. * testsuite/Makefile.am (plugin_test_8): New test. (plugin_test_9): New test. * testsuite/Makefile.in: Regenerate. --- gold/target-reloc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gold/target-reloc.h') diff --git a/gold/target-reloc.h b/gold/target-reloc.h index 34c13e8..23866e3 100644 --- a/gold/target-reloc.h +++ b/gold/target-reloc.h @@ -341,7 +341,7 @@ relocate_section( } if (sym != NULL - && sym->is_undefined() + && (sym->is_undefined() || sym->is_placeholder()) && sym->binding() != elfcpp::STB_WEAK && !is_defined_in_discarded_section && !target->is_defined_by_abi(sym) -- cgit v1.1