Update patch

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
This commit is contained in:
David Abdurachmanov 2023-06-23 15:51:47 +03:00
parent c5ed067169
commit 9037438540
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB

View File

@ -27,12 +27,12 @@ bfd/
1 file changed, 28 insertions(+), 13 deletions(-)
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index 762ea231c0b..30d2faa405d 100644
index ee2d19f7..d02c4a29 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -111,6 +111,25 @@
|| (bfd_link_pic (INFO) \
&& SYMBOL_REFERENCES_LOCAL ((INFO), (H))))
@@ -38,6 +38,25 @@
#define CHAR_BIT 8
#endif
+/* Set NEED_RELOC to true if TLS GD/IE needs dynamic relocations, and INDX will
+ be the dynamic index. PR22263, use the same check in allocate_dynrelocs and
@ -56,7 +56,7 @@ index 762ea231c0b..30d2faa405d 100644
/* Internal relocations used exclusively by the relaxation pass. */
#define R_RISCV_DELETE (R_RISCV_max + 1)
@@ -1297,18 +1316,24 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
@@ -1186,18 +1205,24 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
dyn = htab->elf.dynamic_sections_created;
if (tls_type & (GOT_TLS_GD | GOT_TLS_IE))
{
@ -83,7 +83,7 @@ index 762ea231c0b..30d2faa405d 100644
}
}
else
@@ -2882,20 +2907,10 @@ riscv_elf_relocate_section (bfd *output_bfd,
@@ -2691,20 +2716,10 @@ riscv_elf_relocate_section (bfd *output_bfd,
abort ();
bool dyn = elf_hash_table (info)->dynamic_sections_created;