diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/ldlang.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 0636f10..fdb319a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,10 @@ 2009-02-16 Alan Modra <amodra@bigpond.net.au> + * ldlang.c (process_insert_statements): ASSERT that output section + statements are in order. + +2009-02-16 Alan Modra <amodra@bigpond.net.au> + * ldlang.c (push_stat_ptr, pop_stat_ptr): New functions. (stat_save, stat_save_ptr): New variables. (lang_insert_orphan): Use push_stat_ptr and pop_stat_ptr. diff --git a/ld/ldlang.c b/ld/ldlang.c index 0bd82cb..cc390b0 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -3438,7 +3438,10 @@ process_insert_statements (void) { /* Keep pointers to the first and last output section statement in the sequence we may be about to move. */ - last_os = &(*s)->output_section_statement; + os = &(*s)->output_section_statement; + + ASSERT (last_os == NULL || last_os->next == os); + last_os = os; /* Set constraint negative so that lang_output_section_find won't match this output section statement. At this |