* intl/Makefile (tst-gettext[45].out): Pass also $(run-program-prefix) cvs/fedora-glibc-20050504T1818
authorUlrich Drepper <drepper@redhat.com>
Wed, 4 May 2005 17:58:13 +0000 (17:58 +0000)
committerUlrich Drepper <drepper@redhat.com>
Wed, 4 May 2005 17:58:13 +0000 (17:58 +0000)
as argument to the scripts.
* intl/tst-gettext2.sh: Use mkdir -p instead of test -d + mkdir.
* intl/tst-gettext4.sh: Likewise.  Use run_program_prefix argument.
* intl/tst-gettext5.sh: Likewise.

* intl/tst-translit.sh: Add mkdir -p.

* sysdeps/unix/sysv/linux/i386/sysdep.h (SETUP_PIC_REG): Use
.ifndef/.endif to allow use of this macro more than once per .S
file.
(LOAD_PIC_REG): New macro.
* sysdeps/unix/sysv/linux/i386/makecontext.S: Add call frame
information.
* sysdeps/unix/sysv/linux/i386/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
* sysdeps/i386/fpu/s_asinh.S: Use LOAD_PIC_REG macro.  Add call frame
information.
* sysdeps/i386/fpu/e_log10f.S: Likewise.
* sysdeps/i386/fpu/s_expm1.S: Likewise.
* sysdeps/i386/fpu/e_acoshf.S: Likewise.
* sysdeps/i386/fpu/e_log2l.S: Likewise.
* sysdeps/i386/fpu/s_log1pf.S: Likewise.
* sysdeps/i386/fpu/s_lrint.S: Likewise.
* sysdeps/i386/fpu/s_llrint.S: Likewise.
* sysdeps/i386/fpu/s_ilogbf.S: Likewise.
* sysdeps/i386/fpu/s_cbrtl.S: Likewise.
* sysdeps/i386/fpu/s_asinhf.S: Likewise.
* sysdeps/i386/fpu/e_log.S: Likewise.
* sysdeps/i386/fpu/e_atanhf.S: Likewise.
* sysdeps/i386/fpu/s_lrintl.S: Likewise.
* sysdeps/i386/fpu/e_atanhl.S: Likewise.
* sysdeps/i386/fpu/e_scalb.S: Likewise.
* sysdeps/i386/fpu/s_log1p.S: Likewise.
* sysdeps/i386/fpu/s_nearbyintl.S: Likewise.
* sysdeps/i386/fpu/s_frexpl.S: Likewise.
* sysdeps/i386/fpu/s_log1pl.S: Likewise.
* sysdeps/i386/fpu/s_nearbyintf.S: Likewise.
* sysdeps/i386/fpu/s_cbrt.S: Likewise.
* sysdeps/i386/fpu/s_expm1l.S: Likewise.
* sysdeps/i386/fpu/s_lrintf.S: Likewise.
* sysdeps/i386/fpu/e_acosh.S: Likewise.
* sysdeps/i386/fpu/s_cexp.S: Likewise.
* sysdeps/i386/fpu/s_ilogbl.S: Likewise.
* sysdeps/i386/fpu/s_expm1f.S: Likewise.
* sysdeps/i386/fpu/e_powl.S: Likewise.
* sysdeps/i386/fpu/e_powf.S: Likewise.
* sysdeps/i386/fpu/e_scalbf.S: Likewise.
* sysdeps/i386/fpu/e_logl.S: Likewise.
* sysdeps/i386/fpu/e_acoshl.S: Likewise.
* sysdeps/i386/fpu/s_frexp.S: Likewise.
* sysdeps/i386/fpu/e_pow.S: Likewise.
* sysdeps/i386/fpu/e_logf.S: Likewise.
* sysdeps/i386/fpu/e_log2.S: Likewise.
* sysdeps/i386/fpu/s_frexpf.S: Likewise.
* sysdeps/i386/fpu/s_cexpl.S: Likewise.
* sysdeps/i386/fpu/s_llrintf.S: Likewise.
* sysdeps/i386/fpu/s_ilogb.S: Likewise.
* sysdeps/i386/fpu/e_scalbl.S: Likewise.
* sysdeps/i386/fpu/e_atanh.S: Likewise.
* sysdeps/i386/fpu/e_log10.S: Likewise.
* sysdeps/i386/fpu/s_cbrtf.S: Likewise.
* sysdeps/i386/fpu/s_cexpf.S: Likewise.
* sysdeps/i386/fpu/s_llrintl.S: Likewise.
* sysdeps/i386/fpu/e_log10l.S: Likewise.
* sysdeps/i386/fpu/s_nearbyint.S: Likewise.
* sysdeps/i386/fpu/s_asinhl.S: Likewise.
* sysdeps/i386/fpu/e_log2f.S: Likewise.
* sysdeps/i386/addmul_1.S: Various fixes to cfi handling.
* sysdeps/i386/mul_1.S: Likewise.
* sysdeps/i386/strtok.S: Likewise.
* sysdeps/i386/sub_n.S: Likewise.
* sysdeps/i386/submul_1.S: Likewise.
* sysdeps/i386/i586/addmul_1.S: Likewise.
* sysdeps/i386/i586/memcpy.S: Likewise.
* sysdeps/i386/i586/mul_1.S: Likewise.
* sysdeps/i386/i586/rshift.S: Likewise.
* sysdeps/i386/i586/sub_n.S: Likewise.
* sysdeps/i386/i586/submul_1.S: Likewise.
* sysdeps/i386/i686/memcmp.S: Likewise.
* sysdeps/i386/i686/memmove.S: Likewise.
* sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
* sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
* sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
* sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise.

78 files changed:
ChangeLog
intl/Makefile
intl/tst-gettext2.sh
intl/tst-gettext4.sh
intl/tst-gettext5.sh
intl/tst-translit.sh
sysdeps/i386/addmul_1.S
sysdeps/i386/fpu/e_acosh.S
sysdeps/i386/fpu/e_acoshf.S
sysdeps/i386/fpu/e_acoshl.S
sysdeps/i386/fpu/e_atanh.S
sysdeps/i386/fpu/e_atanhf.S
sysdeps/i386/fpu/e_atanhl.S
sysdeps/i386/fpu/e_log.S
sysdeps/i386/fpu/e_log10.S
sysdeps/i386/fpu/e_log10f.S
sysdeps/i386/fpu/e_log10l.S
sysdeps/i386/fpu/e_log2.S
sysdeps/i386/fpu/e_log2f.S
sysdeps/i386/fpu/e_log2l.S
sysdeps/i386/fpu/e_logf.S
sysdeps/i386/fpu/e_logl.S
sysdeps/i386/fpu/e_pow.S
sysdeps/i386/fpu/e_powf.S
sysdeps/i386/fpu/e_powl.S
sysdeps/i386/fpu/e_scalb.S
sysdeps/i386/fpu/e_scalbf.S
sysdeps/i386/fpu/e_scalbl.S
sysdeps/i386/fpu/s_asinh.S
sysdeps/i386/fpu/s_asinhf.S
sysdeps/i386/fpu/s_asinhl.S
sysdeps/i386/fpu/s_cbrt.S
sysdeps/i386/fpu/s_cbrtf.S
sysdeps/i386/fpu/s_cbrtl.S
sysdeps/i386/fpu/s_cexp.S
sysdeps/i386/fpu/s_cexpf.S
sysdeps/i386/fpu/s_cexpl.S
sysdeps/i386/fpu/s_expm1.S
sysdeps/i386/fpu/s_expm1f.S
sysdeps/i386/fpu/s_expm1l.S
sysdeps/i386/fpu/s_frexp.S
sysdeps/i386/fpu/s_frexpf.S
sysdeps/i386/fpu/s_frexpl.S
sysdeps/i386/fpu/s_ilogb.S
sysdeps/i386/fpu/s_ilogbf.S
sysdeps/i386/fpu/s_ilogbl.S
sysdeps/i386/fpu/s_llrint.S
sysdeps/i386/fpu/s_llrintf.S
sysdeps/i386/fpu/s_llrintl.S
sysdeps/i386/fpu/s_log1p.S
sysdeps/i386/fpu/s_log1pf.S
sysdeps/i386/fpu/s_log1pl.S
sysdeps/i386/fpu/s_lrint.S
sysdeps/i386/fpu/s_lrintf.S
sysdeps/i386/fpu/s_lrintl.S
sysdeps/i386/fpu/s_nearbyint.S
sysdeps/i386/fpu/s_nearbyintf.S
sysdeps/i386/fpu/s_nearbyintl.S
sysdeps/i386/i586/addmul_1.S
sysdeps/i386/i586/memcpy.S
sysdeps/i386/i586/mul_1.S
sysdeps/i386/i586/rshift.S
sysdeps/i386/i586/sub_n.S
sysdeps/i386/i586/submul_1.S
sysdeps/i386/i686/memcmp.S
sysdeps/i386/i686/memmove.S
sysdeps/i386/mul_1.S
sysdeps/i386/strtok.S
sysdeps/i386/sub_n.S
sysdeps/i386/submul_1.S
sysdeps/unix/sysv/linux/i386/clone.S
sysdeps/unix/sysv/linux/i386/getcontext.S
sysdeps/unix/sysv/linux/i386/makecontext.S
sysdeps/unix/sysv/linux/i386/mmap.S
sysdeps/unix/sysv/linux/i386/mmap64.S
sysdeps/unix/sysv/linux/i386/setcontext.S
sysdeps/unix/sysv/linux/i386/sysdep.h
sysdeps/unix/sysv/linux/i386/vfork.S

