From patchwork Wed Aug 26 17:36:57 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lu, Hongjiu" X-Patchwork-Id: 8458 Received: (qmail 14345 invoked by alias); 26 Aug 2015 17:37:02 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 14328 invoked by uid 89); 26 Aug 2015 17:37:00 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, NO_DNS_FOR_FROM, RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mga09.intel.com X-ExtLoop1: 1 Date: Wed, 26 Aug 2015 10:36:57 -0700 From: "H.J. Lu" To: GNU C Library Subject: [PATCH 4/8] Move i486/string-inlines.c to string-inlines.c Message-ID: <20150826173657.GE21261@intel.com> Reply-To: "H.J. Lu" MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Since glibc doesn't support i386 any more, we can move i486/string-inlines.c to string-inlines.c. OK for master? H.J. --- * sysdeps/i386/i486/string-inlines.c: Moved to ... * sysdeps/i386/string-inlines.c: Here. --- sysdeps/i386/i486/string-inlines.c | 64 --------------- sysdeps/i386/string-inlines.c | 156 ++++--------------------------------- 2 files changed, 16 insertions(+), 204 deletions(-) delete mode 100644 sysdeps/i386/i486/string-inlines.c diff --git a/sysdeps/i386/i486/string-inlines.c b/sysdeps/i386/i486/string-inlines.c deleted file mode 100644 index 862a431..0000000 --- a/sysdeps/i386/i486/string-inlines.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (C) 1999-2015 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -/* and declare some extern inline - functions. These functions are declared additionally here if - inlining is not possible. */ - -#undef __USE_STRING_INLINES -#define __USE_STRING_INLINES -#define _FORCE_INLINES -#define __STRING_INLINE /* empty */ -#define __NO_INLINE__ - -/* This is to avoid PLT entries for the x86 version. */ -#define __memcpy_g __memcpy_g_internal -#define __strchr_g __strchr_g_internal - -#include -#undef index -#undef rindex - -#undef __NO_INLINE__ -#include -#include - -void * -(__memcpy_c) (void *d, const void *s, size_t n) -{ - return memcpy (d, s, n); -} - -void * -__memset_cc (void *s, unsigned long int pattern, size_t n) -{ - return memset (s, pattern & 0xff, n); -} -strong_alias (__memset_cc, __memset_cg) - -void * -__memset_gg (void *s, char c, size_t n) -{ - return memset (s, c, n); -} - -#ifdef __memcpy_c -# undef __memcpy_g -strong_alias (__memcpy_g_internal, __memcpy_g) -# undef __strchr_g -strong_alias (__strchr_g_internal, __strchr_g) -#endif diff --git a/sysdeps/i386/string-inlines.c b/sysdeps/i386/string-inlines.c index f2f59f8..862a431 100644 --- a/sysdeps/i386/string-inlines.c +++ b/sysdeps/i386/string-inlines.c @@ -25,6 +25,10 @@ #define __STRING_INLINE /* empty */ #define __NO_INLINE__ +/* This is to avoid PLT entries for the x86 version. */ +#define __memcpy_g __memcpy_g_internal +#define __strchr_g __strchr_g_internal + #include #undef index #undef rindex @@ -33,156 +37,28 @@ #include #include -/* Functions which are inlines in i486 but not i386. */ void * -__memcpy_by2 (void *dest, const void *src, size_t n) +(__memcpy_c) (void *d, const void *s, size_t n) { - return memcpy (dest, src, n); + return memcpy (d, s, n); } -strong_alias (__memcpy_by2, __memcpy_by4) -strong_alias (__memcpy_by2, __memcpy_g) -strong_alias (__memcpy_by2, __memcpy_g_internal) void * -__memset_ccn_by2 (void *s, unsigned int c, size_t n) +__memset_cc (void *s, unsigned long int pattern, size_t n) { - return memset (s, c & 0xff, n); + return memset (s, pattern & 0xff, n); } -strong_alias (__memset_ccn_by2, __memset_ccn_by4) +strong_alias (__memset_cc, __memset_cg) void * -__memset_gcn_by2 (void *s, int c, size_t n) +__memset_gg (void *s, char c, size_t n) { return memset (s, c, n); } -strong_alias (__memset_gcn_by2, __memset_gcn_by4) - -size_t -__strlen_g (const char *s) -{ - return strlen (s); -} - -char * -__strcpy_g (char *d, const char *s) -{ - return strcpy (d, s); -} - -char * -__mempcpy_by2 (char *d, const char *s, size_t n) -{ - return mempcpy (d, s, n); -} -strong_alias (__mempcpy_by2, __mempcpy_by4) -strong_alias (__mempcpy_by2, __mempcpy_byn) - -char * -__stpcpy_g (char *d, const char *s) -{ - return stpcpy (d, s); -} - -char * -__strncpy_by2 (char *d, const char s[], size_t srclen, size_t n) -{ - return strncpy (d, s, n); -} -strong_alias (__strncpy_by2, __strncpy_by4) -strong_alias (__strncpy_by2, __strncpy_byn) -char * -__strncpy_gg (char *d, const char *s, size_t n) -{ - return strncpy (d, s, n); -} - -char * -__strcat_c (char *d, const char s[], size_t srclen) -{ - return strcat (d, s); -} - -char * -__strcat_g (char *d, const char *s) -{ - return strcat (d, s); -} - -char * -__strncat_g (char *d, const char s[], size_t n) -{ - return strncat (d, s, n); -} - -int -__strcmp_gg (const char *s1, const char *s2) -{ - return strcmp (s1, s2); -} - -int -__strncmp_g (const char *s1, const char *s2, size_t n) -{ - return strncmp (s1, s2, n); -} - -char * -__strrchr_c (const char *s, int c) -{ - return strrchr (s, c >> 8); -} - -char * -__strrchr_g (const char *s, int c) -{ - return strrchr (s, c); -} - -size_t -__strcspn_cg (const char *s, const char reject[], size_t reject_len) -{ - return strcspn (s, reject); -} - -size_t -__strcspn_g (const char *s, const char *reject) -{ - return strcspn (s, reject); -} - -size_t -__strspn_cg (const char *s, const char accept[], size_t accept_len) -{ - return strspn (s, accept); -} - -size_t -__strspn_g (const char *s, const char *accept) -{ - return strspn (s, accept); -} - -char * -__strpbrk_cg (const char *s, const char accept[], size_t accept_len) -{ - return strpbrk (s, accept); -} - -char * -__strpbrk_g (const char *s, const char *accept) -{ - return strpbrk (s, accept); -} - -char * -__strstr_cg (const char *haystack, const char needle[], size_t needle_len) -{ - return strstr (haystack, needle); -} - -char * -__strstr_g (const char *haystack, const char needle[]) -{ - return strstr (haystack, needle); -} +#ifdef __memcpy_c +# undef __memcpy_g +strong_alias (__memcpy_g_internal, __memcpy_g) +# undef __strchr_g +strong_alias (__strchr_g_internal, __strchr_g) +#endif