[prev in list] [next in list] [prev in thread] [next in thread]
List: binutils
Subject: PR27271, c6x-uclinux-ld segfaults linking ld-uClibc-1.0.37.so
From: Alan Modra via Binutils <binutils () sourceware ! org>
Date: 2021-01-29 1:28:06
Message-ID: 20210129011605.GZ26219 () bubble ! grove ! modra ! org
[Download RAW message or body]
bfd/
PR 27271
* elflink.c (bfd_elf_link_record_dynamic_symbol): Don't segfault
on symbols defined in absolute or other special sections.
ld/
* testsuite/ld-tic6x/tic6x.exp: Add pr27271 test.
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 47c3fb4e683..3a3ca3b04f7 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -537,8 +537,10 @@ bfd_elf_link_record_dynamic_symbol (struct bfd_link_info *info,
if (!elf_hash_table (info)->is_relocatable_executable
|| ((h->root.type == bfd_link_hash_defined
|| h->root.type == bfd_link_hash_defweak)
+ && h->root.u.def.section->owner != NULL
&& h->root.u.def.section->owner->no_export)
|| (h->root.type == bfd_link_hash_common
+ && h->root.u.c.p->section->owner != NULL
&& h->root.u.c.p->section->owner->no_export))
return TRUE;
}
diff --git a/ld/testsuite/ld-tic6x/tic6x.exp b/ld/testsuite/ld-tic6x/tic6x.exp
index e11699bed31..0a913da25d9 100644
--- a/ld/testsuite/ld-tic6x/tic6x.exp
+++ b/ld/testsuite/ld-tic6x/tic6x.exp
@@ -130,6 +130,11 @@ set shlibtests {
{objdump -sj.got static-app-1rb.sd}
{objdump -R static-app-1rb.od}}
"static-app-1rb"}
+
+ {"C6X shared library with --export-dynamic"
+ "-shared --export-dynamic -Tdsbt.ld --dsbt-size=3 --hash-style=sysv" ""
+ "-mdsbt -mpic -mpid=near" {shlib-1.s shlib-2.s}
+ {} "pr27271.so"}
}
run_ld_link_tests $shlibtests
--
Alan Modra
Australia Development Lab, IBM
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic