PR gold/13204

* layout.cc (Layout::segment_precedes): Don't assert failure if a
	--section-start option was seen.
	* options.h (General_options::any_section_start): New function.
This commit is contained in:
Ian Lance Taylor 2011-10-19 15:05:58 +00:00
parent 1d5316ab67
commit ea0d8c4740
3 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2011-10-19 Ian Lance Taylor <iant@google.com>
PR gold/13204
* layout.cc (Layout::segment_precedes): Don't assert failure if a
--section-start option was seen.
* options.h (General_options::any_section_start): New function.
2011-10-18 David S. Miller <davem@davemloft.net> 2011-10-18 David S. Miller <davem@davemloft.net>
PR binutils/13301 PR binutils/13301

View File

@ -2976,8 +2976,9 @@ Layout::segment_precedes(const Output_segment* seg1,
// We shouldn't get here--we shouldn't create segments which we // We shouldn't get here--we shouldn't create segments which we
// can't distinguish. Unless of course we are using a weird linker // can't distinguish. Unless of course we are using a weird linker
// script. // script or overlapping --section-start options.
gold_assert(this->script_options_->saw_phdrs_clause()); gold_assert(this->script_options_->saw_phdrs_clause()
|| parameters->options().any_section_start());
return false; return false;
} }

View File

@ -1381,6 +1381,11 @@ class General_options
bool bool
section_start(const char* secname, uint64_t* paddr) const; section_start(const char* secname, uint64_t* paddr) const;
// Return whether any --section-start option was used.
bool
any_section_start() const
{ return !this->section_starts_.empty(); }
enum Fix_v4bx enum Fix_v4bx
{ {
// Leave original instruction. // Leave original instruction.