index fa61e11..6f3eacb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,91 @@
+2005-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * intl/Makefile (tst-gettext[45].out): Pass also $(run-program-prefix)
+       as argument to the scripts.
+       * intl/tst-gettext2.sh: Use mkdir -p instead of test -d + mkdir.
+       * intl/tst-gettext4.sh: Likewise.  Use run_program_prefix argument.
+       * intl/tst-gettext5.sh: Likewise.
+
+       * intl/tst-translit.sh: Add mkdir -p.
+
+       * sysdeps/unix/sysv/linux/i386/sysdep.h (SETUP_PIC_REG): Use
+       .ifndef/.endif to allow use of this macro more than once per .S
+       file.
+       (LOAD_PIC_REG): New macro.
+       * sysdeps/unix/sysv/linux/i386/makecontext.S: Add call frame
+       information.
+       * sysdeps/unix/sysv/linux/i386/getcontext.S: Likewise.
+       * sysdeps/unix/sysv/linux/i386/vfork.S: Likewise.
+       * sysdeps/i386/fpu/s_asinh.S: Use LOAD_PIC_REG macro.  Add call frame
+       information.
+       * sysdeps/i386/fpu/e_log10f.S: Likewise.
+       * sysdeps/i386/fpu/s_expm1.S: Likewise.
+       * sysdeps/i386/fpu/e_acoshf.S: Likewise.
+       * sysdeps/i386/fpu/e_log2l.S: Likewise.
+       * sysdeps/i386/fpu/s_log1pf.S: Likewise.
+       * sysdeps/i386/fpu/s_lrint.S: Likewise.
+       * sysdeps/i386/fpu/s_llrint.S: Likewise.
+       * sysdeps/i386/fpu/s_ilogbf.S: Likewise.
+       * sysdeps/i386/fpu/s_cbrtl.S: Likewise.
+       * sysdeps/i386/fpu/s_asinhf.S: Likewise.
+       * sysdeps/i386/fpu/e_log.S: Likewise.
+       * sysdeps/i386/fpu/e_atanhf.S: Likewise.
+       * sysdeps/i386/fpu/s_lrintl.S: Likewise.
+       * sysdeps/i386/fpu/e_atanhl.S: Likewise.
+       * sysdeps/i386/fpu/e_scalb.S: Likewise.
+       * sysdeps/i386/fpu/s_log1p.S: Likewise.
+       * sysdeps/i386/fpu/s_nearbyintl.S: Likewise.
+       * sysdeps/i386/fpu/s_frexpl.S: Likewise.
+       * sysdeps/i386/fpu/s_log1pl.S: Likewise.
+       * sysdeps/i386/fpu/s_nearbyintf.S: Likewise.
+       * sysdeps/i386/fpu/s_cbrt.S: Likewise.
+       * sysdeps/i386/fpu/s_expm1l.S: Likewise.
+       * sysdeps/i386/fpu/s_lrintf.S: Likewise.
+       * sysdeps/i386/fpu/e_acosh.S: Likewise.
+       * sysdeps/i386/fpu/s_cexp.S: Likewise.
+       * sysdeps/i386/fpu/s_ilogbl.S: Likewise.
+       * sysdeps/i386/fpu/s_expm1f.S: Likewise.
+       * sysdeps/i386/fpu/e_powl.S: Likewise.
+       * sysdeps/i386/fpu/e_powf.S: Likewise.
+       * sysdeps/i386/fpu/e_scalbf.S: Likewise.
+       * sysdeps/i386/fpu/e_logl.S: Likewise.
+       * sysdeps/i386/fpu/e_acoshl.S: Likewise.
+       * sysdeps/i386/fpu/s_frexp.S: Likewise.
+       * sysdeps/i386/fpu/e_pow.S: Likewise.
+       * sysdeps/i386/fpu/e_logf.S: Likewise.
+       * sysdeps/i386/fpu/e_log2.S: Likewise.
+       * sysdeps/i386/fpu/s_frexpf.S: Likewise.
+       * sysdeps/i386/fpu/s_cexpl.S: Likewise.
+       * sysdeps/i386/fpu/s_llrintf.S: Likewise.
+       * sysdeps/i386/fpu/s_ilogb.S: Likewise.
+       * sysdeps/i386/fpu/e_scalbl.S: Likewise.
+       * sysdeps/i386/fpu/e_atanh.S: Likewise.
+       * sysdeps/i386/fpu/e_log10.S: Likewise.
+       * sysdeps/i386/fpu/s_cbrtf.S: Likewise.
+       * sysdeps/i386/fpu/s_cexpf.S: Likewise.
+       * sysdeps/i386/fpu/s_llrintl.S: Likewise.
+       * sysdeps/i386/fpu/e_log10l.S: Likewise.
+       * sysdeps/i386/fpu/s_nearbyint.S: Likewise.
+       * sysdeps/i386/fpu/s_asinhl.S: Likewise.
+       * sysdeps/i386/fpu/e_log2f.S: Likewise.
+       * sysdeps/i386/addmul_1.S: Various fixes to cfi handling.
+       * sysdeps/i386/mul_1.S: Likewise.
+       * sysdeps/i386/strtok.S: Likewise.
+       * sysdeps/i386/sub_n.S: Likewise.
+       * sysdeps/i386/submul_1.S: Likewise.
+       * sysdeps/i386/i586/addmul_1.S: Likewise.
+       * sysdeps/i386/i586/memcpy.S: Likewise.
+       * sysdeps/i386/i586/mul_1.S: Likewise.
+       * sysdeps/i386/i586/rshift.S: Likewise.
+       * sysdeps/i386/i586/sub_n.S: Likewise.
+       * sysdeps/i386/i586/submul_1.S: Likewise.
+       * sysdeps/i386/i686/memcmp.S: Likewise.
+       * sysdeps/i386/i686/memmove.S: Likewise.
+       * sysdeps/unix/sysv/linux/i386/clone.S: Likewise.
+       * sysdeps/unix/sysv/linux/i386/mmap.S: Likewise.
+       * sysdeps/unix/sysv/linux/i386/mmap64.S: Likewise.
+       * sysdeps/unix/sysv/linux/i386/setcontext.S: Likewise.
+
 2005-05-03  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/i386/add_n.S: Add call frame information.
index 1985397..9da445a 100644 (file)
@@ -87,9 +87,9 @@ $(objpfx)tst-codeset.out: tst-codeset.sh $(objpfx)tst-codeset
 $(objpfx)tst-gettext3.out: tst-gettext3.sh $(objpfx)tst-gettext3
        $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
 $(objpfx)tst-gettext4.out: tst-gettext4.sh $(objpfx)tst-gettext4
-       $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
+       $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
 $(objpfx)tst-gettext5.out: tst-gettext5.sh $(objpfx)tst-gettext5
-       $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
+       $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
 endif
 endif
 
index 53f081a..68157f8 100644 (file)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test of gettext functions.
-# Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2003, 2005 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 #
 
@@ -26,7 +26,7 @@ LC_ALL=C
 export LC_ALL
 
 # Generate the test data.
