]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20050504T1818
authorJakub Jelinek <jakub@redhat.com>
Wed, 4 May 2005 18:33:36 +0000 (18:33 +0000)
committerJakub Jelinek <jakub@redhat.com>
Wed, 4 May 2005 18:33:36 +0000 (18:33 +0000)
80 files changed:
ChangeLog
fedora/branch.mk
fedora/glibc.spec.in
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 05e7ffd17f991af9d4341c0561d31f14207828f5..16b258d315728cd3b3dc91e95c763ade45ac5405 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 294fe6ecd528ec4eb83342347cbc9787f1e5c3cd..e86d4c158741e6aa40d2aca32a402e0ecfce9fb0 100644 (file)
@@ -1,5 +1,5 @@
 # This file is updated automatically by Makefile.
 glibc-branch := fedora
 glibc-base := HEAD
-fedora-sync-date := 2005-05-04 07:28 UTC
-fedora-sync-tag := fedora-glibc-20050504T0728
+fedora-sync-date := 2005-05-04 18:18 UTC
+fedora-sync-tag := fedora-glibc-20050504T1818
index a2351e222d69fabed9986a0a6dfd32598c29e6c9..6a25dcc73f0b97bc0c7a2720ae10a57a1e96d49a 100644 (file)
@@ -1,4 +1,4 @@
-%define glibcrelease 5
+%define glibcrelease 6
 %define auxarches i586 i686 athlon sparcv9 alphaev6
 %define prelinkarches noarch
 %define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 sparc64 ppc ppc64
@@ -494,10 +494,10 @@ rm -rf build-%{_target_cpu}-linux
 mkdir build-%{_target_cpu}-linux ; cd build-%{_target_cpu}-linux
 GCC=gcc
 %ifarch %{ix86}
-BuildFlags="-march=%{_target_cpu}"
+BuildFlags="-march=%{_target_cpu} -fasynchronous-unwind-tables"
 %endif
 %ifarch i686
-BuildFlags="-march=i686 -mtune=pentium4"
+BuildFlags="-march=i686 -mtune=pentium4 -fasynchronous-unwind-tables"
 %endif
 %ifarch alphaev6
 BuildFlags="-mcpu=ev6"
