diff options
author | Ian Lance Taylor <ian@airs.com> | 1998-07-03 22:10:22 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1998-07-03 22:10:22 +0000 |
commit | b58e666f2e2cb621ea4f7c08346a2424979eb1fa (patch) | |
tree | de79aa48f388544e850449a22345d62bf1ba04bb | |
parent | 7617a8228339cc990338d23ea2d35fdc57c1fca1 (diff) | |
download | gdb-b58e666f2e2cb621ea4f7c08346a2424979eb1fa.zip gdb-b58e666f2e2cb621ea4f7c08346a2424979eb1fa.tar.gz gdb-b58e666f2e2cb621ea4f7c08346a2424979eb1fa.tar.bz2 |
* ldlang.c (wild_section): Don't get an assertion failure if the
section is discarded.
-rw-r--r-- | ld/ChangeLog | 3 | ||||
-rw-r--r-- | ld/ldlang.c | 20 |
2 files changed, 16 insertions, 7 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 66eaa2f..d324329 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,8 @@ Fri Jul 3 14:19:06 1998 Ian Lance Taylor <ian@cygnus.com> + * ldlang.c (wild_section): Don't get an assertion failure if the + section is discarded. + * scripttempl/pe.sc: Use SORT to sort sections appropriately. * emultempl/pe.em (sort_by_file_name): Remove. (sort_by_section_name): Remove. diff --git a/ld/ldlang.c b/ld/ldlang.c index 4194614..71e16cc 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -1133,15 +1133,21 @@ wild_section (ptr, section, file, output) lang_list_init (&list); wild_doit (&list, s, output, file); - ASSERT (list.head != NULL && list.head->next == NULL); - for (pp = &ptr->children.head; - *pp != before; - pp = &(*pp)->next) - ASSERT (*pp != NULL); + /* If we are discarding the section, LIST.HEAD will + be NULL. */ + if (list.head != NULL) + { + ASSERT (list.head->next == NULL); + + for (pp = &ptr->children.head; + *pp != before; + pp = &(*pp)->next) + ASSERT (*pp != NULL); - list.head->next = *pp; - *pp = list.head; + list.head->next = *pp; + *pp = list.head; + } } } } |