-test -d ${objpfx}domaindir || mkdir ${objpfx}domaindir
+mkdir -p ${objpfx}domaindir
 # Create the locale directories.
 test -d ${objpfx}domaindir/lang1 || {
   mkdir ${objpfx}domaindir/lang1
index 8acdd37..68779be 100755 (executable)
 # 02111-1307 USA.
 
 common_objpfx=$1
-objpfx=$2
+run_program_prefix=$2
+objpfx=$3
 
 LC_ALL=C
 export LC_ALL
 
-# Generate the test data.
-test -d ${objpfx}domaindir || mkdir ${objpfx}domaindir
 # Create the domain directories.
-test -d ${objpfx}domaindir/de_DE || mkdir ${objpfx}domaindir/de_DE
-test -d ${objpfx}domaindir/de_DE/LC_MESSAGES || mkdir ${objpfx}domaindir/de_DE/LC_MESSAGES
-test -d ${objpfx}domaindir/fr_FR || mkdir ${objpfx}domaindir/fr_FR
-test -d ${objpfx}domaindir/fr_FR/LC_MESSAGES || mkdir ${objpfx}domaindir/fr_FR/LC_MESSAGES
+mkdir -p ${objpfx}domaindir/de_DE/LC_MESSAGES
+mkdir -p ${objpfx}domaindir/fr_FR/LC_MESSAGES
 # Populate them.
 msgfmt -o ${objpfx}domaindir/de_DE/LC_MESSAGES/multithread.mo tst-gettext4-de.po
 msgfmt -o ${objpfx}domaindir/fr_FR/LC_MESSAGES/multithread.mo tst-gettext4-fr.po
@@ -42,7 +39,6 @@ export GCONV_PATH
 LOCPATH=${common_objpfx}localedata
 export LOCPATH
 
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
-${objpfx}tst-gettext4 > ${objpfx}tst-gettext4.out
+${run_program_prefix} ${objpfx}tst-gettext4 > ${objpfx}tst-gettext4.out
 
 exit $?
index bbc58e7..8c8d217 100755 (executable)
 # 02111-1307 USA.
 
 common_objpfx=$1
-objpfx=$2
+run_program_prefix=$2
+objpfx=$3
 
 LC_ALL=C
 export LC_ALL
 
-# Generate the test data.
-test -d ${objpfx}domaindir || mkdir ${objpfx}domaindir
 # Create the domain directories.
-test -d ${objpfx}domaindir/de_DE || mkdir ${objpfx}domaindir/de_DE
-test -d ${objpfx}domaindir/de_DE/LC_MESSAGES || mkdir ${objpfx}domaindir/de_DE/LC_MESSAGES
+mkdir -p ${objpfx}domaindir/de_DE/LC_MESSAGES
 # Populate them.
 msgfmt -o ${objpfx}domaindir/de_DE/LC_MESSAGES/codeset.mo tstcodeset.po
 
@@ -40,7 +38,6 @@ export GCONV_PATH
 LOCPATH=${common_objpfx}localedata
 export LOCPATH
 
-${common_objpfx}elf/ld.so --library-path $common_objpfx \
-${objpfx}tst-gettext5 > ${objpfx}tst-gettext5.out
+${run_program_prefix} ${objpfx}tst-gettext5 > ${objpfx}tst-gettext5.out
 
 exit $?
index e2508df..22826e9 100755 (executable)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Test of transliteration in gettext functions.
-# Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+# Copyright (C) 2000, 2002, 2005 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 #
 
@@ -25,6 +25,9 @@ objpfx=$2
 LC_ALL=C
 export LC_ALL
 
+# Create the locale directories.
+mkdir -p ${objpfx}localedir/existing-locale/LC_MESSAGES
+
 msgfmt -o ${objpfx}domaindir/existing-locale/LC_MESSAGES/translit.mo \
        translit.po
 
index 23c3f59..df50172 100644 (file)
 ENTRY (BP_SYM (__mpn_addmul_1))
        ENTER
 
-       pushl   %edi
+       pushl   %res_ptr
        cfi_adjust_cfa_offset (4)
-       pushl   %esi
+       pushl   %s1_ptr
        cfi_adjust_cfa_offset (4)
        pushl   %ebp
        cfi_adjust_cfa_offset (4)
-       pushl   %ebx
+       pushl   %s2_limb
        cfi_adjust_cfa_offset (4)
 
        movl    RES(%esp), %res_ptr
@@ -79,18 +79,18 @@ L(oop):
        jnz     L(oop)
        movl    %ebp, %eax
 
-       popl    %ebx
+       popl    %s2_limb
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (ebx)
+       cfi_restore (s2_limb)
        popl    %ebp
        cfi_adjust_cfa_offset (-4)
        cfi_restore (ebp)
-       popl    %esi
+       popl    %s1_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (esi)
-       popl    %edi
+       cfi_restore (s1_ptr)
+       popl    %res_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (edi)
+       cfi_restore (res_ptr)
 
        LEAVE
        ret
index 981425e..62a2324 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arcsinh.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -50,9 +50,7 @@ ENTRY(__ieee754_acosh)
        cmpl    $0x41b00000, %ecx
        ja      3f                      // x > 2^28
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpl    $0x40000000, %ecx
        ja      4f                      // x > 2
index 17be69d..1906c60 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arcsinh.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -50,9 +50,7 @@ ENTRY(__ieee754_acoshf)
        cmpl    $0x47000000, %ecx
        ja      3f                      // x > 2^14
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpl    $0x40000000, %ecx
        ja      4f                      // x > 2
index 7b6885d..c7b548d 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arcsinh.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -57,9 +57,7 @@ ENTRY(__ieee754_acoshl)
        cmpl    $0x4020, %ecx
        ja      3f                      // x > 2^34
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpl    $0x4000, %ecx
        ja      4f                      // x > 2
index 6fb53a4..3566ec6 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arctanh function.
-   Copyright (C) 1996, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1999, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -58,7 +58,9 @@ ENTRY(__ieee754_atanh)
 
 #ifdef PIC
        call    1f
+       cfi_adjust_cfa_offset (4)
 1:     popl    %edx
+       cfi_adjust_cfa_offset (-4)
        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
 #endif
 
index a517929..10ce6ae 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arctanh function.
-   Copyright (C) 1996, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1999, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -57,9 +57,7 @@ ENTRY(__ieee754_atanhf)
        ja      5f
 
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
 
        andl    $0x80000000, %ecx // ECX == 0 iff X >= 0
index 6fda9be..8618c3f 100644 (file)
@@ -64,9 +64,7 @@ ENTRY(__ieee754_atanhl)
 7:
 
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
 
        andl    $0x8000, %ecx   // ECX == 0 iff X >= 0
index c7cacdf..5604e63 100644 (file)
@@ -37,9 +37,7 @@ ENTRY(__ieee754_log)
        fldln2                  // log(2)
        fldl    4(%esp)         // x : log(2)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fld     %st             // x : x : log(2)
        fsubl   MO(one)         // x-1 : x : log(2)
index e93184c..525f08c 100644 (file)
@@ -37,9 +37,7 @@ ENTRY(__ieee754_log10)
        fldlg2                  // log10(2)
        fldl    4(%esp)         // x : log10(2)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fxam
        fnstsw
index 0a89f54..da5069d 100644 (file)
@@ -38,9 +38,7 @@ ENTRY(__ieee754_log10f)
        fldlg2                  // log10(2)
        flds    4(%esp)         // x : log10(2)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fxam
        fnstsw
index 25d3501..3811516 100644 (file)
@@ -39,9 +39,7 @@ ENTRY(__ieee754_log10l)
        fldlg2                  // log10(2)
        fldt    4(%esp)         // x : log10(2)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fxam
        fnstsw
index 4f7f0d5..d80bf80 100644 (file)
@@ -34,9 +34,7 @@ limit:        .double 0.29
        .text
 ENTRY(__ieee754_log2)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fldl    MO(one)
        fldl    4(%esp)         // x : 1
index 88f28b4..9eb7b2a 100644 (file)
@@ -34,9 +34,7 @@ limit:        .double 0.29
        .text
 ENTRY(__ieee754_log2f)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fldl    MO(one)
        flds    4(%esp)         // x : 1
index f5c661a..9de08f5 100644 (file)
@@ -34,9 +34,7 @@ limit:        .double 0.29
        .text
 ENTRY(__ieee754_log2l)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fldl    MO(one)
        fldt    4(%esp)         // x : 1
index bdba1d3..128bb27 100644 (file)
@@ -38,9 +38,7 @@ ENTRY(__ieee754_logf)
        fldln2                  // log(2)
        flds    4(%esp)         // x : log(2)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fld     %st             // x : x : log(2)
        fsubl   MO(one)         // x-1 : x : log(2)
index bda3ea5..5023d30 100644 (file)
@@ -38,9 +38,7 @@ ENTRY(__ieee754_logl)
        fldln2                  // log(2)
        fldt    4(%esp)         // x : log(2)
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fld     %st             // x : x : log(2)
        fsubl   MO(one)         // x-1 : x : log(2)
index d100c0a..c554ca4 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of pow function.
-   Copyright (C) 1996, 1997, 1998, 1999, 2001, 2004
+   Copyright (C) 1996, 1997, 1998, 1999, 2001, 2004, 2005
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -67,9 +67,7 @@ ENTRY(__ieee754_pow)
        fxam
 
 #ifdef PIC
-       call    1f
-1:     popl    %ecx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
 
        fnstsw
@@ -87,6 +85,7 @@ ENTRY(__ieee754_pow)
        fldl    4(%esp)         // x : y
 
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fxam
        fnstsw
@@ -120,7 +119,9 @@ ENTRY(__ieee754_pow)
 
        /* OK, we have an integer value for y.  */
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        orl     $0, %edx
        fstp    %st(0)          // x
        jns     4f              // y >= 0, jump
@@ -155,6 +156,7 @@ ENTRY(__ieee754_pow)
 31:    fstp    %st(1)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
 2:     /* y is a real number.  */
        fxch                    // x : y
@@ -181,6 +183,7 @@ ENTRY(__ieee754_pow)
        faddl   MO(one)         // 2^fract(y*log2(x)) : int(y*log2(x))
        fscale                  // 2^fract(y*log2(x))*2^int(y*log2(x)) : int(y*log2(x))
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        fstp    %st(1)          // 2^fract(y*log2(x))*2^int(y*log2(x))
        ret
 
@@ -219,6 +222,7 @@ ENTRY(__ieee754_pow)
 13:    fldl    4(%esp)         // load x == NaN
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
        // x is Â±inf
 15:    fstp    %st(0)          // y
@@ -237,7 +241,9 @@ ENTRY(__ieee754_pow)
        // OK, the value is an integer, but is the number of bits small
        // enough so that all are coming from the mantissa?
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        andb    $1, %al
        jz      18f             // jump if not odd
        movl    %edx, %eax
@@ -251,22 +257,27 @@ ENTRY(__ieee754_pow)
        fldl    MOX(minf_mzero, %edx, 8)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
 16:    fcompl  MO(zero)
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        fnstsw
        shrl    $5, %eax
        andl    $8, %eax
        fldl    MOX(inf_zero, %eax, 1)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
 17:    shll    $30, %edx       // sign bit for y in right position
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
 18:    shrl    $31, %edx
        fldl    MOX(inf_zero, %edx, 8)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
        // x is Â±0
 20:    fstp    %st(0)          // y
@@ -288,7 +299,9 @@ ENTRY(__ieee754_pow)
        // OK, the value is an integer, but is the number of bits small
        // enough so that all are coming from the mantissa?
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        andb    $1, %al
        jz      27f             // jump if not odd
        cmpl    $0xffe00000, %edx
@@ -300,13 +313,16 @@ ENTRY(__ieee754_pow)
        fchs
        ret
 
+       cfi_adjust_cfa_offset (8)
 25:    fstp    %st(0)
 26:    addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
 27:    // Raise divide-by-zero exception and get infinity value.
        fldl    MO(one)
        fdivl   MO(zero)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
        // x is Â±0 and y is > 0.  We must find out whether y is an odd integer.
 21:    testb   $2, %dh
@@ -323,7 +339,9 @@ ENTRY(__ieee754_pow)
        // OK, the value is an integer, but is the number of bits small
        // enough so that all are coming from the mantissa?
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        andb    $1, %al
        jz      24f             // jump if not odd
        cmpl    $0xffe00000, %edx
@@ -332,8 +350,10 @@ ENTRY(__ieee754_pow)
        fldl    MO(mzero)
        ret
 
+       cfi_adjust_cfa_offset (8)
 22:    fstp    %st(0)
 23:    addl    $8, %esp        // Don't use 2 x pop
+       cfi_adjust_cfa_offset (-8)
 24:    fldl    MO(zero)
        ret
 
index b3fa624..c835b97 100644 (file)
@@ -1,5 +1,6 @@
 /* ix87 specific implementation of pow function.
-   Copyright (C) 1996, 1997, 1999, 2001, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2001, 2004, 2005
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -66,9 +67,7 @@ ENTRY(__ieee754_powf)
        fxam
 
 #ifdef PIC
-       call    1f
-1:     popl    %ecx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
 
        fnstsw
@@ -86,6 +85,7 @@ ENTRY(__ieee754_powf)
        flds    4(%esp)         // x : y
 
        subl    $4, %esp
+       cfi_adjust_cfa_offset (4)
 
        fxam
        fnstsw
@@ -119,6 +119,7 @@ ENTRY(__ieee754_powf)
 
        /* OK, we have an integer value for y.  */
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        orl     $0, %edx
        fstp    %st(0)          // x
        jns     4f              // y >= 0, jump
@@ -149,6 +150,7 @@ ENTRY(__ieee754_powf)
 31:    fstp    %st(1)
        ret
 
+       cfi_adjust_cfa_offset (4)
        .align ALIGNARG(4)
 2:     /* y is a real number.  */
        fxch                    // x : y
@@ -175,6 +177,7 @@ ENTRY(__ieee754_powf)
        faddl   MO(one)         // 2^fract(y*log2(x)) : int(y*log2(x))
        fscale                  // 2^fract(y*log2(x))*2^int(y*log2(x)) : int(y*log2(x))
        addl    $4, %esp
+       cfi_adjust_cfa_offset (-4)
        fstp    %st(1)          // 2^fract(y*log2(x))*2^int(y*log2(x))
        ret
 
@@ -213,6 +216,7 @@ ENTRY(__ieee754_powf)
 13:    flds    4(%esp)         // load x == NaN
        ret
 
+       cfi_adjust_cfa_offset (4)
        .align ALIGNARG(4)
        // x is Â±inf
 15:    fstp    %st(0)          // y
@@ -231,6 +235,7 @@ ENTRY(__ieee754_powf)
        // OK, the value is an integer, but is the number of bits small
        // enough so that all are coming from the mantissa?
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        testb   $1, %dl
        jz      18f             // jump if not odd
        movl    %edx, %eax
@@ -244,22 +249,27 @@ ENTRY(__ieee754_powf)
        fldl    MOX(minf_mzero, %edx, 8)
        ret
 
+       cfi_adjust_cfa_offset (4)
        .align ALIGNARG(4)
 16:    fcompl  MO(zero)
        addl    $4, %esp
+       cfi_adjust_cfa_offset (-4)
        fnstsw
        shrl    $5, %eax
        andl    $8, %eax
        fldl    MOX(inf_zero, %eax, 1)
        ret
 
+       cfi_adjust_cfa_offset (4)
        .align ALIGNARG(4)
 17:    shll    $30, %edx       // sign bit for y in right position
        addl    $4, %esp
+       cfi_adjust_cfa_offset (-4)
 18:    shrl    $31, %edx
        fldl    MOX(inf_zero, %edx, 8)
        ret
 
+       cfi_adjust_cfa_offset (4)
        .align ALIGNARG(4)
        // x is Â±0
 20:    fstp    %st(0)          // y
@@ -281,6 +291,7 @@ ENTRY(__ieee754_powf)
        // OK, the value is an integer, but is the number of bits small
        // enough so that all are coming from the mantissa?
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        testb   $1, %dl
        jz      27f             // jump if not odd
        cmpl    $0xff000000, %edx
@@ -292,13 +303,16 @@ ENTRY(__ieee754_powf)
        fchs
        ret
 
+       cfi_adjust_cfa_offset (4)
 25:    fstp    %st(0)
 26:    addl    $4, %esp
+       cfi_adjust_cfa_offset (-4)
 27:    // Raise divide-by-zero exception and get infinity value.
        fldl    MO(one)
        fdivl   MO(zero)
        ret
 
+       cfi_adjust_cfa_offset (4)
        .align ALIGNARG(4)
        // x is Â±0 and y is > 0.  We must find out whether y is an odd integer.
 21:    testb   $2, %dh
@@ -315,6 +329,7 @@ ENTRY(__ieee754_powf)
        // OK, the value is an integer, but is the number of bits small
        // enough so that all are coming from the mantissa?
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        testb   $1, %dl
        jz      24f             // jump if not odd
        cmpl    $0xff000000, %edx
@@ -323,8 +338,10 @@ ENTRY(__ieee754_powf)
        fldl    MO(mzero)
        ret
 
+       cfi_adjust_cfa_offset (4)
 22:    fstp    %st(0)
 23:    addl    $4, %esp        // Don't use pop.
+       cfi_adjust_cfa_offset (-4)
 24:    fldl    MO(zero)
        ret
 
index 080764b..74f4228 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of pow function.
-   Copyright (C) 1996, 1997, 1998, 1999, 2001, 2004
+   Copyright (C) 1996, 1997, 1998, 1999, 2001, 2004, 2005
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -67,9 +67,7 @@ ENTRY(__ieee754_powl)
        fxam
 
 #ifdef PIC
-       call    1f
-1:     popl    %ecx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
 
        fnstsw
@@ -87,6 +85,7 @@ ENTRY(__ieee754_powl)
        fldt    4(%esp)         // x : y
 
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fxam
        fnstsw
@@ -120,7 +119,9 @@ ENTRY(__ieee754_powl)
 
        /* OK, we have an integer value for y.  */
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        orl     $0, %edx
        fstp    %st(0)          // x
        jns     4f              // y >= 0, jump
@@ -155,6 +156,7 @@ ENTRY(__ieee754_powl)
 31:    fstp    %st(1)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
 2:     /* y is a real number.  */
        fxch                    // x : y
@@ -186,13 +188,16 @@ ENTRY(__ieee754_powl)
        faddl   MO(one)         // 2^fract(y*log2(x)) : int(y*log2(x))
        fscale                  // 2^fract(y*log2(x))*2^int(y*log2(x)) : int(y*log2(x))
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        fstp    %st(1)          // 2^fract(y*log2(x))*2^int(y*log2(x))
        ret
 
+       cfi_adjust_cfa_offset (8)
 28:    fstp    %st(1)          // y*log2(x)
        fldl    MO(one)         // 1 : y*log2(x)
        fscale                  // 2^(y*log2(x)) : y*log2(x)
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        fstp    %st(1)          // 2^(y*log2(x))
        ret
 
@@ -230,6 +235,7 @@ ENTRY(__ieee754_powl)
 13:    fldt    4(%esp)         // load x == NaN
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
        // x is Â±inf
 15:    fstp    %st(0)          // y
@@ -247,7 +253,9 @@ ENTRY(__ieee754_powl)
 
        // OK, the value is an integer, but is it odd?
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        andb    $1, %al
        jz      18f             // jump if not odd
        // It's an odd integer.
@@ -255,22 +263,27 @@ ENTRY(__ieee754_powl)
        fldl    MOX(minf_mzero, %edx, 8)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
 16:    fcompl  MO(zero)
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        fnstsw
        shrl    $5, %eax
        andl    $8, %eax
        fldl    MOX(inf_zero, %eax, 1)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
 17:    shll    $30, %edx       // sign bit for y in right position
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
 18:    shrl    $31, %edx
        fldl    MOX(inf_zero, %edx, 8)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
        // x is Â±0
 20:    fstp    %st(0)          // y
@@ -291,7 +304,9 @@ ENTRY(__ieee754_powl)
 
        // OK, the value is an integer, but is it odd?
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        andb    $1, %al
        jz      27f             // jump if not odd
        // It's an odd integer.
@@ -301,13 +316,16 @@ ENTRY(__ieee754_powl)
        fchs
        ret
 
+       cfi_adjust_cfa_offset (8)
 25:    fstp    %st(0)
 26:    addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
 27:    // Raise divide-by-zero exception and get infinity value.
        fldl    MO(one)
        fdivl   MO(zero)
        ret
 
+       cfi_adjust_cfa_offset (8)
        .align ALIGNARG(4)
        // x is Â±0 and y is > 0.  We must find out whether y is an odd integer.
 21:    testb   $2, %dh
@@ -323,15 +341,19 @@ ENTRY(__ieee754_powl)
 
        // OK, the value is an integer, but is it odd?
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        andb    $1, %al
        jz      24f             // jump if not odd
        // It's an odd integer.
        fldl    MO(mzero)
        ret
 
+       cfi_adjust_cfa_offset (8)
 22:    fstp    %st(0)
 23:    addl    $8, %esp        // Don't use 2 x pop
+       cfi_adjust_cfa_offset (-8)
 24:    fldl    MO(zero)
        ret
 
index 1596f6a..7e334a3 100644 (file)
@@ -64,9 +64,7 @@ ENTRY(__ieee754_scalb)
        /* y is -inf */
 1:     fxam
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        fnstsw
        movl    8(%esp), %edx
@@ -86,9 +84,7 @@ ENTRY(__ieee754_scalb)
 2:     fstp    %st
        fstp    %st
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        fldl    MO(nan)
        ret
index d41c293..e99ee92 100644 (file)
@@ -66,9 +66,7 @@ ENTRY(__ieee754_scalbf)
        /* y is -inf */
 1:     fxam
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        fnstsw
        movl    4(%esp), %edx
@@ -88,9 +86,7 @@ ENTRY(__ieee754_scalbf)
 2:     fstp    %st
        fstp    %st
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        fldl    MO(nan)
        ret
index 65644f8..3f67d0b 100644 (file)
@@ -66,9 +66,7 @@ ENTRY(__ieee754_scalbl)
        /* y is -inf */
 1:     fxam
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        fnstsw
        movl    12(%esp), %edx
@@ -88,9 +86,7 @@ ENTRY(__ieee754_scalbl)
 2:     fstp    %st
        fstp    %st
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        fldl    MO(nan)
        ret
index 6c99d3b..ca042b4 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arcsinh.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -62,9 +62,7 @@ ENTRY(__asinh)
        fxch                            // |x| : log(2)
        ja      3f                      // |x| > 2^28
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpl    $0x40000000, %eax
        ja      5f                      // |x| > 2
@@ -100,9 +98,7 @@ ENTRY(__asinh)
        .align ALIGNARG(4)
 2:
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        jecxz   4f
        fchs                            // x
index 32e6fd6..d0ce6af 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arcsinh.
-   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -62,9 +62,7 @@ ENTRY(__asinhf)
        fxch                            // |x| : log(2)
        ja      3f                      // |x| > 2^14
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpl    $0x40000000, %eax
        ja      5f                      // |x| > 2
@@ -100,9 +98,7 @@ ENTRY(__asinhf)
        .align ALIGNARG(4)
 2:
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        jecxz   4f
        fchs                            // x
index 5933460..1040eea 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of arcsinh.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -69,9 +69,7 @@ ENTRY(__asinhl)
        fxch                            // |x| : log(2)
        ja      3f                      // |x| > 2^34
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpl    $0x4000, %eax
        ja      5f                      // |x| > 2
@@ -107,9 +105,7 @@ ENTRY(__asinhl)
        .align ALIGNARG(4)
 2:
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        jecxz   4f
        fchs                            // x
index c69958b..e180b15 100644 (file)
@@ -1,5 +1,5 @@
 /* Compute cubic root of double value.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Dirk Alboth <dirka@uni-paderborn.de> and
    Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -89,9 +89,9 @@ ENTRY(__cbrt)
 
 #ifdef PIC
        pushl   %ebx
-       call    3f
-3:     popl    %ebx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-3b], %ebx
+       cfi_adjust_cfa_offset (4)
+       cfi_rel_offset (ebx, 0)
+       LOAD_PIC_REG (bx)
 #endif
 
        cmpl    $0x00100000, %eax
@@ -178,13 +178,17 @@ ENTRY(__cbrt)
        fdivp   %st, %st(1)             /* u*(t2+2*xm)/(2*t2+xm) */
        fmull   MOX(16+factor,%ecx)     /* u*(t2+2*xm)/(2*t2+xm)*FACT */
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        fildl   (%esp)                  /* xe/3 : u*(t2+2*xm)/(2*t2+xm)*FACT */
        fxch                            /* u*(t2+2*xm)/(2*t2+xm)*FACT : xe/3 */
        fscale                          /* u*(t2+2*xm)/(2*t2+xm)*FACT*2^xe/3 */
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
 #ifdef PIC
        movl    12(%esp), %eax
        popl    %ebx
+       cfi_adjust_cfa_offset (-4)
+       cfi_restore (ebx)
 #else
        movl    8(%esp), %eax
 #endif
index 03d5770..2ff4f6e 100644 (file)
@@ -1,5 +1,5 @@
 /* Compute cubic root of float value.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Dirk Alboth <dirka@uni-paderborn.de> and
    Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -76,9 +76,9 @@ ENTRY(__cbrtf)
 
 #ifdef PIC
        pushl   %ebx
-       call    3f
-3:     popl    %ebx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-3b], %ebx
+       cfi_adjust_cfa_offset (4)
+       cfi_rel_offset (ebx, 0)
+       LOAD_PIC_REG (bx)
 #endif
 
        cmpl    $0x00800000, %eax
@@ -155,13 +155,17 @@ ENTRY(__cbrtf)
        fdivp   %st, %st(1)             /* u*(t2+2*xm)/(2*t2+xm) */
        fmull   MOX(16+factor,%ecx)     /* u*(t2+2*xm)/(2*t2+xm)*FACT */
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        fildl   (%esp)                  /* xe/3 : u*(t2+2*xm)/(2*t2+xm)*FACT */
        fxch                            /* u*(t2+2*xm)/(2*t2+xm)*FACT : xe/3 */
        fscale                          /* u*(t2+2*xm)/(2*t2+xm)*FACT*2^xe/3 */
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
 #ifdef PIC
        movl    8(%esp), %eax
        popl    %ebx
+       cfi_adjust_cfa_offset (-4)
+       cfi_restore (ebx)
 #else
        movl    4(%esp), %eax
 #endif
index f9dac17..637ad72 100644 (file)
@@ -1,5 +1,5 @@
 /* Compute cubic root of long double value.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Dirk Alboth <dirka@uni-paderborn.de> and
    Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -108,9 +108,9 @@ ENTRY(__cbrtl)
 
 #ifdef PIC
        pushl   %ebx
-       call    3f
-3:     popl    %ebx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-3b], %ebx
+       cfi_adjust_cfa_offset (4)
+       cfi_rel_offset (ebx, 0)
+       LOAD_PIC_REG (bx)
 #endif
 
        cmpl    $0, %eax
@@ -206,13 +206,17 @@ ENTRY(__cbrtl)
        fldt    MOX(32+factor,%ecx)
        fmulp                           /* u*(t2+2*xm)/(2*t2+xm)*FACT */
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        fildl   (%esp)                  /* xe/3 : u*(t2+2*xm)/(2*t2+xm)*FACT */
        fxch                            /* u*(t2+2*xm)/(2*t2+xm)*FACT : xe/3 */
        fscale                          /* u*(t2+2*xm)/(2*t2+xm)*FACT*2^xe/3 */
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
 #ifdef PIC
        movl    16(%esp), %eax
        popl    %ebx
+       cfi_adjust_cfa_offset (-4)
+       cfi_restore (ebx)
 #else
        movl    12(%esp), %eax
 #endif
index 50d17ae..47e3eb6 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of complex exponential function for double.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -71,9 +71,7 @@ ENTRY(__cexp)
        fnstsw
        fldl    16(%esp)                /* y : x */
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        movb    %ah, %dh
        andb    $0x45, %ah
index 396e056..f116854 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of complex exponential function for double.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -71,9 +71,7 @@ ENTRY(__cexpf)
        fnstsw
        flds    8(%esp)                 /* y : x */
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        movb    %ah, %dh
        andb    $0x45, %ah
@@ -114,10 +112,13 @@ ENTRY(__cexpf)
        fmulp   %st, %st(3)     /* sin(y) : e^x : e^x * cos(y) */
        fmulp   %st, %st(1)     /* e^x * sin(y) : e^x * cos(y) */
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fstps   4(%esp)
        fstps   (%esp)
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        ret
 
        /* We have to reduce the argument to fsincos.  */
@@ -133,10 +134,13 @@ ENTRY(__cexpf)
        fmulp   %st, %st(3)
        fmulp   %st, %st(1)
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fstps   4(%esp)
        fstps   (%esp)
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        ret
 
        /* The real part is +-inf.  We must make further differences.  */
@@ -210,12 +214,14 @@ ENTRY(__cexpf)
           +-Inf+-0i.  */
        .align ALIGNARG(4)
 4:     subl    $4, %esp
+       cfi_adjust_cfa_offset (4)
        fstps   (%esp)
        shrl    $6, %edx
        fstp    %st(0)
        andl    $8, %edx
        movl    MOX(huge_nan_null_null,%edx,1), %eax
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        ret
 
        /* The real part is +-Inf, the imaginary is also is not finite.  */
index cbc7c99..8bb0680 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of complex exponential function for double.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -71,9 +71,7 @@ ENTRY(__cexpl)
        fnstsw
        fldt    20(%esp)                /* y : x */
 #ifdef  PIC
-        call    1f
-1:      popl    %ecx
-        addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %ecx
+       LOAD_PIC_REG (cx)
 #endif
        movb    %ah, %dh
        andb    $0x45, %ah
index 35e1ff6..e761183 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of exp(x)-1.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
    Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>.
@@ -56,9 +56,7 @@ ENTRY(__expm1)
        cmpb    $0x40, %ch
        je      3f              // If +-0, jump.
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpb    $0x05, %ch
        je      2f              // If +-Inf, jump.
index c2c64f0..88adb75 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of exp(x)-1.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
    Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>.
@@ -56,9 +56,7 @@ ENTRY(__expm1f)
        cmpb    $0x40, %ch
        je      3f              // If +-0, jump.
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpb    $0x05, %ch
        je      2f              // If +-Inf, jump.
index 4d491c0..2dc379b 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific implementation of exp(x)-1.
-   Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
    Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>.
@@ -56,9 +56,7 @@ ENTRY(__expm1l)
        cmpb    $0x40, %ch
        je      3f              // If +-0, jump.
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        cmpb    $0x05, %ch
        je      2f              // If +-Inf, jump.
index 563105a..cfc8221 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific frexp implementation for double.
-   Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -63,9 +63,7 @@ ENTRY (BP_SYM (__frexp))
 
        fldl    VAL0(%esp)
 #ifdef PIC
-       call    3f
-3:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-3b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fmull   MO(two54)
        movl    $-54, %ecx
index 00c4ab5..8640bbc 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific frexp implementation for float.
-   Copyright (C) 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -60,9 +60,7 @@ ENTRY (BP_SYM (__frexpf))
 
        flds    VAL(%esp)
 #ifdef PIC
-       call    3f
-3:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-3b], %edx
+       LOAD_PIC_REG (dx)
 #endif
        fmuls   MO(two25)
        movl    $-25, %ecx
