about summary refs log tree commit diff
path: root/sysdeps/x86_64/strtok.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/x86_64/strtok.S')
-rw-r--r--sysdeps/x86_64/strtok.S10
1 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/x86_64/strtok.S b/sysdeps/x86_64/strtok.S
index 5d0cbef2e5..4037f0b850 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 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.
@@ -69,9 +69,9 @@ ENTRY (BP_SYM (FUNCTION))
 	movq %rdi, %r8			/* Save value.  */
 	subq $256, %rsp			/* Make space for 256 bytes.  */
 	cfi_adjust_cfa_offset(256)
-	movq $32,  %rcx			/* 32*8 bytes = 256 bytes.  */
+	movl $32,  %ecx			/* 32*8 bytes = 256 bytes.  */
 	movq %rsp, %rdi
-	xorq %rax, %rax			/* We store 0s.  */
+	xorl %eax, %eax			/* We store 0s.  */
 	cld
 	rep
 	stosq
@@ -204,7 +204,9 @@ L(epilogue):
 	retq
 
 L(returnNULL):
-	xorq %rax, %rax
+	xorl %eax, %eax
+	/* Store the pointer to the next character.  */
+	movq %rdx, SAVE_PTR
 	jmp L(epilogue)
 
 END (BP_SYM (FUNCTION))