* 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.
This commit is contained in:
Cary Coutant
2010-06-10 17:20:27 +00:00
parent 7530c48092
commit f3a2388fc9
7 changed files with 143 additions and 5 deletions

View File

@@ -2022,6 +2022,8 @@ class Sized_relobj : public Relobj
unsigned int discarded_eh_frame_shndx_;
// The list of sections whose layout was deferred.
std::vector<Deferred_layout> deferred_layout_;
// The list of relocation sections whose layout was deferred.
std::vector<Deferred_layout> deferred_layout_relocs_;
};
// A class to manage the list of all objects.