aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/i386/dl-tlsdesc.S
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2021-02-11 11:58:20 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2021-04-15 09:47:59 +0100
commita75a02a696f9f869d77b17b99964823aa8833a8b (patch)
tree1722a7a55de984673490e385fa31d74b6950be1f /sysdeps/i386/dl-tlsdesc.S
parent55c9f3238080e9aba733bc0902779c46cfa16446 (diff)
downloadglibc-a75a02a696f9f869d77b17b99964823aa8833a8b.zip
glibc-a75a02a696f9f869d77b17b99964823aa8833a8b.tar.gz
glibc-a75a02a696f9f869d77b17b99964823aa8833a8b.tar.bz2
i386: Remove lazy tlsdesc relocation related code
Like in commit e75711ebfa976d5468ec292282566a18b07e4d67 for x86_64, remove unused lazy tlsdesc relocation processing code: _dl_tlsdesc_resolve_abs_plus_addend _dl_tlsdesc_resolve_rel _dl_tlsdesc_resolve_rela _dl_tlsdesc_resolve_hold
Diffstat (limited to 'sysdeps/i386/dl-tlsdesc.S')
-rw-r--r--sysdeps/i386/dl-tlsdesc.S156
1 files changed, 0 insertions, 156 deletions
diff --git a/sysdeps/i386/dl-tlsdesc.S b/sysdeps/i386/dl-tlsdesc.S
index e781d97..255fe88 100644
--- a/sysdeps/i386/dl-tlsdesc.S
+++ b/sysdeps/i386/dl-tlsdesc.S
@@ -134,159 +134,3 @@ _dl_tlsdesc_dynamic:
cfi_endproc
.size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic
#endif /* SHARED */
-
- /* This function is a wrapper for a lazy resolver for TLS_DESC
- REL relocations that reference the *ABS* segment in their own
- link maps. %ebx points to the caller's GOT. %eax points to a
- TLS descriptor, such that 0(%eax) holds the address of the
- resolver wrapper itself (unless some other thread beat us to
- it) and 4(%eax) holds the addend in the relocation.
-
- When the actual resolver returns, it will have adjusted the
- TLS descriptor such that we can tail-call it for it to return
- the TP offset of the symbol. */
-
- .hidden _dl_tlsdesc_resolve_abs_plus_addend
- .global _dl_tlsdesc_resolve_abs_plus_addend
- .type _dl_tlsdesc_resolve_abs_plus_addend,@function
- cfi_startproc
- .align 16
-_dl_tlsdesc_resolve_abs_plus_addend:
-0:
- _CET_ENDBR
- pushl %eax
- cfi_adjust_cfa_offset (4)
- pushl %ecx
- cfi_adjust_cfa_offset (4)
- pushl %edx
- cfi_adjust_cfa_offset (4)
- movl $1f - 0b, %ecx
- movl 4(%ebx), %edx
- call _dl_tlsdesc_resolve_abs_plus_addend_fixup
-1:
- popl %edx
- cfi_adjust_cfa_offset (-4)
- popl %ecx
- cfi_adjust_cfa_offset (-4)
- popl %eax
- cfi_adjust_cfa_offset (-4)
- jmp *(%eax)
- cfi_endproc
- .size _dl_tlsdesc_resolve_abs_plus_addend, .-_dl_tlsdesc_resolve_abs_plus_addend
-
- /* This function is a wrapper for a lazy resolver for TLS_DESC
- REL relocations that had zero addends. %ebx points to the
- caller's GOT. %eax points to a TLS descriptor, such that
- 0(%eax) holds the address of the resolver wrapper itself
- (unless some other thread beat us to it) and 4(%eax) holds a
- pointer to the relocation.
-
- When the actual resolver returns, it will have adjusted the
- TLS descriptor such that we can tail-call it for it to return
- the TP offset of the symbol. */
-
- .hidden _dl_tlsdesc_resolve_rel
- .global _dl_tlsdesc_resolve_rel
- .type _dl_tlsdesc_resolve_rel,@function
- cfi_startproc
- .align 16
-_dl_tlsdesc_resolve_rel:
-0:
- _CET_ENDBR
- pushl %eax
- cfi_adjust_cfa_offset (4)
- pushl %ecx
- cfi_adjust_cfa_offset (4)
- pushl %edx
- cfi_adjust_cfa_offset (4)
- movl $1f - 0b, %ecx
- movl 4(%ebx), %edx
- call _dl_tlsdesc_resolve_rel_fixup
-1:
- popl %edx
- cfi_adjust_cfa_offset (-4)
- popl %ecx
- cfi_adjust_cfa_offset (-4)
- popl %eax
- cfi_adjust_cfa_offset (-4)
- jmp *(%eax)
- cfi_endproc
- .size _dl_tlsdesc_resolve_rel, .-_dl_tlsdesc_resolve_rel
-
- /* This function is a wrapper for a lazy resolver for TLS_DESC
- RELA relocations. %ebx points to the caller's GOT. %eax
- points to a TLS descriptor, such that 0(%eax) holds the
- address of the resolver wrapper itself (unless some other
- thread beat us to it) and 4(%eax) holds a pointer to the
- relocation.
-
- When the actual resolver returns, it will have adjusted the
- TLS descriptor such that we can tail-call it for it to return
- the TP offset of the symbol. */
-
- .hidden _dl_tlsdesc_resolve_rela
- .global _dl_tlsdesc_resolve_rela
- .type _dl_tlsdesc_resolve_rela,@function
- cfi_startproc
- .align 16
-_dl_tlsdesc_resolve_rela:
-0:
- _CET_ENDBR
- pushl %eax
- cfi_adjust_cfa_offset (4)
- pushl %ecx
- cfi_adjust_cfa_offset (4)
- pushl %edx
- cfi_adjust_cfa_offset (4)
- movl $1f - 0b, %ecx
- movl 4(%ebx), %edx
- call _dl_tlsdesc_resolve_rela_fixup
-1:
- popl %edx
- cfi_adjust_cfa_offset (-4)
- popl %ecx
- cfi_adjust_cfa_offset (-4)
- popl %eax
- cfi_adjust_cfa_offset (-4)
- jmp *(%eax)
- cfi_endproc
- .size _dl_tlsdesc_resolve_rela, .-_dl_tlsdesc_resolve_rela
-
- /* This function is a placeholder for lazy resolving of TLS
- relocations. Once some thread starts resolving a TLS
- relocation, it sets up the TLS descriptor to use this
- resolver, such that other threads that would attempt to
- resolve it concurrently may skip the call to the original lazy
- resolver and go straight to a condition wait.
-
- When the actual resolver returns, it will have adjusted the
- TLS descriptor such that we can tail-call it for it to return
- the TP offset of the symbol. */
-
- .hidden _dl_tlsdesc_resolve_hold
- .global _dl_tlsdesc_resolve_hold
- .type _dl_tlsdesc_resolve_hold,@function
- cfi_startproc
- .align 16
-_dl_tlsdesc_resolve_hold:
-0:
- _CET_ENDBR
- pushl %eax
- cfi_adjust_cfa_offset (4)
- pushl %ecx
- cfi_adjust_cfa_offset (4)
- pushl %edx
- cfi_adjust_cfa_offset (4)
- movl $1f - 0b, %ecx
- movl 4(%ebx), %edx
- call _dl_tlsdesc_resolve_hold_fixup
-1:
- popl %edx
- cfi_adjust_cfa_offset (-4)
- popl %ecx
- cfi_adjust_cfa_offset (-4)
- popl %eax
- cfi_adjust_cfa_offset (-4)
- jmp *(%eax)
- cfi_endproc
- .size _dl_tlsdesc_resolve_hold, .-_dl_tlsdesc_resolve_hold