x86-64: Provide more info when failed to convert GOTPCREL
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 4 Feb 2021 14:02:13 +0000 (06:02 -0800)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 4 Feb 2021 14:06:44 +0000 (06:06 -0800)
commit1a2f1b54a520b28891910846c8671e1c4bcaf348
treeb61a6448f833763aac399ceb12ff22d71ef6e2ec
parent37707bd8221c2e3f7676de8bee0c42ce3ab38c77
x86-64: Provide more info when failed to convert GOTPCREL

Provide

[hjl@gnu-cfl-2 ld]$ ./ld-new -z norelro  -L/export/gnu/import/git/gitlab/x86-binutils/ld/testsuite/ld-x86-64  -melf32_x86_64 -Ttext=0x80000000 -o tmpdir/dump tmpdir/pr19609-7.o
tmpdir/pr19609-7.o: in function `_start':
(.text+0x2): failed to convert GOTPCREL relocation against 'foobar'; relink with --no-relax
[hjl@gnu-cfl-2 ld]$

instead of

[hjl@gnu-cfl-2 ld]$ ld -z norelro  -L/export/gnu/import/git/gitlab/x86-binutils/ld/testsuite/ld-x86-64  -melf32_x86_64 -Ttext=0x80000000 -o tmpdir/dump tmpdir/pr19609-7.o
ld: failed to convert GOTPCREL relocation; relink with --no-relax
[hjl@gnu-cfl-2 ld]$

bfd/

PR ld/19609
* elf64-x86-64.c (elf_x86_64_relocate_section): Provide more
info when failed to convert GOTPCREL relocation.

ld/

PR ld/19609
* testsuite/ld-x86-64/pr19609-2a.d: Updated.
* testsuite/ld-x86-64/pr19609-2b.d: Likewise.
* testsuite/ld-x86-64/pr19609-4a.d: Likewise.
* testsuite/ld-x86-64/pr19609-4c.d: Likewise.
* testsuite/ld-x86-64/pr19609-5d.d: Likewise.
* testsuite/ld-x86-64/pr19609-7a.d: Likewise.
* testsuite/ld-x86-64/pr19609-7c.d: Likewise.
bfd/ChangeLog
bfd/elf64-x86-64.c
ld/ChangeLog
ld/testsuite/ld-x86-64/pr19609-2a.d
ld/testsuite/ld-x86-64/pr19609-2b.d
ld/testsuite/ld-x86-64/pr19609-4a.d
ld/testsuite/ld-x86-64/pr19609-4c.d
ld/testsuite/ld-x86-64/pr19609-5d.d
ld/testsuite/ld-x86-64/pr19609-7a.d
ld/testsuite/ld-x86-64/pr19609-7c.d