* sysdeps/i386/fpu/ftestexcept.c: Also check SSE status word.

	* include/signal.h: Use libc_hidden_proto for sigaddset and sigdelset.
	* signal/sigaddset.c: Add libc_hidden_def.
	* signal/sigdelset.c: Likewise.

2003-04-29  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/i386/i486/string-inlines.c (__memcpy_g, __strchr_g): Move
	to the end of the file.

	* configure.in: Change __oline__ to $LINENO.
	(HAVE_BUILTIN_REDIRECTION): New check.
	* config.h.in (HAVE_BUILTIN_REDIRECTION): Add.
	* include/libc-symbols.h (libc_hidden_builtin_proto,
	libc_hidden_builtin_def, libc_hidden_builtin_weak,
	libc_hidden_builtin_ver): Define.
	* include/string.h (memchr, memcpy, memmove, memset, strcat, strchr,
	strcmp, strcpy, strcspn, strlen, strncmp, strncpy, strpbrk, strrchr,
	strspn, strstr): Add libc_hidden_builtin_proto.
	* intl/plural.y: Include string.h.
	* sysdeps/alpha/alphaev6/memchr.S (memchr): Add
	libc_hidden_builtin_def.
	* sysdeps/alpha/alphaev6/memcpy.S (memcpy): Likewise.
	* sysdeps/alpha/alphaev6/memset.S (memset): Likewise.
	* sysdeps/alpha/alphaev67/strcat.S (strcat): Likewise.
	* sysdeps/alpha/alphaev67/strchr.S (strchr): Likewise.
	* sysdeps/alpha/alphaev67/strlen.S (strlen): Likewise.
	* sysdeps/alpha/alphaev67/strrchr.S (strrchr): Likewise.
	* sysdeps/alpha/memchr.S (memchr): Likewise.
	* sysdeps/alpha/memset.S (memset): Likewise.
	* sysdeps/alpha/strcat.S (strcat): Likewise.
	* sysdeps/alpha/strchr.S (strchr): Likewise.
	* sysdeps/alpha/strcmp.S (strcmp): Likewise.
	* sysdeps/alpha/strcpy.S (strcpy): Likewise.
	* sysdeps/alpha/strlen.S (strlen): Likewise.
	* sysdeps/alpha/strncmp.S (strncmp): Likewise.
	* sysdeps/alpha/strncpy.S (strncpy): Likewise.
	* sysdeps/alpha/strrchr.S (strrchr): Likewise.
	* sysdeps/arm/memset.S (memset): Likewise.
	* sysdeps/arm/strlen.S (strlen): Likewise.
	* sysdeps/generic/memchr.c (memchr): Likewise.
	* sysdeps/generic/memcpy.c (memcpy): Likewise.
	* sysdeps/generic/memmove.c (memmove): Likewise.
	* sysdeps/generic/memset.c (memset): Likewise.
	* sysdeps/generic/strcat.c (strcat): Likewise.
	* sysdeps/generic/strchr.c (strchr): Likewise.
	* sysdeps/generic/strcmp.c (strcmp): Likewise.
	* sysdeps/generic/strcpy.c (strcpy): Likewise.
	* sysdeps/generic/strcspn.c (strcspn): Likewise.
	* sysdeps/generic/strlen.c (strlen): Likewise.
	* sysdeps/generic/strncmp.c (strncmp): Likewise.
	* sysdeps/generic/strncpy.c (strncpy): Likewise.
	* sysdeps/generic/strpbrk.c (strpbrk): Likewise.
	* sysdeps/generic/strrchr.c (strrchr): Likewise.
	* sysdeps/generic/strspn.c (strspn): Likewise.
	* sysdeps/generic/strstr.c (strstr): Likewise.
	* sysdeps/i386/i486/strcat.S (strcat): Likewise.
	* sysdeps/i386/i486/strlen.S (strlen): Likewise.
	* sysdeps/i386/i586/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i586/memset.S (memset): Likewise.
	* sysdeps/i386/i586/strchr.S (strchr): Likewise.
	* sysdeps/i386/i586/strcpy.S (strcpy): Likewise.
	* sysdeps/i386/i586/strlen.S (strlen): Likewise.
	* sysdeps/i386/i686/memcpy.S (memcpy): Likewise.
	* sysdeps/i386/i686/memmove.S (memmove): Likewise.
	* sysdeps/i386/i686/memset.S (memset): Likewise.
	* sysdeps/i386/i686/strcmp.S (strcmp): Likewise.
	* sysdeps/i386/memchr.S (memchr): Likewise.
	* sysdeps/i386/memset.c (memset): Likewise.
	* sysdeps/i386/strchr.S (strchr): Likewise.
	* sysdeps/i386/strcspn.S (strcspn): Likewise.
	* sysdeps/i386/strlen.c (strlen): Likewise.
	* sysdeps/i386/strpbrk.S (strpbrk): Likewise.
	* sysdeps/i386/strrchr.S (strrchr): Likewise.
	* sysdeps/i386/strspn.S (strspn): Likewise.
	* sysdeps/ia64/memchr.S (memchr): Likewise.
	* sysdeps/ia64/memcpy.S (memcpy): Likewise.
	* sysdeps/ia64/memmove.S (memmove): Likewise.
	* sysdeps/ia64/memset.S (memset): Likewise.
	* sysdeps/ia64/strcat.S (strcat): Likewise.
	* sysdeps/ia64/strchr.S (strchr): Likewise.
	* sysdeps/ia64/strcmp.S (strcmp): Likewise.
	* sysdeps/ia64/strcpy.S (strcpy): Likewise.
	* sysdeps/ia64/strlen.S (strlen): Likewise.
	* sysdeps/ia64/strncmp.S (strncmp): Likewise.
	* sysdeps/ia64/strncpy.S (strncpy): Likewise.
	* sysdeps/m68k/memchr.S (memchr): Likewise.
	* sysdeps/m68k/strchr.S (strchr): Likewise.
	* sysdeps/mips/mips64/memcpy.S (memcpy): Likewise.
	* sysdeps/mips/mips64/memset.S (memset): Likewise.
	* sysdeps/mips/memcpy.S (memcpy): Likewise.
	* sysdeps/mips/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc32/strchr.S (strchr): Likewise.
	* sysdeps/powerpc/powerpc32/strcmp.S (strcmp): Likewise.
	* sysdeps/powerpc/powerpc32/strcpy.S (strcpy): Likewise.
	* sysdeps/powerpc/powerpc32/strlen.S (strlen): Likewise.
	* sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
	* sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
	* sysdeps/powerpc/powerpc64/strchr.S (strchr): Likewise.
	* sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Likewise.
	* sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Likewise.
	* sysdeps/powerpc/powerpc64/strlen.S (strlen): Likewise.
	* sysdeps/powerpc/strcat.c (strcat): Likewise.
	* sysdeps/sparc/sparc32/memchr.S (memchr): Likewise.
	* sysdeps/sparc/sparc32/memcpy.S (memcpy): Likewise.
	* sysdeps/sparc/sparc32/memset.S (memset): Likewise.
	* sysdeps/sparc/sparc32/strcat.S (strcat): Likewise.
	* sysdeps/sparc/sparc32/strchr.S (strchr, strrchr): Likewise.
	* sysdeps/sparc/sparc32/strcmp.S (strcmp): Likewise.
	* sysdeps/sparc/sparc32/strcpy.S (strcpy): Likewise.
	* sysdeps/sparc/sparc32/strlen.S (strlen): Likewise.
	* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy, memmove): Likewise.
	* sysdeps/sparc/sparc64/memchr.S (memchr): Likewise.
	* sysdeps/sparc/sparc64/memcpy.S (memcpy, memmove): Likewise.
	* sysdeps/sparc/sparc64/memset.S (memset): Likewise.
	* sysdeps/sparc/sparc64/strcat.S (strcat): Likewise.
	* sysdeps/sparc/sparc64/strchr.S (strchr, strrchr): Likewise.
	* sysdeps/sparc/sparc64/strcmp.S (strcmp): Likewise.
	* sysdeps/sparc/sparc64/strcpy.S (strcpy): Likewise.
	* sysdeps/sparc/sparc64/strcspn.S (strcspn): Likewise.
	* sysdeps/sparc/sparc64/strlen.S (strlen): Likewise.
	* sysdeps/sparc/sparc64/strncmp.S (strncmp): Likewise.
	* sysdeps/sparc/sparc64/strncpy.S (strncpy): Likewise.
	* sysdeps/sparc/sparc64/strpbrk.S (strpbrk): Likewise.
	* sysdeps/sparc/sparc64/strspn.S (strspn): Likewise.
	* sysdeps/sh/memcpy.S (memcpy): Likewise.
	* sysdeps/sh/memset.S (memset): Likewise.
	* sysdeps/sh/strlen.S (strlen): Likewise.
	* sysdeps/s390/s390-32/memchr.S (memchr): Likewise.
	* sysdeps/s390/s390-32/memcpy.S (memcpy): Likewise.
	* sysdeps/s390/s390-32/memset.S (memset): Likewise.
	* sysdeps/s390/s390-32/strcmp.S (strcmp): Likewise.
	* sysdeps/s390/s390-32/strcpy.S (strcpy): Likewise.
	* sysdeps/s390/s390-32/strncpy.S (strncpy): Likewise.
	* sysdeps/s390/s390-64/memchr.S (memchr): Likewise.
	* sysdeps/s390/s390-64/memcpy.S (memcpy): Likewise.
	* sysdeps/s390/s390-64/memset.S (memset): Likewise.
	* sysdeps/s390/s390-64/strcmp.S (strcmp): Likewise.
	* sysdeps/s390/s390-64/strcpy.S (strcpy): Likewise.
	* sysdeps/s390/s390-64/strncpy.S (strncpy): Likewise.
	* sysdeps/x86_64/memcpy.S (memcpy): Likewise.
	* sysdeps/x86_64/memset.S (memset): Likewise.
	* sysdeps/x86_64/strcat.S (strcat): Likewise.
	* sysdeps/x86_64/strchr.S (strchr): Likewise.
	* sysdeps/x86_64/strcmp.S (strcmp): Likewise.
	* sysdeps/x86_64/strcpy.S (strcpy): Likewise.
	* sysdeps/x86_64/strcspn.S (strcspn): Likewise.
	* sysdeps/x86_64/strlen.S (strlen): Likewise.
	* sysdeps/x86_64/strspn.S (strspn): Likewise.
	* string/string-inlines.c: Move...
	* sysdeps/generic/string-inlines.c: ...here.
	(__memcpy_g, __strchr_g): Remove.
	(__NO_INLINE__): Define before including <string.h>,
	undefine after.  Include bits/string.h and bits/string2.h.
	* sysdeps/i386/i486/string-inlines.c: New file.
	* sysdeps/i386/string-inlines.c: New file.
	* sysdeps/i386/i486/Versions: Remove.
	All GLIBC_2.1.1 symbols moved...
	* sysdeps/i386/Versions (libc): ...here.

