From 0ecb606cb6cf65de1d9fc8a919bceb4be476c602 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 12 Jul 2007 18:26:36 +0000 Subject: 2.5-18.1 --- sysdeps/i386/add_n.S | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'sysdeps/i386/add_n.S') diff --git a/sysdeps/i386/add_n.S b/sysdeps/i386/add_n.S index f43a4757b2..c7a5ce721b 100644 --- a/sysdeps/i386/add_n.S +++ b/sysdeps/i386/add_n.S @@ -1,6 +1,6 @@ /* Add two limb vectors of the same length > 0 and store sum in a third limb vector. - Copyright (C) 1992, 94, 95, 97, 98, 2000 Free Software Foundation, Inc. + Copyright (C) 1992,94,95,97,98,2000,2005 Free Software Foundation, Inc. This file is part of the GNU MP Library. The GNU MP Library is free software; you can redistribute it and/or modify @@ -34,10 +34,14 @@ ENTRY (BP_SYM (__mpn_add_n)) ENTER pushl %edi + cfi_adjust_cfa_offset (4) pushl %esi + cfi_adjust_cfa_offset (4) movl RES(%esp),%edi + cfi_rel_offset (edi, 4) movl S1(%esp),%esi + cfi_rel_offset (esi, 0) movl S2(%esp),%edx movl SIZE(%esp),%ecx #if __BOUNDED_POINTERS__ @@ -62,10 +66,12 @@ ENTRY (BP_SYM (__mpn_add_n)) /* Calculate start address in loop for PIC. Due to limitations in some assemblers, Loop-L0-3 cannot be put into the leal */ call L(0) + cfi_adjust_cfa_offset (4) L(0): leal (%eax,%eax,8),%eax addl (%esp),%eax addl $(L(oop)-L(0)-3),%eax addl $4,%esp + cfi_adjust_cfa_offset (-4) #else /* Calculate start address in loop for non-PIC. */ leal (L(oop) - 3)(%eax,%eax,8),%eax @@ -106,7 +112,11 @@ L(oop): movl (%esi),%eax negl %eax popl %esi + cfi_adjust_cfa_offset (-4) + cfi_restore (esi) popl %edi + cfi_adjust_cfa_offset (-4) + cfi_restore (edi) LEAVE ret -- cgit v1.2.3