aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/i686/strtok.S10
-rw-r--r--sysdeps/i386/strtok.S6
-rw-r--r--sysdeps/x86_64/strtok.S4
3 files changed, 15 insertions, 5 deletions
diff --git a/sysdeps/i386/i686/strtok.S b/sysdeps/i386/i686/strtok.S
index 0cd266a..fe225e5 100644
--- a/sysdeps/i386/i686/strtok.S
+++ b/sysdeps/i386/i686/strtok.S
@@ -1,6 +1,6 @@
/* strtok (str, delim) -- Return next DELIM separated token from STR.
For Intel 80686.
- Copyright (C) 1998, 2000, 2001, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2000, 2001, 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -250,9 +250,9 @@ L(8): cmpl %eax, %edx
cmovne %ecx, %edx
/* Store the pointer to the next character. */
-# ifdef USE_AS_STRTOK_R
+#ifdef USE_AS_STRTOK_R
movl SAVE(%esp), %ecx
-# endif
+#endif
movl %edx, SAVE_PTR
CHECK_BOUNDS_HIGH (%edx, SAVE_PTR, jb)
RETURN_BOUNDED_POINTER (SAVE_PTR)
@@ -271,6 +271,10 @@ L(epilogue):
L(returnNULL):
xorl %eax, %eax
+#ifdef USE_AS_STRTOK_R
+ movl SAVE(%esp), %ecx
+#endif
+ movl %edx, SAVE_PTR
RETURN_NULL_BOUNDED_POINTER
jmp L(epilogue)
diff --git a/sysdeps/i386/strtok.S b/sysdeps/i386/strtok.S
index 88b343b..c5f40a8 100644
--- a/sysdeps/i386/strtok.S
+++ b/sysdeps/i386/strtok.S
@@ -1,6 +1,6 @@
/* strtok (str, delim) -- Return next DELIM separated token from STR.
For Intel 80x86, x>=3.
- Copyright (C) 1996-1998, 2000, 2001, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1996-1998,2000,2001,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -385,6 +385,10 @@ L(epilogue):
L(returnNULL):
xorl %eax, %eax
+#ifdef USE_AS_STRTOK_R
+ movl SAVE(%esp), %ecx
+#endif
+ movl %edx, SAVE_PTR
RETURN_NULL_BOUNDED_POINTER
jmp L(epilogue)
diff --git a/sysdeps/x86_64/strtok.S b/sysdeps/x86_64/strtok.S
index de427dc..4037f0b 100644
--- a/sysdeps/x86_64/strtok.S
+++ b/sysdeps/x86_64/strtok.S
@@ -1,6 +1,6 @@
/* strtok (str, delim) -- Return next DELIM separated token from STR.
For AMD x86-64.
- Copyright (C) 1998,2000,2001,2002,2003,2005 Free Software Foundation, Inc.
+ Copyright (C) 1998,2000-2003,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Based on i686 version contributed by Ulrich Drepper
<drepper@cygnus.com>, 1998.
@@ -205,6 +205,8 @@ L(epilogue):
L(returnNULL):
xorl %eax, %eax
+ /* Store the pointer to the next character. */
+ movq %rdx, SAVE_PTR
jmp L(epilogue)
END (BP_SYM (FUNCTION))