2003-04-29  Ulrich Drepper  <drepper@redhat.com>
This commit is contained in:
Ulrich Drepper 2003-04-29 22:49:58 +00:00
parent e40468fa25
commit 85dd100310
146 changed files with 792 additions and 131 deletions

164
ChangeLog
View File

@ -1,3 +1,167 @@
2003-04-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/ftestexcept.c: Also check SSE status word.
* include/signal.h: Use libc_hidden_proto for sigaddset and sigdelset.
* signal/sigaddset.c: Add libc_hidden_def.
* signal/sigdelset.c: Likewise.
2003-04-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/i386/i486/string-inlines.c (__memcpy_g, __strchr_g): Move
to the end of the file.
* configure.in: Change __oline__ to $LINENO.
(HAVE_BUILTIN_REDIRECTION): New check.
* config.h.in (HAVE_BUILTIN_REDIRECTION): Add.
* include/libc-symbols.h (libc_hidden_builtin_proto,
libc_hidden_builtin_def, libc_hidden_builtin_weak,
libc_hidden_builtin_ver): Define.
* include/string.h (memchr, memcpy, memmove, memset, strcat, strchr,
strcmp, strcpy, strcspn, strlen, strncmp, strncpy, strpbrk, strrchr,
strspn, strstr): Add libc_hidden_builtin_proto.
* intl/plural.y: Include string.h.
* sysdeps/alpha/alphaev6/memchr.S (memchr): Add
libc_hidden_builtin_def.
* sysdeps/alpha/alphaev6/memcpy.S (memcpy): Likewise.
* sysdeps/alpha/alphaev6/memset.S (memset): Likewise.
* sysdeps/alpha/alphaev67/strcat.S (strcat): Likewise.
* sysdeps/alpha/alphaev67/strchr.S (strchr): Likewise.
* sysdeps/alpha/alphaev67/strlen.S (strlen): Likewise.
* sysdeps/alpha/alphaev67/strrchr.S (strrchr): Likewise.
* sysdeps/alpha/memchr.S (memchr): Likewise.
* sysdeps/alpha/memset.S (memset): Likewise.
* sysdeps/alpha/strcat.S (strcat): Likewise.
* sysdeps/alpha/strchr.S (strchr): Likewise.
* sysdeps/alpha/strcmp.S (strcmp): Likewise.
* sysdeps/alpha/strcpy.S (strcpy): Likewise.
* sysdeps/alpha/strlen.S (strlen): Likewise.
* sysdeps/alpha/strncmp.S (strncmp): Likewise.
* sysdeps/alpha/strncpy.S (strncpy): Likewise.
* sysdeps/alpha/strrchr.S (strrchr): Likewise.
* sysdeps/arm/memset.S (memset): Likewise.
* sysdeps/arm/strlen.S (strlen): Likewise.
* sysdeps/generic/memchr.c (memchr): Likewise.
* sysdeps/generic/memcpy.c (memcpy): Likewise.
* sysdeps/generic/memmove.c (memmove): Likewise.
* sysdeps/generic/memset.c (memset): Likewise.
* sysdeps/generic/strcat.c (strcat): Likewise.
* sysdeps/generic/strchr.c (strchr): Likewise.
* sysdeps/generic/strcmp.c (strcmp): Likewise.
* sysdeps/generic/strcpy.c (strcpy): Likewise.
* sysdeps/generic/strcspn.c (strcspn): Likewise.
* sysdeps/generic/strlen.c (strlen): Likewise.
* sysdeps/generic/strncmp.c (strncmp): Likewise.
* sysdeps/generic/strncpy.c (strncpy): Likewise.
* sysdeps/generic/strpbrk.c (strpbrk): Likewise.
* sysdeps/generic/strrchr.c (strrchr): Likewise.
* sysdeps/generic/strspn.c (strspn): Likewise.
* sysdeps/generic/strstr.c (strstr): Likewise.
* sysdeps/i386/i486/strcat.S (strcat): Likewise.
* sysdeps/i386/i486/strlen.S (strlen): Likewise.
* sysdeps/i386/i586/memcpy.S (memcpy): Likewise.
* sysdeps/i386/i586/memset.S (memset): Likewise.
* sysdeps/i386/i586/strchr.S (strchr): Likewise.
* sysdeps/i386/i586/strcpy.S (strcpy): Likewise.
* sysdeps/i386/i586/strlen.S (strlen): Likewise.
* sysdeps/i386/i686/memcpy.S (memcpy): Likewise.
* sysdeps/i386/i686/memmove.S (memmove): Likewise.
* sysdeps/i386/i686/memset.S (memset): Likewise.
* sysdeps/i386/i686/strcmp.S (strcmp): Likewise.
* sysdeps/i386/memchr.S (memchr): Likewise.
* sysdeps/i386/memset.c (memset): Likewise.
* sysdeps/i386/strchr.S (strchr): Likewise.
* sysdeps/i386/strcspn.S (strcspn): Likewise.
* sysdeps/i386/strlen.c (strlen): Likewise.
* sysdeps/i386/strpbrk.S (strpbrk): Likewise.
* sysdeps/i386/strrchr.S (strrchr): Likewise.
* sysdeps/i386/strspn.S (strspn): Likewise.
* sysdeps/ia64/memchr.S (memchr): Likewise.
* sysdeps/ia64/memcpy.S (memcpy): Likewise.
* sysdeps/ia64/memmove.S (memmove): Likewise.
* sysdeps/ia64/memset.S (memset): Likewise.
* sysdeps/ia64/strcat.S (strcat): Likewise.
* sysdeps/ia64/strchr.S (strchr): Likewise.
* sysdeps/ia64/strcmp.S (strcmp): Likewise.
* sysdeps/ia64/strcpy.S (strcpy): Likewise.
* sysdeps/ia64/strlen.S (strlen): Likewise.
* sysdeps/ia64/strncmp.S (strncmp): Likewise.
* sysdeps/ia64/strncpy.S (strncpy): Likewise.
* sysdeps/m68k/memchr.S (memchr): Likewise.
* sysdeps/m68k/strchr.S (strchr): Likewise.
* sysdeps/mips/mips64/memcpy.S (memcpy): Likewise.
* sysdeps/mips/mips64/memset.S (memset): Likewise.
* sysdeps/mips/memcpy.S (memcpy): Likewise.
* sysdeps/mips/memset.S (memset): Likewise.
* sysdeps/powerpc/powerpc32/memset.S (memset): Likewise.
* sysdeps/powerpc/powerpc32/strchr.S (strchr): Likewise.
* sysdeps/powerpc/powerpc32/strcmp.S (strcmp): Likewise.
* sysdeps/powerpc/powerpc32/strcpy.S (strcpy): Likewise.
* sysdeps/powerpc/powerpc32/strlen.S (strlen): Likewise.
* sysdeps/powerpc/powerpc64/memcpy.S (memcpy): Likewise.
* sysdeps/powerpc/powerpc64/memset.S (memset): Likewise.
* sysdeps/powerpc/powerpc64/strchr.S (strchr): Likewise.
* sysdeps/powerpc/powerpc64/strcmp.S (strcmp): Likewise.
* sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Likewise.
* sysdeps/powerpc/powerpc64/strlen.S (strlen): Likewise.
* sysdeps/powerpc/strcat.c (strcat): Likewise.
* sysdeps/sparc/sparc32/memchr.S (memchr): Likewise.
* sysdeps/sparc/sparc32/memcpy.S (memcpy): Likewise.
* sysdeps/sparc/sparc32/memset.S (memset): Likewise.
* sysdeps/sparc/sparc32/strcat.S (strcat): Likewise.
* sysdeps/sparc/sparc32/strchr.S (strchr, strrchr): Likewise.
* sysdeps/sparc/sparc32/strcmp.S (strcmp): Likewise.
* sysdeps/sparc/sparc32/strcpy.S (strcpy): Likewise.
* sysdeps/sparc/sparc32/strlen.S (strlen): Likewise.
* sysdeps/sparc/sparc64/sparcv9b/memcpy.S (memcpy, memmove): Likewise.
* sysdeps/sparc/sparc64/memchr.S (memchr): Likewise.
* sysdeps/sparc/sparc64/memcpy.S (memcpy, memmove): Likewise.
* sysdeps/sparc/sparc64/memset.S (memset): Likewise.
* sysdeps/sparc/sparc64/strcat.S (strcat): Likewise.
* sysdeps/sparc/sparc64/strchr.S (strchr, strrchr): Likewise.
* sysdeps/sparc/sparc64/strcmp.S (strcmp): Likewise.
* sysdeps/sparc/sparc64/strcpy.S (strcpy): Likewise.
* sysdeps/sparc/sparc64/strcspn.S (strcspn): Likewise.
* sysdeps/sparc/sparc64/strlen.S (strlen): Likewise.
* sysdeps/sparc/sparc64/strncmp.S (strncmp): Likewise.
* sysdeps/sparc/sparc64/strncpy.S (strncpy): Likewise.
* sysdeps/sparc/sparc64/strpbrk.S (strpbrk): Likewise.
* sysdeps/sparc/sparc64/strspn.S (strspn): Likewise.
* sysdeps/sh/memcpy.S (memcpy): Likewise.
* sysdeps/sh/memset.S (memset): Likewise.
* sysdeps/sh/strlen.S (strlen): Likewise.
* sysdeps/s390/s390-32/memchr.S (memchr): Likewise.
* sysdeps/s390/s390-32/memcpy.S (memcpy): Likewise.
* sysdeps/s390/s390-32/memset.S (memset): Likewise.
* sysdeps/s390/s390-32/strcmp.S (strcmp): Likewise.
* sysdeps/s390/s390-32/strcpy.S (strcpy): Likewise.
* sysdeps/s390/s390-32/strncpy.S (strncpy): Likewise.
* sysdeps/s390/s390-64/memchr.S (memchr): Likewise.
* sysdeps/s390/s390-64/memcpy.S (memcpy): Likewise.
* sysdeps/s390/s390-64/memset.S (memset): Likewise.
* sysdeps/s390/s390-64/strcmp.S (strcmp): Likewise.
* sysdeps/s390/s390-64/strcpy.S (strcpy): Likewise.
* sysdeps/s390/s390-64/strncpy.S (strncpy): Likewise.
* sysdeps/x86_64/memcpy.S (memcpy): Likewise.
* sysdeps/x86_64/memset.S (memset): Likewise.
* sysdeps/x86_64/strcat.S (strcat): Likewise.
* sysdeps/x86_64/strchr.S (strchr): Likewise.
* sysdeps/x86_64/strcmp.S (strcmp): Likewise.
* sysdeps/x86_64/strcpy.S (strcpy): Likewise.
* sysdeps/x86_64/strcspn.S (strcspn): Likewise.
* sysdeps/x86_64/strlen.S (strlen): Likewise.
* sysdeps/x86_64/strspn.S (strspn): Likewise.
* string/string-inlines.c: Move...
* sysdeps/generic/string-inlines.c: ...here.
(__memcpy_g, __strchr_g): Remove.
(__NO_INLINE__): Define before including <string.h>,
undefine after. Include bits/string.h and bits/string2.h.
* sysdeps/i386/i486/string-inlines.c: New file.
* sysdeps/i386/string-inlines.c: New file.
* sysdeps/i386/i486/Versions: Remove.
All GLIBC_2.1.1 symbols moved...
* sysdeps/i386/Versions (libc): ...here.
2003-04-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/fpu/Makefile: New file.

