diff options
author | Nick Clifton <nickc@redhat.com> | 2006-09-15 09:48:58 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2006-09-15 09:48:58 +0000 |
commit | 99643f697ed692215488dd72f36eb3d82fd2c2ac (patch) | |
tree | fe5aa43caf03ccf95c998a504c4b554c6533240d | |
parent | 7d3d6bd5c1bb432075af20a5838f192728f7c3ff (diff) | |
download | binutils-99643f697ed692215488dd72f36eb3d82fd2c2ac.zip binutils-99643f697ed692215488dd72f36eb3d82fd2c2ac.tar.gz binutils-99643f697ed692215488dd72f36eb3d82fd2c2ac.tar.bz2 |
PR ld/3107
* ldlang.c (lang_size_sections_1): Do not abort when encountering a non-empty
section that is ignored. Instead produce a warning message.
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/ldlang.c | 13 |
2 files changed, 19 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 8151912..dab4692 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2006-09-15 Nick Clifton <nickc@redhat.com> + + PR ld/3107 + * ldlang.c (lang_size_sections_1): Do not abort when encountering + a non-empty section that is ignored. Instead produce a warning + message. + 2006-09-08 H.J. Lu <hongjiu.lu@intel.com> * ld.texinfo: Document --dynamic-list-cpp-typeinfo. diff --git a/ld/ldlang.c b/ld/ldlang.c index bd9fd89..8b6cbd2 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -4367,7 +4367,18 @@ lang_size_sections_1 os->processed_vma = TRUE; if (bfd_is_abs_section (os->bfd_section) || os->ignored) - ASSERT (os->bfd_section->size == 0); + { + if (os->bfd_section->size > 0) + { + /* PR ld/3107: Do not abort when a buggy linker script + causes a non-empty section to be discarded. */ + if (bfd_is_abs_section (os->bfd_section)) + einfo (_("%P%X: internal error: attempting to take the size of the non-section *ABS*\n")); + else + einfo (_("%P: warning: discarding non-empty, well known section %A\n"), + os->bfd_section); + } + } else { dot = os->bfd_section->vma; |