aboutsummaryrefslogtreecommitdiff
path: root/gold/layout.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/layout.cc')
-rw-r--r--gold/layout.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/gold/layout.cc b/gold/layout.cc
index f2dc6da..13f57cb 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -3175,12 +3175,14 @@ Layout::segment_precedes(const Output_segment* seg1,
// The order of non-PT_LOAD segments is unimportant. We simply sort
// by the numeric segment type and flags values. There should not
- // be more than one segment with the same type and flags.
+ // be more than one segment with the same type and flags, except
+ // when a linker script specifies such.
if (type1 != elfcpp::PT_LOAD)
{
if (type1 != type2)
return type1 < type2;
- gold_assert(flags1 != flags2);
+ gold_assert(flags1 != flags2
+ || this->script_options_->saw_phdrs_clause());
return flags1 < flags2;
}