i386: Update I386_NEED_DYNAMIC_RELOC_TYPE_P for DT_TEXTREL

Update I386_NEED_DYNAMIC_RELOC_TYPE_P to allow R_386_TLS_IE for relocation
in read-only section.

bfd/

	PR ld/28894
	* elfxx-x86.h (I386_NEED_DYNAMIC_RELOC_TYPE_P): Allow
	R_386_TLS_IE.

ld/
	PR ld/28894
	* testsuite/ld-i386/i386.exp: Run pr28894.
	* testsuite/ld-i386/pr28894.d: New file.
	* testsuite/ld-i386/pr28894.s: Likewise.
This commit is contained in:
H.J. Lu 2022-02-15 15:03:02 -08:00
parent e63f65fea9
commit 3319ba7a8d
4 changed files with 12 additions and 0 deletions

View File

@ -80,6 +80,7 @@
#define I386_NEED_DYNAMIC_RELOC_TYPE_P(TYPE) \
(I386_SIZE_TYPE_P (TYPE) \
|| I386_RELATIVE_RELOC_TYPE_P (TYPE) \
|| (TYPE) == R_386_TLS_IE \
|| (TYPE) == R_386_TLS_LE \
|| (TYPE) == R_386_TLS_LE_32)
#define X86_NEED_DYNAMIC_RELOC_TYPE_P(IS_X86_64, TYPE) \

View File

@ -510,6 +510,7 @@ run_dump_test "pr27491-4"
run_dump_test "dt-relr-1a"
run_dump_test "dt-relr-1b"
run_dump_test "pr28870"
run_dump_test "pr28894"
if { !([istarget "i?86-*-linux*"]
|| [istarget "i?86-*-gnu*"]

View File

@ -0,0 +1,3 @@
#as: --32
#ld: -shared -melf_i386 --warn-shared-textrel --fatal-warnings
#error: .*warning: creating DT_TEXTREL in a shared object

View File

@ -0,0 +1,7 @@
.text
addl foo@INDNTPOFF, %eax
.section .tbss,"awT",@nobits
.globl foo
.hidden foo
foo:
.byte 0