index 1417507..60ae57e 100644 (file)
@@ -1,5 +1,5 @@
 /* ix87 specific frexp implementation for long double.
-   Copyright (C) 1997, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2000, 2001, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -65,9 +65,7 @@ ENTRY (BP_SYM (__frexpl))
 
        fldt    VAL0(%esp)
 #ifdef PIC
-       call    3f
-3:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-3b], %edx
+       LOAD_PIC_REG (dx)
 #endif
 
        fmull   MO(two64)       /* It's not necessary to use a 80bit factor */
index 68d9c1a..0cf1ad7 100644 (file)
@@ -21,11 +21,13 @@ ENTRY(__ilogb)
 
        fxtract
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        fstp    %st
 
        fistpl  (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
 
        ret
 
index 521afe2..99e53ed 100644 (file)
@@ -21,11 +21,13 @@ ENTRY(__ilogbf)
 
        fxtract
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        fstp    %st
 
        fistpl  (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
 
        ret
 
index ed547bd..1f559b3 100644 (file)
@@ -22,11 +22,13 @@ ENTRY(__ilogbl)
 
        fxtract
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        fstp    %st
 
        fistpl  (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
 
        ret
 
index e8e5ece..23bbec6 100644 (file)
@@ -1,6 +1,6 @@
 /* Round argument to nearest integral value according to current rounding
    direction.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
 ENTRY(__llrint)
        fldl    4(%esp)
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fistpll (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        ret
 END(__llrint)
 weak_alias (__llrint, llrint)
index 1deabc4..3de73f6 100644 (file)
@@ -1,6 +1,6 @@
 /* Round argument to nearest integral value according to current rounding
    direction.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
 ENTRY(__llrintf)
        flds    4(%esp)
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fistpll (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        ret
 END(__llrintf)
 weak_alias (__llrintf, llrintf)
index b34d79a..f6545e9 100644 (file)
@@ -1,6 +1,6 @@
 /* Round argument to nearest integral value according to current rounding
    direction.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
 ENTRY(__llrintl)
        fldt    4(%esp)
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fistpll (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        popl    %edx
+       cfi_adjust_cfa_offset (-4)
        ret
 END(__llrintl)
 weak_alias (__llrintl, llrintl)
index d3bc3d7..ec777fd 100644 (file)
@@ -31,9 +31,7 @@ ENTRY(__log1p)
        fldl    4(%esp)
 
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
 
        fxam
index d5283fc..6919ac9 100644 (file)
@@ -31,9 +31,7 @@ ENTRY(__log1pf)
        flds    4(%esp)
 
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
 
        fxam
index 26c407b..4bca67d 100644 (file)
@@ -36,9 +36,7 @@ ENTRY(__log1pl)
        fldt    4(%esp)
 
 #ifdef PIC
-       call    1f
-1:     popl    %edx
-       addl    $_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+       LOAD_PIC_REG (dx)
 #endif
 
        fxam
index a15f54f..799875b 100644 (file)
@@ -1,6 +1,6 @@
 /* Round argument to nearest integral value according to current rounding
    direction.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
 ENTRY(__lrint)
        fldl    4(%esp)
        subl    $4, %esp
+       cfi_adjust_cfa_offset (4)
        fistpl  (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        ret
 END(__lrint)
 weak_alias (__lrint, lrint)
index 0f15e64..2aa1a4e 100644 (file)
@@ -1,6 +1,6 @@
 /* Round argument to nearest integral value according to current rounding
    direction.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
 ENTRY(__lrintf)
        flds    4(%esp)
        subl    $4, %esp
+       cfi_adjust_cfa_offset (4)
        fistpl  (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        ret
 END(__lrintf)
 weak_alias (__lrintf, lrintf)
index 90313d6..c0211c1 100644 (file)
@@ -1,6 +1,6 @@
 /* Round argument to nearest integral value according to current rounding
    direction.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
 ENTRY(__lrintl)
        fldt    4(%esp)
        subl    $4, %esp
+       cfi_adjust_cfa_offset (4)
        fistpl  (%esp)
        fwait
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        ret
 END(__lrintl)
 weak_alias (__lrintl, lrintl)
index d8bb382..5290913 100644 (file)
@@ -9,7 +9,9 @@
 ENTRY(__nearbyint)
        fldl    4(%esp)
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        pushl   %ecx
+       cfi_adjust_cfa_offset (4)
        fnstcw  (%esp)
        movl    (%esp), %eax
        orl     $0x20, %eax
@@ -19,7 +21,9 @@ ENTRY(__nearbyint)
        fclex
        fldcw   (%esp)
        popl    %ecx
+       cfi_adjust_cfa_offset (-4)
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        ret
 END (__nearbyint)
 weak_alias (__nearbyint, nearbyint)
index 2185865..6a6b1d6 100644 (file)
@@ -9,7 +9,9 @@
 ENTRY(__nearbyintf)
        flds    4(%esp)
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        pushl   %ecx
+       cfi_adjust_cfa_offset (4)
        fnstcw  (%esp)
        movl    (%esp), %eax
        orl     $0x20, %eax
@@ -19,7 +21,9 @@ ENTRY(__nearbyintf)
        fclex
        fldcw   (%esp)
        popl    %ecx
+       cfi_adjust_cfa_offset (-4)
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        ret
 END (__nearbyintf)
 weak_alias (__nearbyintf, nearbyintf)
index d74dacb..819af63 100644 (file)
@@ -9,7 +9,9 @@
 ENTRY(__nearbyintl)
        fldt    4(%esp)
        pushl   %eax
+       cfi_adjust_cfa_offset (4)
        pushl   %ecx
+       cfi_adjust_cfa_offset (4)
        fnstcw  (%esp)
        movl    (%esp), %eax
        orl     $0x20, %eax
@@ -19,7 +21,9 @@ ENTRY(__nearbyintl)
        fclex
        fldcw   (%esp)
        popl    %ecx
+       cfi_adjust_cfa_offset (-4)
        popl    %eax
+       cfi_adjust_cfa_offset (-4)
        ret
 END (__nearbyintl)
 weak_alias (__nearbyintl, nearbyintl)
index 18955e3..1890c5d 100644 (file)
 ENTRY (BP_SYM (__mpn_addmul_1))
        ENTER
 
-       pushl   %edi
+       pushl   %res_ptr
        cfi_adjust_cfa_offset (4)
-       pushl   %esi
+       pushl   %s1_ptr
        cfi_adjust_cfa_offset (4)
        pushl   %ebp
        cfi_adjust_cfa_offset (4)
-       pushl   %ebx
+       pushl   %s2_limb
        cfi_adjust_cfa_offset (4)
 
        movl    RES(%esp), %res_ptr
@@ -86,18 +86,18 @@ L(oop):     adcl    $0, %ebp
 
        adcl    $0, %ebp
        movl    %ebp, %eax
-       popl    %ebx
+       popl    %s2_limb
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (ebx)
+       cfi_restore (s2_limb)
        popl    %ebp
        cfi_adjust_cfa_offset (-4)
        cfi_restore (ebp)
-       popl    %esi
+       popl    %s1_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (esi)
-       popl    %edi
+       cfi_restore (s1_ptr)
+       popl    %res_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (edi)
+       cfi_restore (res_ptr)
 
        LEAVE
        ret
index 1fa267e..6ab457f 100644 (file)
@@ -46,7 +46,7 @@ ENTRY (BP_SYM (memcpy))
        movl    DEST(%esp), %edi
        cfi_rel_offset (edi, 4)
        movl    SRC(%esp), %esi
-       cfi_rel_offset (esi, 4)
+       cfi_rel_offset (esi, 0)
        movl    LEN(%esp), %ecx
        CHECK_BOUNDS_BOTH_WIDE (%edi, DEST(%esp), %ecx)
        CHECK_BOUNDS_BOTH_WIDE (%esi, SRC(%esp), %ecx)
index b537c70..15765d7 100644 (file)
 ENTRY (BP_SYM (__mpn_mul_1))
        ENTER
 
-       pushl   %edi
+       pushl   %res_ptr
        cfi_adjust_cfa_offset (4)
-       pushl   %esi
+       pushl   %s1_ptr
        cfi_adjust_cfa_offset (4)
        pushl   %ebp
        cfi_adjust_cfa_offset (4)
-       pushl   %ebx
+       pushl   %s2_limb
        cfi_adjust_cfa_offset (4)
 
        movl    RES(%esp), %res_ptr
@@ -82,18 +82,18 @@ L(oop):     adcl    $0, %ebp
 
        adcl    $0, %ebp
        movl    %ebp, %eax
-       popl    %ebx
+       popl    %s2_limb
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (ebx)
+       cfi_restore (s2_limb)
        popl    %ebp
        cfi_adjust_cfa_offset (-4)
        cfi_restore (ebp)
-       popl    %esi
+       popl    %s1_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (esi)
-       popl    %edi
+       cfi_restore (s1_ptr)
+       popl    %res_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (edi)
+       cfi_restore (res_ptr)
 
        LEAVE
        ret
index 29eded3..7b88289 100644 (file)
@@ -165,7 +165,7 @@ L(end2):
        cfi_rel_offset (edi, 12)
        cfi_rel_offset (esi, 8)
        cfi_rel_offset (ebp, 4)
-       cfi_rel_offset (ebx, 3)
+       cfi_rel_offset (ebx, 0)
 L(special):
        leal    -4(%edi,%ebx,4),%edi
        leal    -4(%esi,%ebx,4),%esi
index 1c40a80..7c32c1a 100644 (file)
@@ -56,8 +56,8 @@ ENTRY (BP_SYM (__mpn_sub_n))
        CHECK_BOUNDS_BOTH_WIDE (%ebx, S2(%esp), %ecx)
        shrl    $2, %ecx
 #endif
-       cfi_rel_offset (ebp, 4)
        movl    (%ebx),%ebp
+       cfi_rel_offset (ebp, 4)
 
        decl    %ecx
        movl    %ecx,%edx
index b9e578f..e8bc647 100644 (file)
 ENTRY (BP_SYM (__mpn_submul_1))
        ENTER
 
-       pushl   %edi
+       pushl   %res_ptr
        cfi_adjust_cfa_offset (4)
-       pushl   %esi
+       pushl   %s1_ptr
        cfi_adjust_cfa_offset (4)
        pushl   %ebp
        cfi_adjust_cfa_offset (4)
-       pushl   %ebx
+       pushl   %s2_limb
        cfi_adjust_cfa_offset (4)
 
        movl    RES(%esp), %res_ptr
@@ -86,18 +86,18 @@ L(oop):     adcl    $0, %ebp
 
        adcl    $0, %ebp
        movl    %ebp, %eax
-       popl    %ebx
+       popl    %s2_limb
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (ebx)
+       cfi_restore (s2_limb)
        popl    %ebp
        cfi_adjust_cfa_offset (-4)
        cfi_restore (ebp)
-       popl    %esi
+       popl    %s1_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (esi)
-       popl    %edi
+       cfi_restore (s1_ptr)
+       popl    %res_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (edi)
+       cfi_restore (res_ptr)
 
        LEAVE
        ret
index 4f1c741..4bd5394 100644 (file)
@@ -29,7 +29,8 @@
 #define ENTRANCE       pushl %ebx; cfi_adjust_cfa_offset (4); \
                        cfi_rel_offset (ebx, 0); ENTER
 #define RETURN         popl %ebx; cfi_adjust_cfa_offset (-4); \
-                       cfi_restore (ebx); LEAVE; ret
+                       cfi_restore (ebx); LEAVE; ret; \
+                       cfi_adjust_cfa_offset (4); cfi_rel_offset (ebx, 0);
 
 /* Load an entry in a jump table into EBX.  TABLE is a jump table
    with relative offsets.  INDEX is a register contains the index
@@ -79,6 +80,8 @@ L(neq):
        sbbl    $-1, %eax
        RETURN
 
+       cfi_adjust_cfa_offset (4)
+       cfi_rel_offset (ebx, 0)
 L(not_1):
        jl      L(bye)                  /* LEN == 0  */
 
@@ -137,8 +140,9 @@ L(0bytes):
        xorl    %eax, %eax
        RETURN
 
-       cfi_adjust_cfa_offset (4)
+       cfi_adjust_cfa_offset (8)
        cfi_rel_offset (esi, 0)
+       cfi_rel_offset (ebx, 4)
 L(29bytes):
        movl    -29(%esi), %eax
        movl    -29(%edx), %ecx
@@ -184,8 +188,9 @@ L(1bytes):
        xorl    %eax, %eax
        RETURN
 
-       cfi_adjust_cfa_offset (4)
+       cfi_adjust_cfa_offset (8)
        cfi_rel_offset (esi, 0)
+       cfi_rel_offset (ebx, 4)
 L(30bytes):
        movl    -30(%esi), %eax
        movl    -30(%edx), %ecx
@@ -234,8 +239,9 @@ L(2bytes):
        xorl    %eax, %eax
        RETURN
 
-       cfi_adjust_cfa_offset (4)
+       cfi_adjust_cfa_offset (8)
        cfi_rel_offset (esi, 0)
+       cfi_rel_offset (ebx, 4)
 L(31bytes):
        movl    -31(%esi), %eax
        movl    -31(%edx), %ecx
@@ -287,8 +293,9 @@ L(3bytes):
        xorl    %eax, %eax
        RETURN
 
-       cfi_adjust_cfa_offset (4)
+       cfi_adjust_cfa_offset (8)
        cfi_rel_offset (esi, 0)
+       cfi_rel_offset (ebx, 4)
        ALIGN (4)
 /* ECX >= 32.  */
 L(32bytesormore):
index a433622..b93b5c7 100644 (file)
@@ -79,6 +79,10 @@ ENTRY (BP_SYM (memmove))
        LEAVE
        RET_PTR
 
+       cfi_adjust_cfa_offset (4)
+       cfi_rel_offset (edi, 0)
+       cfi_register (esi, edx)
+
        /* Backward copying.  */
 3:     std
        leal    -1(%edi, %ecx), %edi
index 2de8783..0d0c07e 100644 (file)
 ENTRY (BP_SYM (__mpn_mul_1))
        ENTER
 
-       pushl   %edi
+       pushl   %res_ptr
        cfi_adjust_cfa_offset (4)
-       pushl   %esi
+       pushl   %s1_ptr
        cfi_adjust_cfa_offset (4)
        pushl   %ebp
        cfi_adjust_cfa_offset (4)
-       pushl   %ebx
+       pushl   %s2_limb
        cfi_adjust_cfa_offset (4)
 
        movl    RES(%esp), %res_ptr
@@ -78,18 +78,18 @@ L(oop):
        jnz     L(oop)
        movl    %ebp, %eax
 
-       popl    %ebx
+       popl    %s2_limb
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (ebx)
+       cfi_restore (s2_limb)
        popl    %ebp
        cfi_adjust_cfa_offset (-4)
        cfi_restore (ebp)
-       popl    %esi
+       popl    %s1_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (esi)
-       popl    %edi
+       cfi_restore (s1_ptr)
+       popl    %res_ptr
        cfi_adjust_cfa_offset (-4)
-       cfi_restore (edi)
+       cfi_restore (res_ptr)
 
        LEAVE
        ret
index e45db61..88b343b 100644 (file)
@@ -81,7 +81,7 @@ ENTRY (BP_SYM (FUNCTION))
        cfi_adjust_cfa_offset (4)
        call L(here)
        cfi_adjust_cfa_offset (4)
-       cfi_rel_offset (ebx, 4)
+       cfi_rel_offset (ebx, 0)
 L(here):
        popl %ebx
        cfi_adjust_cfa_offset (-4)
index c9f6418..e1e62b8 100644 (file)
@@ -67,10 +67,12 @@ ENTRY (BP_SYM (__mpn_sub_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
index f932213..7f8523d 100644 (file)
@@ -46,14 +46,15 @@ ENTRY (BP_SYM (__mpn_submul_1))
        cfi_adjust_cfa_offset (4)
        pushl   %ebx
        cfi_adjust_cfa_offset (4)
+       cfi_rel_offset (edi, 12)
+       cfi_rel_offset (esi, 8)
+       cfi_rel_offset (ebp, 4)
+       cfi_rel_offset (ebx, 0)
 
        movl    RES(%esp), %res_ptr
-       cfi_rel_offset (res_ptr, 12)
        movl    S1(%esp), %s1_ptr
-       cfi_rel_offset (s1_ptr, 8)
        movl    SIZE(%esp), %sizeP
        movl    S2LIMB(%esp), %s2_limb
-       cfi_rel_offset (s2_limb, 0)
 #if __BOUNDED_POINTERS__
        shll    $2, %sizeP      /* convert limbs to bytes */
        CHECK_BOUNDS_BOTH_WIDE (%res_ptr, RES(%esp), %sizeP)
@@ -64,7 +65,6 @@ ENTRY (BP_SYM (__mpn_submul_1))
        leal    (%s1_ptr,%sizeP,4), %s1_ptr
        negl    %sizeP
        xorl    %ebp, %ebp
-       cfi_rel_offset (ebp, 4)
        ALIGN (3)
 L(oop):
        movl    (%s1_ptr,%sizeP,4), %eax
index 69243d5..54524ec 100644 (file)
@@ -88,6 +88,7 @@ ENTRY (BP_SYM (__clone))
        cfi_adjust_cfa_offset (4)
        pushl   %edi
        cfi_adjust_cfa_offset (4)
+
        movl    TLS+12(%esp),%esi
        cfi_rel_offset (esi, 4)
        movl    PTID+12(%esp),%edx
@@ -102,16 +103,14 @@ ENTRY (BP_SYM (__clone))
        movl    %ebx, (%ecx)
 #endif
 
+       /* End FDE now, because in the child the unwind info will be
+          wrong.  */
+       cfi_endproc
+
        int     $0x80
        popl    %edi
-       cfi_adjust_cfa_offset (-4)
-       cfi_restore (edi)
        popl    %esi
-       cfi_adjust_cfa_offset (-4)
-       cfi_restore (esi)
        popl    %ebx
-       cfi_adjust_cfa_offset (-4)
-       cfi_restore (ebx)
 
        test    %eax,%eax
        jl      SYSCALL_ERROR_LABEL
@@ -131,10 +130,8 @@ L(haspid):
        call    *%ebx
 #ifdef PIC
        call    L(here)
-       cfi_adjust_cfa_offset (4)
 L(here):
        popl    %ebx
-       cfi_adjust_cfa_offset (-4)
        addl    $_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ebx
 #endif
        movl    %eax, %ebx
@@ -156,6 +153,7 @@ L(nomoregetpid):
        .previous
 #endif
 
+       cfi_startproc
 PSEUDO_END (BP_SYM (__clone))
 
 weak_alias (BP_SYM (__clone), BP_SYM (clone))
index 68541d5..76ba604 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context.
-   Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
 
@@ -63,12 +63,16 @@ ENTRY(__getcontext)
 
        /* Save the current signal mask.  */
        pushl   %ebx
+       cfi_adjust_cfa_offset (4)
+       cfi_rel_offset (ebx, 0)
        leal    oSIGMASK(%eax), %edx
        xorl    %ecx, %ecx
        movl    $SIG_BLOCK, %ebx
        movl    $__NR_sigprocmask, %eax
        ENTER_KERNEL
        popl    %ebx
+       cfi_adjust_cfa_offset (-4)
+       cfi_restore (ebx)
        cmpl    $-4095, %eax            /* Check %eax for error.  */
        jae     SYSCALL_ERROR_LABEL     /* Jump to error handler if error.  */
 
index ec49b74..03dc648 100644 (file)
@@ -1,5 +1,5 @@
 /* Create new context.
-   Copyright (C) 2001,02 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
 
@@ -68,7 +68,9 @@ ENTRY(__makecontext)
           below).  */
 #ifdef PIC
        call    1f
+       cfi_adjust_cfa_offset (4)
 1:     popl    %ecx
+       cfi_adjust_cfa_offset (-4)
        addl    $L(exitcode)-1b, %ecx
        movl    %ecx, (%edx)
 #else
@@ -83,6 +85,7 @@ ENTRY(__makecontext)
           the context 'makecontext' manipulated at the time of the
           'makecontext' call.  If the pointer is NULL the process must
           terminate.  */
+       cfi_endproc
 L(exitcode):
        /* This removes the parameters passed to the function given to
           'makecontext' from the stack.  EBX contains the number of
@@ -108,6 +111,7 @@ L(exitcode):
        /* The 'exit' call should never return.  In case it does cause
           the process to terminate.  */
        hlt
+       cfi_startproc
 END(__makecontext)
 
 weak_alias(__makecontext, makecontext)
index 9f664de..10f8bc7 100644 (file)
@@ -26,7 +26,7 @@
 
 ENTRY (__mmap)
 
-/* I don't think it is worthwhile trzing to use mmap2 whenever it
+/* I don't think it is worthwhile trying to use mmap2 whenever it
    is available.  Only use it when we are sure the syscall exists.  */
 #ifdef __ASSUME_MMAP2_SYSCALL
 
@@ -78,6 +78,7 @@ L(skip):
 
        /* Save registers.  */
        movl %ebx, %edx
+       cfi_register (ebx, edx)
 
        movl $SYS_ify(mmap), %eax       /* System call number in %eax.  */
 
@@ -88,6 +89,7 @@ L(skip):
 
        /* Restore registers.  */
        movl %edx, %ebx
+       cfi_restore (ebx)
 
 #endif
 
index 89d9f5f..4209453 100644 (file)
@@ -130,6 +130,7 @@ L(einval):
 3:
        /* Save registers.  */
        movl %ebx, %edx
+       cfi_register (ebx, edx)
 
        cmpl $0, OFFHI-SVRSP(%esp)
        jne L(einval2)
@@ -143,6 +144,7 @@ L(einval):
 
        /* Restore registers.  */
        movl %edx, %ebx
+       cfi_restore (ebx)
 
        /* If 0 > %eax > -4096 there was an error.  */
        cmpl $-4096, %eax
@@ -154,8 +156,10 @@ L(pseudo_end):
 #endif
        ret
 
+       cfi_register (ebx, edx)
 L(einval2):
        movl %edx, %ebx
+       cfi_restore (ebx)
        movl $-EINVAL, %eax
        jmp SYSCALL_ERROR_LABEL
 #endif
index 22469b2..c493cf9 100644 (file)
@@ -61,6 +61,13 @@ ENTRY(__setcontext)
        movl    oEIP(%eax), %ecx
 
        /* Load the new stack pointer.  */
+       cfi_def_cfa (eax, 0)
+       cfi_offset (edi, oEDI)
+       cfi_offset (esi, oESI)
+       cfi_offset (ebp, oEBP)
+       cfi_offset (ebx, oEBX)
+       cfi_offset (edx, oEDX)
+       cfi_offset (ecx, oECX)
        movl    oESP(%eax), %esp
 
        /* Push the return address on the new stack so we can return there.  */
@@ -76,6 +83,10 @@ ENTRY(__setcontext)
        movl    oECX(%eax), %ecx
        movl    oEAX(%eax), %eax
 
+       /* End FDE here, we fall into another context.  */
+       cfi_endproc
+       cfi_startproc
+
        /* The following 'ret' will pop the address of the code and jump
           to it.  */
 
index d64d0a3..a9637be 100644 (file)
   .previous
 # else
 #  define SETUP_PIC_REG(reg) \
+  .ifndef __i686.get_pc_thunk.reg;                                           \
   .section .gnu.linkonce.t.__i686.get_pc_thunk.reg,"ax",@progbits;           \
   .globl __i686.get_pc_thunk.reg;                                            \
   .hidden __i686.get_pc_thunk.reg;                                           \
@@ -127,9 +128,13 @@ __i686.get_pc_thunk.reg:                                                 \
   ret;                                                                       \
   .size __i686.get_pc_thunk.reg, . - __i686.get_pc_thunk.reg;                \
   .previous;                                                                 \
+  .endif;                                                                    \
   call __i686.get_pc_thunk.reg
 # endif
 
+# define LOAD_PIC_REG(reg) \
+  SETUP_PIC_REG(reg); addl $_GLOBAL_OFFSET_TABLE_, %e##reg
+
 # if RTLD_PRIVATE_ERRNO
 #  define SYSCALL_ERROR_HANDLER                                                      \
 0:SETUP_PIC_REG(cx);                                                         \
index e660e6b..eefd4b4 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2002, 2004, 2005 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@gnu.org>.
 
@@ -33,6 +33,7 @@ ENTRY (__vfork)
 
        /* Pop the return PC value into ECX.  */
        popl    %ecx
+       cfi_adjust_cfa_offset (-4)
 
 #ifdef SAVE_PID
        SAVE_PID
@@ -46,6 +47,7 @@ ENTRY (__vfork)
           disturbs the branch target cache.  Instead push the return
           address back on the stack.  */
        pushl   %ecx
+       cfi_adjust_cfa_offset (4)
 
 #ifdef RESTORE_PID
        RESTORE_PID