[PATCH] bfin: Don't call bfd_elf_link_record_dynamic_symbol
Mike Frysinger
vapier@gentoo.org
Wed Jan 6 10:04:01 GMT 2021
On 29 Dec 2020 10:45, H.J. Lu via Binutils wrote:
> bfinfdpic_check_relocs shouldn't call bfd_elf_link_record_dynamic_symbol
> since it has been called from elf_link_add_object_symbols. This fixed:
>
> FAIL: ld-elf/pr26979a
> FAIL: ld-elf/pr26979b
> FAIL: Symbol export class test (final shared object)
seems to break FDPIC toolchains:
$ cat test.c
static int i = 3;
int main(int argc, char *argv[]) {
return argc + i;
}
$ bfin-linux-uclibc-gcc test.c
$ file a.out
a.out: ELF 32-bit LSB executable, Analog Devices Blackfin, version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, with debug_info, not stripped
commit 865288236d881acecdcf0aaa636fd28fd811d862:
$ ln -s ld-new ld/ld
$ bfin-linux-uclibc-gcc -Bld test.c
<works>
with your patch:
$ ln -s ld-new ld/ld
$ bfin-linux-uclibc-gcc -Bld test.c
ld/ld: BFD (GNU Binutils) 2.35.50.20210106 assertion fail ../../../bfd/elf32-bfin.c:2032
ld/ld: BFD (GNU Binutils) 2.35.50.20210106 assertion fail ../../../bfd/elf32-bfin.c:2032
ld/ld: BFD (GNU Binutils) 2.35.50.20210106 assertion fail ../../../bfd/elf32-bfin.c:2032
ld/ld: BFD (GNU Binutils) 2.35.50.20210106 assertion fail ../../../bfd/elf32-bfin.c:2023
ld/ld: BFD (GNU Binutils) 2.35.50.20210106 assertion fail ../../../bfd/elf32-bfin.c:2023
ld/ld: BFD (GNU Binutils) 2.35.50.20210106 assertion fail ../../../bfd/elf32-bfin.c:2023
ld/ld: LINKER BUG: .rofixup section size mismatch
collect2: ld returned 1 exit status
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <https://sourceware.org/pipermail/binutils/attachments/20210106/3e66a7e6/attachment.sig>
More information about the Binutils
mailing list