[PATCH] i386: Remove NO_TLS_DIRECT_SEG_REFS handling

Florian Weimer fweimer@redhat.com
Thu May 28 09:12:14 GMT 2020


This was needed for 32-bit PV Xen, which has been superseded by this
point according to Xen developers.

---
 sysdeps/i386/Makefile                      |  4 ----
 sysdeps/i386/i686/multiarch/strcmp-sse4.S  | 20 --------------------
 sysdeps/i386/i686/multiarch/strcmp-ssse3.S | 20 --------------------
 3 files changed, 44 deletions(-)

diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
index c0a4fe15d4..b9b1367f60 100644
--- a/sysdeps/i386/Makefile
+++ b/sysdeps/i386/Makefile
@@ -33,10 +33,6 @@ else
 stack-align-test-flags += -malign-double
 endif
 
-ifneq (,$(filter -mno-tls-direct-seg-refs,$(CFLAGS)))
-defines += -DNO_TLS_DIRECT_SEG_REFS
-endif
-
 ifeq ($(subdir),elf)
 sysdep-dl-routines += tlsdesc dl-tlsdesc
 
diff --git a/sysdeps/i386/i686/multiarch/strcmp-sse4.S b/sysdeps/i386/i686/multiarch/strcmp-sse4.S
index 5454cba2e3..802609839a 100644
--- a/sysdeps/i386/i686/multiarch/strcmp-sse4.S
+++ b/sysdeps/i386/i686/multiarch/strcmp-sse4.S
@@ -101,19 +101,9 @@ ENTRY (__strcasecmp_sse4_2)
 	PUSH	(%ebx)
 	LOAD_PIC_REG(bx)
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	addl	%gs:0, %eax
-	movl	(%eax), %eax
-#  else
 	movl	%gs:(%eax), %eax
-#  endif
 # else
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	movl	%gs:0, %eax
-	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
-#  else
 	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
-#  endif
 # endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax
@@ -138,19 +128,9 @@ ENTRY (__strncasecmp_sse4_2)
 	PUSH	(%ebx)
 	LOAD_PIC_REG(bx)
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	addl	%gs:0, %eax
-	movl	(%eax), %eax
-#  else
 	movl	%gs:(%eax), %eax
-#  endif
 # else
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	movl	%gs:0, %eax
-	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
-#  else
 	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
-#  endif
 # endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax
diff --git a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
index 8e830dec6f..1b9d53c1fe 100644
--- a/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
+++ b/sysdeps/i386/i686/multiarch/strcmp-ssse3.S
@@ -118,19 +118,9 @@ ENTRY (__strcasecmp_ssse3)
 	PUSH	(%ebx)
 	LOAD_PIC_REG(bx)
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	addl	%gs:0, %eax
-	movl	(%eax), %eax
-#  else
 	movl	%gs:(%eax), %eax
-#  endif
 # else
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	movl	%gs:0, %eax
-	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
-#  else
 	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
-#  endif
 # endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax
@@ -155,19 +145,9 @@ ENTRY (__strncasecmp_ssse3)
 	PUSH	(%ebx)
 	LOAD_PIC_REG(bx)
 	movl	__libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	addl	%gs:0, %eax
-	movl	(%eax), %eax
-#  else
 	movl	%gs:(%eax), %eax
-#  endif
 # else
-#  ifdef NO_TLS_DIRECT_SEG_REFS
-	movl	%gs:0, %eax
-	movl	__libc_tsd_LOCALE@NTPOFF(%eax), %eax
-#  else
 	movl	%gs:__libc_tsd_LOCALE@NTPOFF, %eax
-#  endif
 # endif
 # if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0
 	movl	LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax



More information about the Libc-alpha mailing list