View File

@ -98,6 +98,10 @@
/* Define if the compiler supports __builtin_memset. */
#undef HAVE_BUILTIN_MEMSET
/* Define if __asm () on built-in function's prototype causes redirection of
the builtin. */
#undef HAVE_BUILTIN_REDIRECTION
/* Define if the __thread keyword is supported. */
#undef HAVE___THREAD

42
configure vendored
View File

@ -5534,7 +5534,7 @@ if test "${libc_cv_asm_underscores+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat > conftest.$ac_ext <<EOF
#line 5537 "configure"
#line $LINENO "configure"
#include "confdefs.h"
void underscore_test(void) {
return; }
@ -5860,7 +5860,7 @@ if test "${libc_cv_gcc_dwarf2_unwind_info+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat > conftest.c <<EOF
#line 5863 "configure"
#line $LINENO "configure"
static char *__EH_FRAME_BEGIN__;
_start ()
{
@ -5956,7 +5956,7 @@ if test "${libc_cv_gcc_builtin_expect+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat > conftest.c <<EOF
#line 5959 "configure"
#line $LINENO "configure"
int foo (int a)
{
a = __builtin_expect (a, 10);
@ -6018,13 +6018,47 @@ _ACEOF
fi
echo "$as_me:$LINENO: checking for redirection of built-in functions" >&5
echo $ECHO_N "checking for redirection of built-in functions... $ECHO_C" >&6
if test "${libc_cv_gcc_builtin_redirection+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat > conftest.c <<\EOF
extern char *strstr (const char *, const char *) __asm ("my_strstr");
char *foo (const char *a, const char *b)
{
return __builtin_strstr (a, b);
}
EOF
if { ac_try='${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; };
then
libc_cv_gcc_builtin_redirection=yes
else
libc_cv_gcc_builtin_redirection=no
fi
rm -f conftest*
fi
echo "$as_me:$LINENO: result: $libc_cv_gcc_builtin_redirection" >&5
echo "${ECHO_T}$libc_cv_gcc_builtin_redirection" >&6
if test "$libc_cv_gcc_builtin_redirection" = yes ; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_BUILTIN_REDIRECTION 1
_ACEOF
fi
echo "$as_me:$LINENO: checking for local label subtraction" >&5
echo $ECHO_N "checking for local label subtraction... $ECHO_C" >&6
if test "${libc_cv_gcc_subtract_local_labels+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat > conftest.c <<EOF
#line 6027 "configure"
#line $LINENO "configure"
int foo (int a)
{
static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };

View File

@ -1384,8 +1384,8 @@ dnl AC_CHECK_ASM_UNDERSCORE([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
AC_DEFUN(AC_CHECK_ASM_UNDERSCORE,
[cat > conftest.$ac_ext <<EOF
dnl This sometimes fails to find confdefs.h, for some reason.
dnl [#]line __oline__ "[$]0"
[#]line __oline__ "configure"
dnl [#]line $LINENO "[$]0"
[#]line $LINENO "configure"
#include "confdefs.h"
void underscore_test(void) {
return; }
@ -1587,7 +1587,7 @@ fi
AC_CACHE_CHECK(for DWARF2 unwind info support, libc_cv_gcc_dwarf2_unwind_info,
[cat > conftest.c <<EOF
#line __oline__ "configure"
#line $LINENO "configure"
static char *__EH_FRAME_BEGIN__;
_start ()
{
@ -1653,7 +1653,7 @@ esac
dnl Check whether compiler understands __builtin_expect.
AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
[cat > conftest.c <<EOF
#line __oline__ "configure"
#line $LINENO "configure"
int foo (int a)
{
a = __builtin_expect (a, 10);
@ -1691,11 +1691,31 @@ if test "$libc_cv_gcc_builtin_memset" = yes ; then
AC_DEFINE(HAVE_BUILTIN_MEMSET)
fi
AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl
cat > conftest.c <<\EOF
extern char *strstr (const char *, const char *) __asm ("my_strstr");
char *foo (const char *a, const char *b)
{
return __builtin_strstr (a, b);
}
EOF
dnl
if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | fgrep "my_strstr" > /dev/null]);
then
libc_cv_gcc_builtin_redirection=yes
else
libc_cv_gcc_builtin_redirection=no
fi
rm -f conftest* ])
if test "$libc_cv_gcc_builtin_redirection" = yes ; then
AC_DEFINE(HAVE_BUILTIN_REDIRECTION)
fi
dnl Check whether the compiler supports subtraction of local labels.
AC_CACHE_CHECK(for local label subtraction, libc_cv_gcc_subtract_local_labels,
[cat > conftest.c <<EOF
changequote(,)dnl
#line __oline__ "configure"
#line $LINENO "configure"
int foo (int a)
{
static const int ar[] = { &&l1 - &&l1, &&l2 - &&l1 };

View File

@ -720,4 +720,16 @@
# define libm_hidden_data_ver(local, name)
#endif
#ifdef HAVE_BUILTIN_REDIRECTION
# define libc_hidden_builtin_proto(name, attrs...) libc_hidden_proto (name, ##attrs)
# define libc_hidden_builtin_def(name) libc_hidden_def (name)
# define libc_hidden_builtin_weak(name) libc_hidden_weak (name)
# define libc_hidden_builtin_ver(local, name) libc_hidden_ver (local, name)
#else
# define libc_hidden_builtin_proto(name, attrs...)
# define libc_hidden_builtin_def(name)
# define libc_hidden_builtin_weak(name)
# define libc_hidden_builtin_ver(local, name)
#endif
#endif /* libc-symbols.h */

View File

@ -6,6 +6,8 @@
libc_hidden_proto (sigemptyset)
libc_hidden_proto (sigfillset)
libc_hidden_proto (sigaddset)
libc_hidden_proto (sigdelset)
libc_hidden_proto (sigismember)
libc_hidden_proto (__sigpause)
libc_hidden_proto (raise)

View File

@ -79,6 +79,23 @@ libc_hidden_proto (__strverscmp)
libc_hidden_proto (basename)
libc_hidden_proto (strcoll)
libc_hidden_builtin_proto (memchr)
libc_hidden_builtin_proto (memcpy)
libc_hidden_builtin_proto (memmove)
libc_hidden_builtin_proto (memset)
libc_hidden_builtin_proto (strcat)
libc_hidden_builtin_proto (strchr)
libc_hidden_builtin_proto (strcmp)
libc_hidden_builtin_proto (strcpy)
libc_hidden_builtin_proto (strcspn)
libc_hidden_builtin_proto (strlen)
libc_hidden_builtin_proto (strncmp)
libc_hidden_builtin_proto (strncpy)
libc_hidden_builtin_proto (strpbrk)
libc_hidden_builtin_proto (strrchr)
libc_hidden_builtin_proto (strspn)
libc_hidden_builtin_proto (strstr)
# ifndef _ISOMAC
# ifndef index
# define index(s, c) (strchr ((s), (c)))

View File

@ -51,6 +51,7 @@
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "plural-exp.h"
/* The main function generated by the parser is called __gettextparse,

View File

@ -32,6 +32,7 @@
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "plural-exp.h"
/* The main function generated by the parser is called __gettextparse,

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1996, 2003 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
@ -32,3 +32,4 @@ sigaddset (set, signo)
return __sigaddset (set, signo);
}
libc_hidden_def (sigaddset)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1996, 2003 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
@ -32,3 +32,4 @@ sigdelset (set, signo)
return __sigdelset (set, signo);
}
libc_hidden_def (sigdelset)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Mosberger (davidm@cs.arizona.edu).
EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
@ -190,3 +190,4 @@ weak_alias (__memchr, memchr)
#if !__BOUNDED_POINTERS__
weak_alias (__memchr, __ubp_memchr)
#endif
libc_hidden_builtin_def (memchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
@ -252,3 +252,4 @@ $nomoredata:
nop # E :
END(memcpy)
libc_hidden_builtin_def (memcpy)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu)
EV6 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
This file is part of the GNU C Library.
@ -221,3 +221,4 @@ $end:
ret $31,($26),1 # L0 :
END(memset)
libc_hidden_builtin_def (memset)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@tamu.edu>, 1996.
EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
This file is part of the GNU C Library.
@ -59,3 +59,4 @@ $found: cttz $2, $3 # U0 :
jmp $31, __stxcpy # L0 :
END(strcat)
libc_hidden_builtin_def (strcat)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@tamu.edu>, 1996.
EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
This file is part of the GNU C Library.
@ -98,3 +98,4 @@ $found:
END(strchr)
weak_alias (strchr, index)
libc_hidden_builtin_def (strchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
Contributed by David Mosberger (davidm@cs.arizona.edu).
EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
This file is part of the GNU C Library.
@ -58,3 +58,4 @@ $found:
ret $31, ($26) # L0 :
END(strlen)
libc_hidden_builtin_def (strlen)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2000 Free Software Foundation, Inc.
/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
EV67 optimized by Rick Gorton <rick.gorton@alpha-processor.com>.
This file is part of the GNU C Library.
@ -114,3 +114,4 @@ $eos:
END(strrchr)
weak_alias (strrchr, rindex)
libc_hidden_builtin_def (strrchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 2000 Free Software Foundation, Inc.
/* Copyright (C) 1996, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Mosberger (davidm@cs.arizona.edu).
@ -173,3 +173,4 @@ weak_alias (__memchr, memchr)
#if !__BOUNDED_POINTERS__
weak_alias (__memchr, __ubp_memchr)
#endif
libc_hidden_builtin_def (memchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu)
This file is part of the GNU C Library.
@ -134,3 +134,4 @@ $oneq:
$done: ret
END(memset)
libc_hidden_builtin_def (memset)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
/* Copyright (C) 1996, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@tamu.edu>, 1996.
@ -69,3 +69,4 @@ $found: negq t1, t2 # clear all but least set bit
jmp $31, __stxcpy
END(strcat)
libc_hidden_builtin_def (strcat)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
/* Copyright (C) 1996, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@tamu.edu)
@ -92,3 +92,4 @@ $retnull:
END(strchr)
weak_alias (strchr, index)
libc_hidden_builtin_def (strchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu)
This file is part of the GNU C Library.
@ -192,3 +192,4 @@ $done:
ret # e1 :
END(strcmp)
libc_hidden_builtin_def (strcmp)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
/* Copyright (C) 1996, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@tamu.edu>, 1996.
@ -39,3 +39,4 @@ ENTRY(strcpy)
jmp $31, __stxcpy # do the copy
END(strcpy)
libc_hidden_builtin_def (strcpy)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
Contributed by David Mosberger (davidm@cs.arizona.edu).
This file is part of the GNU C Library.
@ -74,3 +74,4 @@ $found: negq t1, t2 # clear all but least set bit
ret
END(strlen)
libc_hidden_builtin_def (strlen)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu)
This file is part of the GNU C Library.
@ -221,3 +221,4 @@ $zerolength:
ret
END(strncmp)
libc_hidden_builtin_def (strncmp)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 2003 Free Software Foundation, Inc.
Contributed by Richard Henderson (rth@tamu.edu)
This file is part of the GNU C Library.
@ -85,3 +85,4 @@ $zerocount:
ret # .. e1 :
END(strncpy)
libc_hidden_builtin_def (strncpy)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 2003 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
@ -108,3 +108,4 @@ $retnull:
END(strrchr)
weak_alias (strrchr, rindex)
libc_hidden_builtin_def (strrchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1998 Free Software Foundation, Inc.
/* Copyright (C) 1998, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Philip Blundell <philb@gnu.org>
@ -65,3 +65,4 @@ ENTRY(memset)
strb a2, [a4], $1
RETINSTR(mov,pc,lr)
END(memset)
libc_hidden_builtin_def (memset)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1998 Free Software Foundation, Inc.
/* Copyright (C) 1998, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Code contributed by Matthew Wilcox <willy@odie.barnet.ac.uk>
@ -61,3 +61,4 @@ Llastword: @ drop through to here once we find a
addne r0, r0, $1 @ must be zero)
RETINSTR(mov,pc,lr)
END(strlen)
libc_hidden_builtin_def (strlen)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991,93,96,97,99,2000 Free Software Foundation, Inc.
/* Copyright (C) 1991,93,96,97,99,2000,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
with help from Dan Sahlin (dan@sics.se) and
@ -212,3 +212,4 @@ __memchr (s, c_in, n)
#ifdef weak_alias
weak_alias (__memchr, BP_SYM (memchr))
#endif
libc_hidden_builtin_def (memchr)

View File

@ -1,6 +1,6 @@
/* Copy memory to memory until the specified number of bytes
has been copied. Overlap is NOT handled correctly.
Copyright (C) 1991, 1997 Free Software Foundation, Inc.
Copyright (C) 1991, 1997, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Torbjorn Granlund (tege@sics.se).
@ -62,3 +62,4 @@ memcpy (dstpp, srcpp, len)
return dstpp;
}
libc_hidden_builtin_def (memcpy)

View File

@ -1,6 +1,6 @@
/* Copy memory to memory until the specified number of bytes
has been copied. Overlap is handled correctly.
Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1991, 1995, 1996, 1997, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Torbjorn Granlund (tege@sics.se).
@ -107,3 +107,6 @@ memmove (a1, a2, len)
RETURN (dest);
}
#ifndef memmove
libc_hidden_builtin_def (memmove)
#endif

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1997, 2003 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
@ -88,3 +88,4 @@ memset (dstpp, c, len)
return dstpp;
}
libc_hidden_builtin_def (memset)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1997, 2003 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
@ -49,3 +49,4 @@ strcat (dest, src)
return dest;
}
libc_hidden_builtin_def (strcat)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991,93,94,95,96,97,99,2000 Free Software Foundation, Inc.
/* Copyright (C) 1991,93,94,95,96,97,99,2000,03 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
with help from Dan Sahlin (dan@sics.se) and
@ -187,3 +187,4 @@ strchr (s, c_in)
#undef index
weak_alias (strchr, index)
#endif
libc_hidden_builtin_def (strchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1996, 1997, 2003 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
@ -44,3 +44,4 @@ strcmp (p1, p2)
return c1 - c2;
}
libc_hidden_builtin_def (strcmp)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1997, 2000 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1997, 2000, 2003 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
@ -47,3 +47,4 @@ strcpy (dest, src)
return dest;
}
libc_hidden_builtin_def (strcpy)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1994, 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1994, 1996, 1997, 2003 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
@ -48,3 +48,4 @@ strcspn (s, reject)
return count;
}
libc_hidden_builtin_def (strcspn)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1999, 2002 Free Software Foundation, Inc.
/* Copyright (C) 1999, 2002, 2003 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
@ -24,16 +24,12 @@
#define __USE_STRING_INLINES
#define _FORCE_INLINES
#define __STRING_INLINE /* empty */
/* This is to avoid PLT entries for the x86 version. */
#define __memcpy_g __memcpy_g_internal
#define __strchr_g __strchr_g_internal
#define __NO_INLINE__
#include <string.h>
#undef index
#undef rindex
#ifdef __memcpy_c
# undef __memcpy_g
strong_alias (__memcpy_g_internal, __memcpy_g)
# undef __strchr_g
strong_alias (__strchr_g_internal, __strchr_g)
#endif
#undef __NO_INLINE__
#include <bits/string.h>
#include <bits/string2.h>

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1993, 1997, 2000 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1993, 1997, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Torbjorn Granlund (tege@sics.se),
with help from Dan Sahlin (dan@sics.se);
@ -150,3 +150,4 @@ strlen (str)
}
}
}
libc_hidden_builtin_def (strlen)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1996, 1997, 2003 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
@ -70,3 +70,4 @@ strncmp (s1, s2, n)
return c1 - c2;
}
libc_hidden_builtin_def (strncmp)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1997, 2003 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
@ -84,3 +84,4 @@ strncpy (s1, s2, n)
return s;
}
libc_hidden_builtin_def (strncpy)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1994, 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1994, 1996, 1997, 2003 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
@ -43,3 +43,4 @@ strpbrk (s, accept)
return NULL;
}
libc_hidden_builtin_def (strpbrk)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1995, 1996, 1997, 2003 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
@ -47,3 +47,4 @@ strrchr (const char *s, int c)
#undef rindex
weak_alias (strrchr, rindex)
#endif
libc_hidden_builtin_def (strrchr)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1997, 2003 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
@ -44,3 +44,4 @@ strspn (s, accept)
return count;
}
libc_hidden_builtin_def (strspn)

View File

@ -1,5 +1,5 @@
/* Return the offset of one string within another.
Copyright (C) 1994, 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 1994,1996,1997,2000,2001,2003 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
@ -120,3 +120,4 @@ foundneedle:
ret0:
return 0;
}
libc_hidden_builtin_def (strstr)

View File

@ -9,7 +9,14 @@ libc {
}
GLIBC_2.1.1 {
# extern inline functions used by <bits/string.h>
__memcpy_c; __memset_cc; __memset_cg; __memset_gg; __strchr_c; __strchr_g;
__strchrnul_c; __strchrnul_g;
__memcpy_c; __memset_cc; __memset_cg; __memset_gg;
__memcpy_by2; __memcpy_by4; __memcpy_g; __mempcpy_by2; __mempcpy_by4;
__mempcpy_byn; __memset_ccn_by2; __memset_ccn_by4; __memset_gcn_by2;
__memset_gcn_by4; __stpcpy_g; __strcat_c; __strcat_g; __strchr_c;
__strchr_g; __strchrnul_c; __strchrnul_g; __strcmp_gg; __strcpy_g;
__strcspn_c1; __strcspn_cg; __strcspn_g; __strlen_g; __strncat_g;
__strncmp_g; __strncpy_by2; __strncpy_by4; __strncpy_byn; __strncpy_gg;
__strpbrk_cg; __strpbrk_g; __strrchr_c; __strrchr_g; __strspn_c1;
__strspn_cg; __strspn_g; __strstr_cg; __strstr_g;
}
}

View File

@ -43,8 +43,8 @@ fesetround (int round)
unsigned int xcw;
__asm__ ("stmxcsr %0" : "=m" (*&xcw));
cw &= ~0x6000;
cw |= round << 3;
xcw &= ~0x6000;
xcw |= round << 3;
__asm__ ("ldmxcsr %0" : : "m" (*&xcw));
}

View File

@ -1,5 +1,5 @@
/* Test exception in current environment.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -19,14 +19,22 @@
02111-1307 USA. */
#include <fenv.h>
#include <unistd.h>
#include <dl-procinfo.h>
#include <ldsodefs.h>
int
fetestexcept (int excepts)
{
int temp;
int xtemp = 0;
/* Get current exceptions. */
__asm__ ("fnstsw %0" : "=a" (temp));
return temp & excepts & FE_ALL_EXCEPT;
/* If the CPU supports SSE we test the MXCSR as well. */
if ((GL(dl_hwcap_mask) & HWCAP_I386_XMM) != 0)
__asm__ ("stmxcsr %0" : "=m" (*&xtemp));
return (temp | xtemp) & excepts & FE_ALL_EXCEPT;
}

View File

@ -1,6 +1,6 @@
/* strcat(dest, src) -- Append SRC on the end of DEST.
For Intel 80x86, x>=4.
Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1994,1995,1996,1997,2000,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>.
Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@ -267,3 +267,4 @@ L(8): /* GKM FIXME: check high bounds */
LEAVE
RET_PTR
END (BP_SYM (strcat))
libc_hidden_builtin_def (strcat)

View File

@ -0,0 +1,65 @@
/* Copyright (C) 1999, 2002, 2003 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, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* <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

View File

@ -1,6 +1,6 @@
/* strlen(str) -- determine the length of the string STR.
Optimized for Intel 80x86, x>=4.
Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 2000 Free Software Foundation, Inc.
Copyright (C) 1991-1997, 2000, 2003 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>.
This file is part of the GNU C Library.
@ -136,3 +136,4 @@ L(2): CHECK_BOUNDS_HIGH (%eax, STR(%esp), jb)
LEAVE
ret
END (BP_SYM (strlen))
libc_hidden_builtin_def (strlen)

View File

@ -1,5 +1,5 @@
/* Highly optimized version for i586.
Copyright (C) 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1997, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -116,3 +116,4 @@ L(1): rep; movsb
LEAVE
RET_PTR
END (BP_SYM (memcpy))
libc_hidden_builtin_def (memcpy)

View File

@ -1,6 +1,6 @@
/* memset/bzero -- set memory area to CH/0
Highly optimized version for ix86, x>=5.
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1996, 1997, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Torbjorn Granlund, <tege@matematik.su.se>
@ -114,3 +114,4 @@ L(2): shrl $2, %ecx /* convert byte count to longword count */
RET_PTR
#endif
END (BP_SYM (memset))
libc_hidden_builtin_def (memset)

View File

@ -1,6 +1,6 @@
/* Find character CH in a NUL terminated string.
Highly optimized version for ix85, x>=5.
Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1995, 1996, 1997, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
@ -339,3 +339,4 @@ END (BP_SYM (strchr))
#undef index
weak_alias (BP_SYM (strchr), BP_SYM (index))
libc_hidden_builtin_def (strchr)

View File

@ -1,5 +1,5 @@
/* strcpy/stpcpy implementation for i586.
Copyright (C) 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1997, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -159,3 +159,6 @@ L(end2):
LEAVE
RET_PTR
END (BP_SYM (STRCPY))
#ifndef USE_AS_STPCPY
libc_hidden_builtin_def (strcpy)
#endif

View File

@ -1,6 +1,6 @@
/* strlen -- Compute length of NUL terminated string.
Highly optimized version for ix86, x>=5.
Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1995,1996,1997,2000,2002,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
@ -186,3 +186,4 @@ L(2): CHECK_BOUNDS_HIGH (%eax, STR(%esp), jb)
LEAVE
ret
END (BP_SYM (strlen))
libc_hidden_builtin_def (strlen)

View File

@ -1,7 +1,7 @@
/* Copy memory block and return pointer to beginning of destination block
For Intel 80x86, x>=6.
This file is part of the GNU C Library.
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
The GNU C Library is free software; you can redistribute it and/or
@ -59,3 +59,4 @@ ENTRY (BP_SYM (memcpy))
LEAVE
RET_PTR
END (BP_SYM (memcpy))
libc_hidden_builtin_def (memcpy)

View File

@ -92,3 +92,4 @@ ENTRY (BP_SYM (memmove))
LEAVE
RET_PTR
END (BP_SYM (memmove))
libc_hidden_builtin_def (memmove)

View File

@ -1,6 +1,6 @@
/* memset/bzero -- set memory area to CH/0
Highly optimized version for ix86, x>=6.
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
@ -93,3 +93,4 @@ ENTRY (BP_SYM (memset))
RET_PTR
#endif
END (BP_SYM (memset))
libc_hidden_builtin_def (memset)

View File

@ -1,5 +1,5 @@
/* Highly optimized version for ix86, x>=6.
Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
@ -69,3 +69,4 @@ L(chk): CHECK_BOUNDS_HIGH (%ecx, STR1(%esp), jb)
LEAVE
ret
END (BP_SYM (strcmp))
libc_hidden_builtin_def (strcmp)

View File

@ -1,7 +1,7 @@
/* memchr (str, chr, len) -- Return pointer to first occurrence of CHR in STR less
than LEN.
For Intel 80x86, x>=3.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
Copyright (C) 1994-1998, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@ -330,3 +330,4 @@ weak_alias (BP_SYM (__memchr), BP_SYM (memchr))
#if !__BOUNDED_POINTERS__
weak_alias (__memchr, __ubp_memchr)
#endif
libc_hidden_builtin_def (memchr)

View File

@ -1,6 +1,6 @@
/* Set a block of memory to some byte value.
For Intel 80x86, x>=3.
Copyright (C) 1991, 1992, 1993, 1997, 1998 Free Software Foundation, Inc.
Copyright (C) 1991,1992,1993,1997,1998,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Torbjorn Granlund (tege@sics.se).
@ -79,6 +79,7 @@ memset (void *dstpp, int c, size_t len)
return dstpp;
}
libc_hidden_builtin_def (memset)
#else
#include <sysdeps/generic/memset.c>

View File

@ -1,6 +1,6 @@
/* strchr (str, ch) -- Return pointer to first occurrence of CH in STR.
For Intel 80x86, x>=3.
Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1994-1997,1999,2000,2002,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@ -289,3 +289,4 @@ L(6):
END (BP_SYM (strchr))
weak_alias (BP_SYM (strchr), BP_SYM (index))
libc_hidden_builtin_def (strchr)

View File

@ -1,7 +1,7 @@
/* strcspn (str, ss) -- Return the length of the initial segment of STR
which contains no characters from SS.
For Intel 80x86, x>=3.
Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1994,1995,1996,1997,2000,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@ -179,3 +179,4 @@ L(4): addl $256, %esp /* remove stopset */
LEAVE
ret
END (BP_SYM (strcspn))
libc_hidden_builtin_def (strcspn)

View File

@ -0,0 +1,189 @@
/* Copyright (C) 1999, 2002, 2003 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, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* <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__
#include <string.h>
#undef index
#undef rindex
#undef __NO_INLINE__
#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)
{
return memcpy (dest, src, 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)
{
return memset (s, c & 0xff, n);
}
strong_alias (__memset_ccn_by2, __memset_ccn_by4)
void *
__memset_gcn_by2 (void *s, int 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);
}

View File

@ -1,5 +1,5 @@
/* Determine the length of a string. For Intel 80x86, x>=3.
Copyright (C) 1991, 1992, 1993, 1996, 1997 Free Software Foundation, Inc.
Copyright (C) 1991,1992,1993,1996,1997,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Torbjorn Granlund (tege@sics.se).
@ -33,3 +33,4 @@ strlen (const char *str)
return -2 - cnt;
}
libc_hidden_builtin_def (strlen)

View File

@ -1,7 +1,7 @@
/* strcspn (str, ss) -- Return the length of the initial segement of STR
which contains no characters from SS.
For Intel 80x86, x>=3.
Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1994-1997, 2000, 2003 Free Software Foundation, Inc.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
This file is part of the GNU C Library.
@ -188,3 +188,4 @@ L(7): RETURN_BOUNDED_POINTER (STR(%esp))
LEAVE
RET_PTR
END (BP_SYM (strpbrk))
libc_hidden_builtin_def (strpbrk)

View File

@ -1,6 +1,6 @@
/* strrchr (str, ch) -- Return pointer to last occurrence of CH in STR.
For Intel 80x86, x>=3.
Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1994-1997, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@ -331,3 +331,4 @@ L(2): CHECK_BOUNDS_HIGH (%eax, STR(%esp), jb)
END (BP_SYM (strrchr))
weak_alias (BP_SYM (strrchr), BP_SYM (rindex))
libc_hidden_builtin_def (strrchr)

View File

@ -1,7 +1,7 @@
/* strcspn (str, ss) -- Return the length of the initial segment of STR
which contains only characters from SS.
For Intel 80x86, x>=3.
Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1994-1997, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@ -179,3 +179,4 @@ L(4): addl $256, %esp /* remove stopset */
LEAVE
ret
END (BP_SYM (strspn))
libc_hidden_builtin_def (strspn)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard memchr() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -130,3 +130,4 @@ weak_alias (__memchr, memchr)
#if !__BOUNDED_POINTERS__
weak_alias (__memchr, __ubp_memchr)
#endif
libc_hidden_builtin_def (memchr)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard memcpy() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop for Itanium <Dan.Pop@cern.ch>.
Rewritten for McKinley by Sverre Jarp, HP Labs/CERN <Sverre.Jarp@cern.ch>
@ -409,6 +409,7 @@ ENTRY(memcpy)
LOOP(48)
LOOP(56)
END(memcpy)
libc_hidden_builtin_def (memcpy)
.rodata
.align 8

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard memmove() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -239,3 +239,4 @@ ENTRY(memmove)
data8 .loop56 - .loop56
END(memmove)
libc_hidden_builtin_def (memmove)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard memset() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop for Itanium <Dan.Pop@cern.ch>.
Rewritten for McKinley by Sverre Jarp, HP Labs/CERN <Sverre.Jarp@cern.ch>
@ -389,4 +389,4 @@ ENTRY(memset)
br.ret.sptk.many rp
;; }
END(memset)
libc_hidden_builtin_def (memset)

View File

@ -1,6 +1,6 @@
/* IA-64 assembly version of the standard strcat() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -60,3 +60,4 @@ ENTRY(strcat)
mov ar.pfs = save_pfs
br.ret.sptk.many b0
END(strcat)
libc_hidden_builtin_def (strcat)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard strchr() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -109,3 +109,4 @@ ENTRY(strchr)
END(strchr)
weak_alias(strchr, index)
libc_hidden_builtin_def (strchr)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard strcmp() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -51,3 +51,4 @@ ENTRY(strcmp)
sub ret0 = val1, val2
br.ret.sptk.many b0
END(strcmp)
libc_hidden_builtin_def (strcmp)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard strcpy() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -142,3 +142,4 @@ ENTRY(strcpy)
ld8 r[MEMLAT] = [tmp]
br.cond.sptk .back3
END(strcpy)
libc_hidden_builtin_def (strcpy)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard strlen() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -95,3 +95,4 @@ l2: ld8.s val2 = [str], 8 // don't bomb out here
ld8 val2 = [str], 8 // bomb out here
br.cond.sptk .back
END(strlen)
libc_hidden_builtin_def (strlen)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard strncmp() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>.
The GNU C Library is free software; you can redistribute it and/or
@ -59,3 +59,4 @@ ENTRY(strncmp)
.restore_and_exit:
br.ret.sptk.many b0
END(strncmp)
libc_hidden_builtin_def (strncmp)

View File

@ -1,6 +1,6 @@
/* Optimized version of the standard strncpy() function.
This file is part of the GNU C Library.
Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Dan Pop <Dan.Pop@cern.ch>
and Jakub Jelinek <jakub@redhat.com>.
@ -229,3 +229,4 @@ ENTRY(strncpy)
(p5) mov r[MEMLAT - 1] = r0
br.cond.sptk .back4
END(strncpy)
libc_hidden_builtin_def (strncpy)

View File

@ -1,7 +1,7 @@
/* memchr (str, ch, n) -- Return pointer to first occurrence of CH in the
first N bytes of STR.
For Motorola 68000.
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Schwab <schwab@gnu.org>.
@ -229,3 +229,4 @@ weak_alias (__memchr, memchr)
#if !__BOUNDED_POINTERS__
weak_alias (__memchr, __ubp_memchr)
#endif
libc_hidden_builtin_def (memchr)

View File

@ -1,6 +1,6 @@
/* strchr (str, ch) -- Return pointer to first occurrence of CH in STR.
For Motorola 68000.
Copyright (C) 1999 Free Software Foundation, Inc.
Copyright (C) 1999, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Andreas Schwab <schwab@gnu.org>.
@ -255,3 +255,4 @@ L(L9:)
END(strchr)
weak_alias (strchr, index)
libc_hidden_builtin_def (strchr)

View File

@ -133,3 +133,4 @@ L(shfth):
.set reorder
END (memcpy)
libc_hidden_builtin_def (memcpy)

View File

@ -83,3 +83,4 @@ L(exit):
.set reorder
END (memset)
libc_hidden_builtin_def (memset)

View File

@ -137,3 +137,4 @@ L(shfth):
.set reorder
END (memcpy)
libc_hidden_builtin_def (memcpy)

View File

@ -89,3 +89,4 @@ L(exit):
.set reorder
END (memset)
libc_hidden_builtin_def (memset)

View File

@ -332,3 +332,4 @@ L(handletail32):
b L(nondcbz)
END (BP_SYM (memset))
libc_hidden_builtin_def (memset)

View File

@ -1,5 +1,5 @@
/* Optimized strchr implementation for PowerPC.
Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1997, 1999, 2000, 2003 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
@ -128,3 +128,4 @@ L(foundit):
END (BP_SYM (strchr))
weak_alias (BP_SYM (strchr), BP_SYM (index))
libc_hidden_builtin_def (strchr)

View File

@ -1,5 +1,5 @@
/* Optimized strcmp implementation for PowerPC.
Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1997, 1999, 2000, 2003 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
@ -124,3 +124,4 @@ L(u4): lbz rWORD1, -1(rSTR1)
/* GKM FIXME: check high bounds. */
blr
END (BP_SYM (strcmp))
libc_hidden_builtin_def (strcmp)

View File

@ -1,5 +1,5 @@
/* Optimized strcpy implementation for PowerPC.
Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1997, 1999, 2000, 2003 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
@ -118,3 +118,4 @@ L(u1): stb rALT, 1(rDEST)
blr
END (BP_SYM (strcpy))
libc_hidden_builtin_def (strcpy)

View File

@ -1,5 +1,5 @@
/* Optimized strlen implementation for PowerPC.
Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1997, 1999, 2000, 2003 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
@ -157,3 +157,4 @@ L(done0):
/* GKM FIXME: check high bound. */
blr
END (BP_SYM (strlen))
libc_hidden_builtin_def (strlen)

View File

@ -208,3 +208,4 @@ EALIGN (BP_SYM (memcpy), 5, 0)
std 0,8(4)
b .L8
END_GEN_TB (BP_SYM (memcpy),TB_TOCLESS)
libc_hidden_builtin_def (memcpy)

View File

@ -269,6 +269,7 @@ L(medium_28t):
std rCHR, -8(rMEMP)
blr
END_GEN_TB (BP_SYM (memset),TB_TOCLESS)
libc_hidden_builtin_def (memset)
/* Copied from bzero.S to prevent the linker from inserting a stub
between bzero and memset. */

View File

@ -138,3 +138,4 @@ L(foundit):
END (BP_SYM (strchr))
weak_alias (BP_SYM (strchr), BP_SYM (index))
libc_hidden_builtin_def (strchr)

View File

@ -144,3 +144,4 @@ L(u4): lbz rWORD1, -1(rSTR1)
/* GKM FIXME: check high bounds. */
blr
END (BP_SYM (strcmp))
libc_hidden_builtin_def (strcmp)

View File

@ -141,3 +141,4 @@ L(u1): stb rALT, 1(rDEST)
blr
END (BP_SYM (strcpy))
libc_hidden_builtin_def (strcpy)

View File

@ -171,3 +171,4 @@ L(done0):
/* GKM FIXME: check high bound. */
blr
END (BP_SYM (strlen))
libc_hidden_builtin_def (strlen)

View File

@ -1,5 +1,5 @@
/* strcat version that uses fast strcpy/strlen.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 2003 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
@ -28,3 +28,4 @@ strcat (char *dest, const char *src)
strcpy (dest + strlen (dest), src);
return dest;
}
libc_hidden_builtin_def (strcat)

Some files were not shown because too many files have changed in this diff Show More