From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7844) id 852C93844079; Thu, 30 Jun 2022 03:03:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 852C93844079 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Noah Goldstein To: glibc-cvs@sourceware.org Subject: [glibc] x86: Add missing IS_IN (libc) check to strcspn-sse4.c X-Act-Checkin: glibc X-Git-Author: Noah Goldstein X-Git-Refname: refs/heads/master X-Git-Oldrev: 8cfbbbcdf90c3b6a941631c7a57a7f8b09598ac4 X-Git-Newrev: 0aa294fb887bb5aae4cdfa4b764325466a329131 Message-Id: <20220630030356.852C93844079@sourceware.org> Date: Thu, 30 Jun 2022 03:03:56 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2022 03:03:56 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0aa294fb887bb5aae4cdfa4b764325466a329131 commit 0aa294fb887bb5aae4cdfa4b764325466a329131 Author: Noah Goldstein Date: Wed Jun 29 18:56:17 2022 -0700 x86: Add missing IS_IN (libc) check to strcspn-sse4.c Was missing to for the multiarch build rtld-strcspn-sse4.os was being built and exporting symbols: build/glibc/string/rtld-strcspn-sse4.os: U ___m128i_shift_right U __strcspn_generic 0000000000000000 T __strcspn_sse42 U strlen build/glibc/string/rtld-varshift.os: 0000000000000000 R ___m128i_shift_right Introduced in: commit 06e51c8f3de38761f8855700841bc49cf495c8c0 Author: H.J. Lu Date: Fri Jul 3 02:48:56 2009 -0700 Add SSE4.2 support for strcspn, strpbrk, and strspn on x86-64. Diff: --- sysdeps/x86_64/multiarch/strcspn-sse4.c | 39 ++++++++++++++++++--------------- sysdeps/x86_64/multiarch/varshift.c | 5 ++++- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/sysdeps/x86_64/multiarch/strcspn-sse4.c b/sysdeps/x86_64/multiarch/strcspn-sse4.c index 59f64f9fe8..d11e87ab6c 100644 --- a/sysdeps/x86_64/multiarch/strcspn-sse4.c +++ b/sysdeps/x86_64/multiarch/strcspn-sse4.c @@ -16,9 +16,11 @@ License along with the GNU C Library; if not, see . */ -#include -#include -#include "varshift.h" +#if IS_IN (libc) + +# include +# include +# include "varshift.h" /* We use 0x2: _SIDD_SBYTE_OPS @@ -52,31 +54,31 @@ when either CFlag or ZFlag is 1. If CFlag == 1, ECX has the offset X for case 1. */ -#ifndef STRCSPN_GENERIC -# define STRCSPN_GENERIC __strcspn_generic -# define STRCSPN_SSE42 __strcspn_sse42 -#endif +# ifndef STRCSPN_GENERIC +# define STRCSPN_GENERIC __strcspn_generic +# define STRCSPN_SSE42 __strcspn_sse42 +# endif -#ifdef USE_AS_STRPBRK -# define RETURN(val1, val2) return val1 -#else -# define RETURN(val1, val2) return val2 -#endif +# ifdef USE_AS_STRPBRK +# define RETURN(val1, val2) return val1 +# else +# define RETURN(val1, val2) return val2 +# endif extern -#ifdef USE_AS_STRPBRK +# ifdef USE_AS_STRPBRK char * -#else +# else size_t -#endif +# endif STRCSPN_GENERIC (const char *, const char *) attribute_hidden; -#ifdef USE_AS_STRPBRK +# ifdef USE_AS_STRPBRK char * -#else +# else size_t -#endif +# endif __attribute__ ((section (".text.sse4.2"))) STRCSPN_SSE42 (const char *s, const char *a) { @@ -161,3 +163,4 @@ start_loop: aligned += 16; } } +#endif diff --git a/sysdeps/x86_64/multiarch/varshift.c b/sysdeps/x86_64/multiarch/varshift.c index d27767520a..5e2f2bdf51 100644 --- a/sysdeps/x86_64/multiarch/varshift.c +++ b/sysdeps/x86_64/multiarch/varshift.c @@ -16,7 +16,8 @@ License along with the GNU C Library; if not, see . */ -#include +#if IS_IN (libc) +# include const int8_t ___m128i_shift_right[31] attribute_hidden __attribute__((aligned(32))) = @@ -24,3 +25,5 @@ const int8_t ___m128i_shift_right[31] attribute_hidden 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; + +#endif