From aadd0a1c7c89d016e1186c81c0efcafa36bf84fc Mon Sep 17 00:00:00 2001 From: Noah Goldstein Date: Fri, 24 Jun 2022 09:42:15 -0700 Subject: [PATCH] x86: Put wcs{n}len-sse4.1 in the sse4.1 text section Previously was missing but the two implementations shouldn't get in the sse2 (generic) text section. (cherry picked from commit afc6e4328ff80973bde50d5401691b4c4b2e522c) --- sysdeps/x86_64/multiarch/strlen-vec.S | 6 +++++- sysdeps/x86_64/multiarch/wcslen-sse4_1.S | 1 + sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sysdeps/x86_64/multiarch/strlen-vec.S b/sysdeps/x86_64/multiarch/strlen-vec.S index 031753a917..762f475502 100644 --- a/sysdeps/x86_64/multiarch/strlen-vec.S +++ b/sysdeps/x86_64/multiarch/strlen-vec.S @@ -28,6 +28,10 @@ # define SHIFT_RETURN #endif +#ifndef SECTION +# define SECTION(p) p +#endif + /* Long lived register in strlen(s), strnlen(s, n) are: %xmm3 - zero @@ -37,7 +41,7 @@ */ -.text + .section SECTION(.text),"ax",@progbits ENTRY(strlen) /* Test 64 bytes from %rax for zero. Save result as bitmask in %rdx. */ diff --git a/sysdeps/x86_64/multiarch/wcslen-sse4_1.S b/sysdeps/x86_64/multiarch/wcslen-sse4_1.S index 7e62621afc..e306a77f51 100644 --- a/sysdeps/x86_64/multiarch/wcslen-sse4_1.S +++ b/sysdeps/x86_64/multiarch/wcslen-sse4_1.S @@ -1,4 +1,5 @@ #define AS_WCSLEN #define strlen __wcslen_sse4_1 +#define SECTION(p) p##.sse4.1 #include "strlen-vec.S" diff --git a/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S b/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S index 5fa51fe07c..d2f7dd6e22 100644 --- a/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S +++ b/sysdeps/x86_64/multiarch/wcsnlen-sse4_1.S @@ -1,5 +1,6 @@ #define AS_WCSLEN #define AS_STRNLEN #define strlen __wcsnlen_sse4_1 +#define SECTION(p) p##.sse4.1 #include "strlen-vec.S"