* script-sections.h (class Script_sections): Make

Sections_elements typedef public.
	* script-sections.cc (class Sort_output_sections): Add elements_
	field.  Add constructor which sets it; change all callers.
	(Sort_output_sections::is_before): New function.
	(Sort_output_sections::operator()): Call is_before.
	* configure.ac (NATIVE_OR_CROSS_LINKER): New automake
	conditional.
	* testsuite/script_test_10.sh: New test. Test script section
	order.
	* testsuite/script_test_10.t: Likewise.
	* testsuite/script_test_10.s: Likewise.
	* testsuite/Makefile.am: Wrap the cross linker tests and the
	common tests into NATIVE_OR_CROSS_LINKER.
	(check_SCRIPTS): Add script_test_10.sh.
	(check_DATA): Add script_test_10.stdout.
	(script_test_10.o, script_test_10): New targets.
	(script_test_10.stdout): New target.
	* configure, testsuite/Makefile.in: Regenerate.
This commit is contained in:
Ian Lance Taylor 2010-10-12 19:21:41 +00:00
parent 3cef717918
commit eb3730490e
10 changed files with 574 additions and 352 deletions

View file

@ -47,13 +47,11 @@ class Orphan_section_placement;
class Script_sections
{
private:
public:
// This is a list, not a vector, because we insert orphan sections
// in the middle.
typedef std::list<Sections_element*> Sections_elements;
public:
// Logical script section types. We map section types returned by the
// parser into these since some section types have the same semantics.
enum Section_type