diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | sysdeps/i386/i486/string-inlines.c | 64 | ||||
-rw-r--r-- | sysdeps/i386/string-inlines.c | 156 |
3 files changed, 21 insertions, 204 deletions
diff --git a/ChangeLog b/ChangeLog index fcc23c77df..f44a4d9e03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2015-08-27 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/i386/i486/string-inlines.c: Moved to ... + * sysdeps/i386/string-inlines.c: Here. + +2015-08-27 H.J. Lu <hongjiu.lu@intel.com> + * sysdeps/i386/i486/htonl.S: Moved ... * sysdeps/i386/htonl.S: here. diff --git a/sysdeps/i386/i486/string-inlines.c b/sysdeps/i386/i486/string-inlines.c deleted file mode 100644 index 862a431fb5..0000000000 --- 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 - <http://www.gnu.org/licenses/>. */ - -/* <bits/string.h> and <bits/string2.h> 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 <string.h> -#undef index -#undef rindex - -#undef __NO_INLINE__ -#include <bits/string.h> -#include <bits/string2.h> - -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 f2f59f8a88..862a431fb5 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 <string.h> #undef index #undef rindex @@ -33,156 +37,28 @@ #include <bits/string.h> #include <bits/string2.h> -/* 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 |