aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2023-10-20 08:51:20 +1030
committerAlan Modra <amodra@gmail.com>2023-10-20 08:57:34 +1030
commit1b1b9bc05f8f6cde3956fb4d08f734de438f02a7 (patch)
tree1ecb58b35d35ac9f74a0f93255c17142f6f488d1 /ld
parentf005ccb4bcc2fa79f005973728088d590b5e74fd (diff)
downloadgdb-1b1b9bc05f8f6cde3956fb4d08f734de438f02a7.zip
gdb-1b1b9bc05f8f6cde3956fb4d08f734de438f02a7.tar.gz
gdb-1b1b9bc05f8f6cde3956fb4d08f734de438f02a7.tar.bz2
PR30984, assertion fail elf.c:8485
PR 30984 * ldelf.c (ldelf_place_orphan): Don't allow bfd_abs_section as a potential output section.
Diffstat (limited to 'ld')
-rw-r--r--ld/ldelf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ld/ldelf.c b/ld/ldelf.c
index d74354a..6c2ad3f 100644
--- a/ld/ldelf.c
+++ b/ld/ldelf.c
@@ -2244,6 +2244,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint)
set, then it has been created by the linker, possibly as a
result of a --section-start command line switch. */
if (os->bfd_section != NULL
+ && !bfd_is_abs_section (os->bfd_section)
&& (os->bfd_section->flags == 0
|| (((s->flags ^ os->bfd_section->flags)
& (SEC_LOAD | SEC_ALLOC)) == 0