@@ -1339,6 +1339,10 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Wed May  4 2005 Jakub Jelinek <jakub@redhat.com> 2.3.5-6
+- update from CVS
+  - fix cancellation on i?86, add call frame information to i?86 assembly
+
 * Tue May  3 2005 Jakub Jelinek <jakub@redhat.com> 2.3.5-5
 - update from CVS
   - add some more UTF-8 locales (#156115)
index 19853974d788b1f2d757a7b4fa937e09a91e350a..9da445aa38b1988c36e2c366ff6a3e5de99479fa 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 53f081a7981f24d8cdc193cb34dbe5af1122b5b6..68157f8a68f8b4655d765e7fcc5dd7f72ccea03f 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 8acdd378821b8fd5d23e2b325ead4f6f8fdf100b..68779be04d7c3a6f98f68dc32a0100e08b32b42a 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 bbc58e796fe96fba3803d0c7f882e7c45f602d41..8c8d2170e408632526261d46ed36d6ca99c6afd0 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 e2508df4dfb3ffbafcfd6756833e866e1aebbb02..22826e996c655d2bdeda701757efff66b0f03f30 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 23c3f5922f3e85272dd7b695a4d147f19831f5b2..df501726c5c52f7dda74e14ecc143e5ddab287b2 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 981425ec7abc6ae4d1f167b6c917c6eae4765e5c..62a232471ffb2ed7b883e5c36a2aabec1c193883 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 17be69d575af32999782f2206a1dc2226a59221f..1906c605786e571417acac0077fa7d6e01d685d4 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 7b6885da184a2249ac79ed20da3371c12634f1ce..c7b548d25a309fe53b23145821890af3344e6814 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 6fb53a4acc944a41c44364f689ddd8c3c03df252..3566ec6effa2eaaeafebe95feddee0c8afaffc4e 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 a517929f2ace7bb3e1a3d7836e4c429d95589c0d..10ce6aed9ef3e5b3367c9b01c294dba91bebe759 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 6fda9bef89b516dac84300e1e77e9180b1efd4b8..8618c3fb35b2bdcdfef158df335fdc1f18ccbdb7 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 c7cacdfb0a7c5ae2bb08f1d39c7fe56313fd362b..5604e638f5f8eb4bc0c8ba6e0adc742db94e8299 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 e93184c21926dd270ffd4c71a5ebfd5bdd24d88b..525f08c96df6a5bb7d81dc94a78bafdbc1a6def8 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 0a89f5478496216d7256857d3df7967acab5791b..da5069d583832788be6c92231d78116710d16c94 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 25d350166363248ab9c3b792f8593876989a71ae..3811516be5072f909c6f7016000ee8e636036b68 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 4f7f0d57d9f1b0c8745f3e9cf63835a8171320a7..d80bf80239f3254582c732c9f0917b28377aed9d 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 88f28b423c29d3bdb95e24bcf959fdb285e64be5..9eb7b2a8263d290b6e0db368a8d6c768d67bd18e 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 f5c661a2d124e84d03e78e9391e3e3fc05025dd5..9de08f5de1331764ffa405eaec078a4782d0cd62 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 bdba1d3225479e63d73f309f243ed899ad914d3d..128bb2754c414f9639fa1f82d3364459903e74e2 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 bda3ea508e3807108fc902115804185159fd6b11..5023d3012ffade32d472c1906cfef25002758452 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 d100c0ac571dedca3f425ee94c716e81abb077b2..c554ca4ecbb0ece6be0edf25a6523bb475ddb83a 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 b3fa624f4db8655e50b7bd11add18d49886df5c9..c835b978b9fce6fc5c95511f523f88331ccd016f 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 080764b84a6296f7489df1548e063b7cfbb3285d..74f422816a4d31a6f9a47ec5f29a4ecda2397272 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 1596f6a700a2a0eb225c55f1e326895e96418bd8..7e334a361167b245081d6fcc9a215512e443a481 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 d41c29327d7a1e37b8cb07d1061b78290621155e..e99ee92cb036a49578a164b823cffd85db18857b 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 65644f8f0ecb2c4e3d0585a9eead8131cd065ef4..3f67d0befb9e81b0b49f7d83d1873b2e20c8303a 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 6c99d3b6f6fc216a69d9d672fbbc83ed6e215ef5..ca042b414b3d184a9159eea2c7364fec9f13bd26 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 32e6fd6071e1625282248dbc82a3a761f609f288..d0ce6afc222f797d45c6609288385c95088fad4e 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 5933460f644450568015fc72e917e4f8bef008b3..1040eead1c54f7b4a748856da6a93d18b71fc687 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 c69958bb570a2ea51f1f0e4cee1cfd21f3ca5e4c..e180b154669b2ca1d39d6884344d0efc8e978e93 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 03d5770efa3c2946c2effb0223ef14b880870dba..2ff4f6e08848a469823bd9f60d441e9a0ad031d4 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 f9dac170e0ead522bf0270976316d552f773ba27..637ad729c13ae91bc626e62e817516e81f90ed9f 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 50d17aea118a36a0e1abe19700ecdb514394df5f..47e3eb66a6a7b8f108ad2bac43d516c22dfb9d1c 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 396e05613503778f33c5a1b55fa7b63af0a6192e..f116854096e204c7285dbddc2ea072546573adb8 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 cbc7c99f0ed214be1d1ff36ad793d851e3a7bdfa..8bb0680bceec31e440b2bb3ebd2dfbc233586223 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 35e1ff6693559883d4c1a178aa5d2995338bb436..e7611836394ae8729520b3f66ab6cd447295c402 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 c2c64f0748e782af489a71bdc61d956d40b27655..88adb75b867894581463d36f644a1bdaed350ad3 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 4d491c02f854163358b253722dc001e5bf8752bb..2dc379b790a6aeb4e0bbdfbd67a3528a0c433d74 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 563105a917c7f31d82aee73e48761fea46199bf7..cfc822106e4b9d7de7f23d1fa543acea843ff1dd 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 00c4ab5b8eda36724d5fa969226860ffff0020de..8640bbc223a1d47a5442f792ad777bf6649b8de7 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 1417507ded78580a8b90a31814bed9a8757f9530..60ae57ee3e3a8ae51358fda907886c7fa990e55f 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 68d9c1a680457e00564e76072df814635b4d616d..0cf1ad7419fada8d28b7eccb4572a741857f8f6e 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 521afe2b60cba5e727fdd3f7a0b031e4e0cda610..99e53edd758b9c62cb1800e8af75982d034b11ba 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 ed547bdc8b79f2b7b0bb4df4d645ff619935a22c..1f559b311ed41361143f5cc20be321cfda615a6f 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 e8e5ecee09a217668d56506b4ae9c38cb5c4ad53..23bbec60243072c0bafd522185f611df5630dfdf 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 1deabc4f5447923cc9fed95bc827fb98a5ff5ef5..3de73f66612b864511b9cb698a6cb1920c0ef717 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 b34d79a5d841d360d499ac6e218e0b387b3e1d33..f6545e9fcd862fcb323c181ca08797eaa59b5fc2 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 d3bc3d7251bb194bb0444e1771ab12a38acea7cf..ec777fdf933832bdb679851e576a65fd10797774 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 d5283fcfeefa41c19d8050e8a776571d9ee01d86..6919ac902ea4ca08a55f744270aced0ad67d6234 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 26c407b606aa3d0986b7d9f68d277e8b8d22885a..4bca67d6b0442e759c5f49e1f0383f194aab552b 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 a15f54f1dabe93c38b184bd15ed3a6ae3ac1ff93..799875b335dfdaf75f960f46f3c57204b35d84ef 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 0f15e64de233f1114c687e8d64c5a18ab8790a59..2aa1a4e83d206a716e2bfaa80e37b4e4790f4918 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 90313d612ca1e4a7420de951c79f311229ad3974..c0211c11da85f61511380d01d5b285237be02ffc 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 d8bb382d9e66d0177342cd6b79106856141e9a42..52909139a9b64a48ece8317ccb81e9f5564331b7 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 21858650e2adac2e6c8d92ac5762ab5d24d02374..6a6b1d6c2bee0e8b8547e52fc177be1194fcaddc 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 d74dacb990778feddad21952318aed0c91447ff0..819af63a8dbe04cc179db9010dd69c8ccf233460 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 18955e36d94bcf6c659fc72a8206754c5a148099..1890c5dfa1d7ff84f475e55f9a0bd50834a20a9d 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 1fa267ef5091886f94f86f89bb69318b00147628..6ab457fc556d8451fac8f7b00f442fb7db549a51 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 b537c709a3f5a2cec1cd459cc8471d29d10416dc..15765d758f74aaee2e74a7d99c680bf92aa87be8 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 29eded369b0e9eebe8d8cd4348531adfa40a585c..7b88289d3e1f5eb3547ecb62d3b6fc74642eb41c 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 1c40a80082b638401ba58bd666f292fa0601b5f9..7c32c1adb69286519b45010356b5ac968a5b63ef 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 b9e578fde446cd7474eceb4ea1f12b861fa56dee..e8bc6478c165b58295fe05478dfacdffa2e5df7d 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 4f1c7413fc997f2a0fc2f38ef939f02a3f50a4d0..4bd5394bec11b2dd611b33232cffd8ea75841ca2 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 a433622246f3079e796ef7909323b4d146075d3d..b93b5c729f2cf00859efcf1a493f453a49a35282 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 2de8783816b6e23a72c21e8188b113463a92ad1e..0d0c07e7cf4d670bd54899d3b98a4d88bcf29f7e 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 e45db612870cd9a1238d9896374b54623c899cec..88b343b6fe417e179cad6575334806e40c1bb1d5 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 c9f64181c668ed8b339d160022c8b94308678495..e1e62b89d3270cf89225047f76e61b6739712340 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 f932213b99591556ddc49bda32edff0cbfe2daf1..7f8523d96d114e493aef02d33bd63d596265a8a1 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 69243d5c8cec3fff4728fe06650156de53d9c17f..54524ec120c9c33cb39a22ed960e6466074d5bea 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 68541d5d80c69713e577d16595c20844c3e5150e..76ba6047c153aee1a1dc1bb6b71b965ecf4ccff1 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 ec49b74b9ac546cfca00917d630ee150b3771297..03dc648c59c7080f822e0e81afdc95604c41f5d7 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 9f664de991a15208aacc81cb96c2114f9dd33807..10f8bc75a78959246fa46a968196a37eee05b15d 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 89d9f5f3567f0ff3a4b280f9b61391c088552a2d..4209453819e3e0024ea93df9c5056f5878c62953 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 22469b2b850b1c1358331ad6296c6f4899e1647b..c493cf9798ecd52bd0e58e2f6af944d197c637c8 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 d64d0a3a5c2dca671c3d68dfd1bff6cbce2d887e..a9637be33de0fce1714459fe1e50ce74cc6c8dd5 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 e660e6b70e0fb99ad8179cde6184aa054d0cdac5..eefd4b49cbfb94a73368bd452899073cbd308fed 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