aboutsummaryrefslogtreecommitdiffstats
path: root/main/binutils/binutils-s390x-1.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/binutils/binutils-s390x-1.patch')
-rw-r--r--main/binutils/binutils-s390x-1.patch147
1 files changed, 0 insertions, 147 deletions
diff --git a/main/binutils/binutils-s390x-1.patch b/main/binutils/binutils-s390x-1.patch
deleted file mode 100644
index fab51a2fad6..00000000000
--- a/main/binutils/binutils-s390x-1.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 82a5bb730a16f8c7962568030268e784b4fb42c8 Mon Sep 17 00:00:00 2001
-From: Stefan Liebler <stli@linux.ibm.com>
-Date: Thu, 28 Apr 2022 14:29:58 +0200
-Subject: [PATCH] s390: Avoid dynamic TLS relocs in PIE
-
-No dynamic relocs are needed for TLS defined in an executable, the
-TP relative offset is known at link time.
-
-Fixes
-FAIL: Build pr22263-1
-
-bfd/
- PR ld/22263
- * elf64-s390.c (elf_s390_tls_transition): Use bfd_link_dll
- instead of bfd_link_pic for TLS.
- (elf_s390_check_relocs): Likewise.
- (allocate_dynrelocs): Likewise.
- (elf_s390_relocate_section): Likewise.
-
-(cherry picked from commit 26b1426577b5dcb32d149c64cca3e603b81948a9)
----
- bfd/elf64-s390.c | 26 +++++++++++++-------------
- 1 file changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
-index e780efa7181..00ee386baab 100644
---- a/bfd/elf64-s390.c
-+++ b/bfd/elf64-s390.c
-@@ -774,7 +774,7 @@ elf_s390_tls_transition (struct bfd_link_info *info,
- int r_type,
- int is_local)
- {
-- if (bfd_link_pic (info))
-+ if (bfd_link_dll (info))
- return r_type;
-
- switch (r_type)
-@@ -1026,7 +1026,7 @@ elf_s390_check_relocs (bfd *abfd,
- case R_390_TLS_GOTIE20:
- case R_390_TLS_GOTIE64:
- case R_390_TLS_IEENT:
-- if (bfd_link_pic (info))
-+ if (bfd_link_dll (info))
- info->flags |= DF_STATIC_TLS;
- /* Fall through */
-
-@@ -1107,7 +1107,7 @@ elf_s390_check_relocs (bfd *abfd,
- if (r_type == R_390_TLS_LE64 && bfd_link_pie (info))
- break;
-
-- if (!bfd_link_pic (info))
-+ if (!bfd_link_dll (info))
- break;
- info->flags |= DF_STATIC_TLS;
- /* Fall through */
-@@ -1571,7 +1571,7 @@ allocate_dynrelocs (struct elf_link_hash_entry *h,
- to R_390_TLS_LE64 requiring no TLS entry. For GOTIE12 and IEENT
- we can save the dynamic TLS relocation. */
- if (h->got.refcount > 0
-- && !bfd_link_pic (info)
-+ && !bfd_link_dll (info)
- && h->dynindx == -1
- && elf_s390_hash_entry(h)->tls_type >= GOT_TLS_IE)
- {
-@@ -2662,7 +2662,7 @@ elf_s390_relocate_section (bfd *output_bfd,
-
- /* Relocations for tls literal pool entries. */
- case R_390_TLS_IE64:
-- if (bfd_link_pic (info))
-+ if (bfd_link_dll (info))
- {
- Elf_Internal_Rela outrel;
- asection *sreloc;
-@@ -2690,7 +2690,7 @@ elf_s390_relocate_section (bfd *output_bfd,
- else if (h != NULL)
- {
- tls_type = elf_s390_hash_entry(h)->tls_type;
-- if (!bfd_link_pic (info) && h->dynindx == -1 && tls_type >= GOT_TLS_IE)
-+ if (!bfd_link_dll (info) && h->dynindx == -1 && tls_type >= GOT_TLS_IE)
- r_type = R_390_TLS_LE64;
- }
- if (r_type == R_390_TLS_GD64 && tls_type >= GOT_TLS_IE)
-@@ -2801,14 +2801,14 @@ elf_s390_relocate_section (bfd *output_bfd,
- if (local_got_offsets == NULL)
- abort();
- off = local_got_offsets[r_symndx];
-- if (bfd_link_pic (info))
-+ if (bfd_link_dll (info))
- goto emit_tls_relocs;
- }
- else
- {
- off = h->got.offset;
- tls_type = elf_s390_hash_entry(h)->tls_type;
-- if (bfd_link_pic (info) || h->dynindx != -1 || tls_type < GOT_TLS_IE)
-+ if (bfd_link_dll (info) || h->dynindx != -1 || tls_type < GOT_TLS_IE)
- goto emit_tls_relocs;
- }
-
-@@ -2825,7 +2825,7 @@ elf_s390_relocate_section (bfd *output_bfd,
- break;
-
- case R_390_TLS_LDM64:
-- if (! bfd_link_pic (info))
-+ if (! bfd_link_dll (info))
- /* The literal pool entry this relocation refers to gets ignored
- by the optimized code of the local exec model. Do nothing
- and the value will turn out zero. */
-@@ -2900,7 +2900,7 @@ elf_s390_relocate_section (bfd *output_bfd,
- continue;
-
- case R_390_TLS_LDO64:
-- if (bfd_link_pic (info) || (input_section->flags & SEC_DEBUGGING))
-+ if (bfd_link_dll (info) || (input_section->flags & SEC_DEBUGGING))
- relocation -= dtpoff_base (info);
- else
- /* When converting LDO to LE, we must negate. */
-@@ -2922,7 +2922,7 @@ elf_s390_relocate_section (bfd *output_bfd,
-
- if (r_type == R_390_TLS_LOAD)
- {
-- if (!bfd_link_pic (info) && (h == NULL || h->dynindx == -1))
-+ if (!bfd_link_dll (info) && (h == NULL || h->dynindx == -1))
- {
- /* IE->LE transition. Four valid cases:
- lg %rx,(0,%ry) -> sllg %rx,%ry,0
-@@ -2972,7 +2972,7 @@ elf_s390_relocate_section (bfd *output_bfd,
- invalid_tls_insn (input_bfd, input_section, rel);
- return false;
- }
-- if (!bfd_link_pic (info) && (h == NULL || h->dynindx == -1))
-+ if (!bfd_link_dll (info) && (h == NULL || h->dynindx == -1))
- {
- /* GD->LE transition.
- brasl %r14,__tls_get_addr@plt -> brcl 0,. */
-@@ -2991,7 +2991,7 @@ elf_s390_relocate_section (bfd *output_bfd,
- }
- else if (r_type == R_390_TLS_LDCALL)
- {
-- if (!bfd_link_pic (info))
-+ if (!bfd_link_dll (info))
- {
- unsigned int insn0, insn1;
-
---
-2.27.0
-