summaryrefslogtreecommitdiff
path: root/sysdeps/i386/bits
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2003-09-05 10:03:19 +0000
committerAndreas Jaeger <aj@suse.de>2003-09-05 10:03:19 +0000
commitb7f75e247b5d1c8c3d6342191e03545763e66235 (patch)
tree96a59efbe89a8c46940fc526e7c077a1bc81ed0c /sysdeps/i386/bits
parent6ae3b383a5e2148f07f4c25486961b528645288f (diff)
Update.
* sysdeps/i386/bits/string.h (__memrchr): Do addition in assembler to make it conforming C. * sysdeps/i386/i486/bits/string.h (__memrchr): Likewise.
Diffstat (limited to 'sysdeps/i386/bits')
-rw-r--r--sysdeps/i386/bits/string.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/i386/bits/string.h b/sysdeps/i386/bits/string.h
index 79bd40b977..aa771fadae 100644
--- a/sysdeps/i386/bits/string.h
+++ b/sysdeps/i386/bits/string.h
@@ -1,5 +1,5 @@
/* Optimized, inlined string functions. i386 version.
- Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997,1998,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
@@ -321,11 +321,12 @@ __memrchr (__const void *__s, int __c, size_t __n)
"repne; scasb\n\t"
"je 1f\n\t"
"orl $-1,%0\n"
- "1:\tcld"
+ "1:\tcld\n\t"
+ "incl %0"
: "=D" (__res), "=&c" (__d0)
: "a" (__c), "0" (__s + __n - 1), "1" (__n)
: "cc");
- return __res + 1;
+ return __res;
}
# ifdef __USE_GNU
# define memrchr(s, c, n) __memrchr (s, c, n)