PR27271, c6x-uclinux-ld segfaults linking ld-uClibc-1.0.37.so

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.
This commit is contained in:
Alan Modra
2021-01-29 10:57:48 +10:30
parent 986dbd541a
commit c4566785ac
4 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2021-01-29 Alan Modra <amodra@gmail.com>
PR 27271
* elflink.c (bfd_elf_link_record_dynamic_symbol): Don't segfault
on symbols defined in absolute or other special sections.
2021-01-28 Alan Modra <amodra@gmail.com>
PR 27259

View File

@ -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;
}

View File

@ -1,3 +1,7 @@
2021-01-29 Alan Modra <amodra@gmail.com>
* testsuite/ld-tic6x/tic6x.exp: Add pr27271 test.
2021-01-28 H.J. Lu <hongjiu.lu@intel.com>
PR ld/27259

View File

@ -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