mirror of git://sourceware.org/git/glibc.git
Fix inline strncat/strncmp on x86
This commit is contained in:
parent
798be72d12
commit
8c1a459f9a
|
|
@ -1,3 +1,9 @@
|
||||||
|
2011-07-25 Andreas Schwab <schwab@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/i386/i486/bits/string.h (__strncat_g): Correctly handle
|
||||||
|
__n bigger than INT_MAX+1.
|
||||||
|
(__strncmp_g): Likewise.
|
||||||
|
|
||||||
2011-07-23 Ulrich Drepper <drepper@gmail.com>
|
2011-07-23 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
* posix/unistd.h: Define SEEK_DATA and SEEK_HOLE.
|
* posix/unistd.h: Define SEEK_DATA and SEEK_HOLE.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/* Optimized, inlined string functions. i486 version.
|
/* Optimized, inlined string functions. i486 version.
|
||||||
Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2007
|
Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2007,2011
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
|
@ -1058,8 +1058,8 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
|
||||||
"movl %4, %3\n\t"
|
"movl %4, %3\n\t"
|
||||||
"decl %1\n\t"
|
"decl %1\n\t"
|
||||||
"1:\n\t"
|
"1:\n\t"
|
||||||
"decl %3\n\t"
|
"subl $1,%3\n\t"
|
||||||
"js 2f\n\t"
|
"jc 2f\n\t"
|
||||||
"movb (%2),%b0\n\t"
|
"movb (%2),%b0\n\t"
|
||||||
"movsb\n\t"
|
"movsb\n\t"
|
||||||
"testb %b0,%b0\n\t"
|
"testb %b0,%b0\n\t"
|
||||||
|
|
@ -1078,8 +1078,8 @@ __strncat_g (char *__dest, __const char __src[], size_t __n)
|
||||||
"leal 1(%1),%1\n\t"
|
"leal 1(%1),%1\n\t"
|
||||||
"jne 1b\n"
|
"jne 1b\n"
|
||||||
"2:\n\t"
|
"2:\n\t"
|
||||||
"decl %3\n\t"
|
"subl $1,%3\n\t"
|
||||||
"js 3f\n\t"
|
"jc 3f\n\t"
|
||||||
"movb (%2),%b0\n\t"
|
"movb (%2),%b0\n\t"
|
||||||
"leal 1(%2),%2\n\t"
|
"leal 1(%2),%2\n\t"
|
||||||
"movb %b0,(%1)\n\t"
|
"movb %b0,(%1)\n\t"
|
||||||
|
|
@ -1219,8 +1219,8 @@ __strncmp_g (__const char *__s1, __const char *__s2, size_t __n)
|
||||||
register int __res;
|
register int __res;
|
||||||
__asm__ __volatile__
|
__asm__ __volatile__
|
||||||
("1:\n\t"
|
("1:\n\t"
|
||||||
"decl %3\n\t"
|
"subl $1,%3\n\t"
|
||||||
"js 2f\n\t"
|
"jc 2f\n\t"
|
||||||
"movb (%1),%b0\n\t"
|
"movb (%1),%b0\n\t"
|
||||||
"incl %1\n\t"
|
"incl %1\n\t"
|
||||||
"cmpb %b0,(%2)\n\t"
|
"cmpb %b0,(%2)\n\t"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/* strlen(str) -- determine the length of the string STR.
|
/* strlen(str) -- determine the length of the string STR.
|
||||||
Copyright (C) 2009, 2010 Free Software Foundation, Inc.
|
Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||||
Contributed by Ulrich Drepper <drepper@redhat.com>.
|
Contributed by Ulrich Drepper <drepper@redhat.com>.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue