Cleanup swapoff.c and swapon.c
[kopensolaris-gnu/glibc.git] / sysdeps / i386 / stpncpy.S
index acde5e3..c163a33 100644 (file)
@@ -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