summaryrefslogtreecommitdiff
path: root/sysdeps/i386/stpncpy.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/stpncpy.S')
-rw-r--r--sysdeps/i386/stpncpy.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/i386/stpncpy.S b/sysdeps/i386/stpncpy.S
index acde5e3d66..c163a33591 100644
--- a/sysdeps/i386/stpncpy.S
+++ b/sysdeps/i386/stpncpy.S
@@ -1,7 +1,7 @@
/* copy no more then N bytes from SRC to DEST, returning the address of
the terminating '\0' in DEST.
For Intel 80x86, x>=3.
- Copyright (C) 1994,1995,1996,1997,2000,2002 Free Software Foundation, Inc.
+ Copyright (C) 1994-1997,2000,2002,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
Some bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@@ -40,9 +40,11 @@ ENTRY (BP_SYM (__stpncpy))
ENTER
pushl %esi
+ cfi_adjust_cfa_offset (4)
movl DEST(%esp), %eax
movl SRC(%esp), %esi
+ cfi_rel_offset (esi, 0)
movl LEN(%esp), %ecx
CHECK_BOUNDS_LOW (%eax, DEST(%esp))
CHECK_BOUNDS_LOW (%esi, SRC(%esp))
@@ -148,6 +150,8 @@ L(9):
RETURN_BOUNDED_POINTER (DEST(%esp))
#endif
popl %esi /* restore saved register content */
+ cfi_adjust_cfa_offset (-4)
+ cfi_restore (esi)
LEAVE
RET_PTR