]> sourceware.org Git - glibc.git/commitdiff
* elf/tst-tls8.c (do_test): Use $ORIGIN in module names.
authorUlrich Drepper <drepper@redhat.com>
Sat, 7 Jan 2006 03:58:05 +0000 (03:58 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 7 Jan 2006 03:58:05 +0000 (03:58 +0000)
2006-01-03  Steven Munroe  <sjmunroe@us.ibm.com>

* sysdeps/generic/sysdep.h (cfi_same_value): Define macro.

* sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve,
_dl_profile_resolve): Add CFI directives for stack and LR save.
Save LR in LRSAVE of previous frame per ABI.
* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add CFI directives
for LR save.
* sysdeps/powerpc/powerpc32/lshift.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
(__makecontext, __novec_makecontext): Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Add CFI directive
for LR save to register.
* sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Add CFI directive
for stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise.
* sysdeps/powerpc/powerpc32/ppc-mcount.S: Add CFI directives for stack
and LR save.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
Likewise.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
Likewise.
* sysdeps/powerpc/powerpc32/fpu/s_lround.S:  Likewise.  Don't use
negative stack addressing.

* sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve,
_dl_profile_resolve): Add CFI directives for stack and LR save.
* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Add CFI directives
for stack.
* sysdeps/powerpc/powerpc64/ppc-mcount.S (_mcount): Add CFI
directives for stack and LR save.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Add CFI
directives for stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Add CFI
directives for stack.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
(__getcontext, __novec_getcontext): Add CFI directives for stack
and LR save.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
(__makecontext): Add CFI directives for stack and LR save.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
(__setcontext, __novec_setcontext): Add CFI directives for stack
and LR save.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
(__swapcontext, __novec_swapcontext):  Add CFI directives for stack
and LR save.

35 files changed:
ChangeLog
elf/tst-tls8.c
sysdeps/generic/sysdep.h
sysdeps/powerpc/powerpc32/dl-trampoline.S
sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
sysdeps/powerpc/powerpc32/fpu/s_ceil.S
sysdeps/powerpc/powerpc32/fpu/s_ceilf.S
sysdeps/powerpc/powerpc32/fpu/s_copysign.S
sysdeps/powerpc/powerpc32/fpu/s_floor.S
sysdeps/powerpc/powerpc32/fpu/s_floorf.S
sysdeps/powerpc/powerpc32/fpu/s_lround.S
sysdeps/powerpc/powerpc32/fpu/s_rint.S
sysdeps/powerpc/powerpc32/fpu/s_rintf.S
sysdeps/powerpc/powerpc32/fpu/s_round.S
sysdeps/powerpc/powerpc32/fpu/s_roundf.S
sysdeps/powerpc/powerpc32/fpu/s_trunc.S
sysdeps/powerpc/powerpc32/fpu/s_truncf.S
sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
sysdeps/powerpc/powerpc32/lshift.S
sysdeps/powerpc/powerpc32/ppc-mcount.S
sysdeps/powerpc/powerpc64/dl-trampoline.S
sysdeps/powerpc/powerpc64/fpu/s_copysign.S
sysdeps/powerpc/powerpc64/ppc-mcount.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S

index ad42854f3af6f3ccb1f231c8aaf7dd3454b0acfd..7d51ce79226ce936a83c9b52a7d3858097ba63e3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,68 @@
+2006-01-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/tst-tls8.c (do_test): Use $ORIGIN in module names.
+
+2006-01-03  Steven Munroe  <sjmunroe@us.ibm.com>
+
+       * sysdeps/generic/sysdep.h (cfi_same_value): Define macro.
+
+       * sysdeps/powerpc/powerpc32/dl-trampoline.S (_dl_runtime_resolve,
+       _dl_profile_resolve): Add CFI directives for stack and LR save.
+       Save LR in LRSAVE of previous frame per ABI.
+       * sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S: Add CFI directives
+       for LR save.
+       * sysdeps/powerpc/powerpc32/lshift.S: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
+       (__makecontext, __novec_makecontext): Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_ceil.S: Add CFI directive
+       for LR save to register.
+       * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_round.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Add CFI directive
+       for stack.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Likewise.
+       * sysdeps/powerpc/powerpc32/ppc-mcount.S: Add CFI directives for stack
+       and LR save.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S:
+       Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S:
+       Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_lround.S:  Likewise.  Don't use
+       negative stack addressing.
+
+       * sysdeps/powerpc/powerpc64/dl-trampoline.S (_dl_runtime_resolve,
+       _dl_profile_resolve): Add CFI directives for stack and LR save.
+       * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Add CFI directives
+       for stack.
+       * sysdeps/powerpc/powerpc64/ppc-mcount.S (_mcount): Add CFI
+       directives for stack and LR save.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/brk.S (__brk): Add CFI
+       directives for stack.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S (__clone): Add CFI
+       directives for stack.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
+       (__getcontext, __novec_getcontext): Add CFI directives for stack
+       and LR save.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
+       (__makecontext): Add CFI directives for stack and LR save.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
+       (__setcontext, __novec_setcontext): Add CFI directives for stack
+       and LR save.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+       (__swapcontext, __novec_swapcontext):  Add CFI directives for stack
+       and LR save.
+
 2006-01-06  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Include tls.h.
index dd896c4937ef2d0deda257c8280eaec35d082eab..ccc4e9f6fa423dc39f895c40ad38b78239961938 100644 (file)
@@ -11,8 +11,8 @@ static int
 do_test (void)
 {
 #ifdef USE_TLS
-  static const char modname1[] = "tst-tlsmod3.so";
-  static const char modname2[] = "tst-tlsmod4.so";
+  static const char modname1[] = "$ORIGIN/tst-tlsmod3.so";
+  static const char modname2[] = "$ORIGIN/tst-tlsmod4.so";
   int result = 0;
   int (*fp1) (void);
   int (*fp2) (int, int *);
index 58c79281ed053d3fb97f732d8e22abf723b8d9e2..15d951c777a30f4a7d324784fae917ceaca732ae 100644 (file)
@@ -60,6 +60,7 @@
 #  define cfi_register(r1, r2)         .cfi_register r1, r2
 #  define cfi_return_column(reg)       .cfi_return_column reg
 #  define cfi_restore(reg)             .cfi_restore reg
+#  define cfi_same_value(reg)          .cfi_same_value reg
 #  define cfi_undefined(reg)           .cfi_undefined reg
 #  define cfi_remember_state           .cfi_remember_state
 #  define cfi_restore_state            .cfi_restore_state
@@ -76,6 +77,7 @@
 #  define cfi_register(r1, r2)
 #  define cfi_return_column(reg)
 #  define cfi_restore(reg)
+#  define cfi_same_value(reg)
 #  define cfi_undefined(reg)
 #  define cfi_remember_state
 #  define cfi_restore_state
index 506e8022b9fb04eb18319f5029969fe869e41ec2..392c109d4c7d9fd2213b4027c2b14abe12ddf9b4 100644 (file)
@@ -1,5 +1,5 @@
 /* PLT trampolines.  PPC32 version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
        .globl _dl_runtime_resolve
        .type _dl_runtime_resolve,@function
 _dl_runtime_resolve:
+       cfi_startproc
  # We need to save the registers used to pass parameters, and register 0,
  # which is used by _mcount; the registers are saved in a stack frame.
        stwu r1,-64(r1)
+       cfi_adjust_cfa_offset (64)
        stw r0,12(r1)
        stw r3,16(r1)
        stw r4,20(r1)
@@ -38,7 +40,8 @@ _dl_runtime_resolve:
        mflr r0
  # We also need to save some of the condition register fields
        stw r7,32(r1)
-       stw r0,48(r1)
+       stw r0,68(r1)
+       cfi_offset (lr, 4)
        stw r8,36(r1)
        mfcr r0
        stw r9,40(r1)
@@ -48,7 +51,7 @@ _dl_runtime_resolve:
  # 'fixup' returns the address we want to branch to.
        mtctr r3
  # Put the registers back...
-       lwz r0,48(r1)
+       lwz r0,68(r1)
        lwz r10,44(r1)
        lwz r9,40(r1)
        mtlr r0
@@ -64,6 +67,7 @@ _dl_runtime_resolve:
  # ...unwind the stack frame, and jump to the PLT entry we updated.
        addi r1,r1,64
        bctr
+       cfi_endproc
        .size    _dl_runtime_resolve,.-_dl_runtime_resolve
 
 #ifndef PROF
@@ -71,9 +75,11 @@ _dl_runtime_resolve:
        .globl _dl_prof_resolve
        .type _dl_prof_resolve,@function
 _dl_prof_resolve:
+       cfi_startproc
  # We need to save the registers used to pass parameters, and register 0,
  # which is used by _mcount; the registers are saved in a stack frame.
        stwu r1,-320(r1)
+       cfi_adjust_cfa_offset (320)
        /* Stack layout:
 
          +312   stackframe
@@ -122,7 +128,8 @@ _dl_prof_resolve:
        mflr r5
  # We also need to save some of the condition register fields.
        stw r7,32(r1)
-       stw r5,308(r1)
+       stw r5,324(r1)
+       cfi_offset (lr, 4)
        stw r8,36(r1)
        mfcr r0
        stw r9,40(r1)
@@ -147,7 +154,7 @@ _dl_prof_resolve:
  # 'fixup' returns the address we want to branch to.
        mtctr r3
  # Put the registers back...
-       lwz r0,308(r1)
+       lwz r0,324(r1)
        lwz r10,44(r1)
        lwz r9,40(r1)
        mtlr r0
@@ -172,5 +179,6 @@ _dl_prof_resolve:
  # ...unwind the stack frame, and jump to the PLT entry we updated.
        addi r1,r1,320
        bctr
+       cfi_endproc
        .size    _dl_prof_resolve,.-_dl_prof_resolve
 #endif
index 022d7ebbadbbbb3ef34a5f56e31b5d7918c45bc9..644e626aa88f2bef465787e0e53090d6572eaafd 100644 (file)
@@ -1,5 +1,5 @@
 /* longjmp for PowerPC.
-   Copyright (C) 1995-99, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1995-99, 2000, 2003-2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #define _ASM
@@ -34,6 +34,7 @@ ENTRY (BP_SYM (__longjmp))
 #ifndef __NO_VMX__
 # ifdef PIC
        mflr    r6
+       cfi_register (lr,r6)
 #  ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r5
@@ -46,10 +47,12 @@ ENTRY (BP_SYM (__longjmp))
 #  ifdef SHARED
        lwz     r5,_rtld_global_ro@got(r5)
        mtlr    r6
+       cfi_same_value (lr)
        lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
 #  else
        lwz     r5,_dl_hwcap@got(r5)
        mtlr    r6
+       cfi_same_value (lr)
        lwz     r5,0(r5)
 #  endif
 # else
index 13afba88f02b89f927bf74da1e38223cb4e87b9a..2e0e6a87a997b076d148aec4a588514b0134d675 100644 (file)
@@ -1,5 +1,5 @@
 /* ceil function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -29,19 +29,20 @@ ENTRY (__ceil)
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index f8ca1de08c8be0423da59acfd022fcbe60e2b9d2..47a75ec0c3295f1ffc73c1d610d51b4c7e05d395 100644 (file)
@@ -1,5 +1,5 @@
 /* float ceil function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -29,19 +29,20 @@ ENTRY (__ceilf)
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index ee2c09cba8cdb0bc42763cd66e85e189d15fc57a..39d7d1c7709893d764eff340b48adb3c94c6cdd6 100644 (file)
@@ -1,5 +1,5 @@
 /* Copy a sign bit between floating-point values.
-   Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 /* This has been coded in assembler because GCC makes such a mess of it
    when it's coded in C.  */
@@ -27,6 +27,7 @@ ENTRY(__copysign)
    copysign(x,y) returns a value with the magnitude of x and
    with the sign bit of y.  */
        stwu    r1,-16(r1)
+       cfi_adjust_cfa_offset (16)
        stfd    fp2,8(r1)
        lwz     r3,8(r1)
        cmpwi   r3,0
index 5dfe8f2d9a12d70134bee63ffea76f420cab58a1..5942d09181a514839dbfee18a074ae80c01f1c92 100644 (file)
@@ -1,5 +1,5 @@
 /* Floor function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -29,19 +29,20 @@ ENTRY (__floor)
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index 31b71ad229652d49e67f92241179e46abd077df9..99fbdc5f86deb12bb9f414a485aa899d1465c9c1 100644 (file)
@@ -1,5 +1,5 @@
 /* float Floor function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -29,19 +29,20 @@ ENTRY (__floorf)
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index 4f543eb269638b2284709fc0de18fe378e95c075..67e58848d0c91bbf2703489a9316344f48c22869 100644 (file)
@@ -1,5 +1,5 @@
 /* lround function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
    to the integer value.  */
 
 ENTRY (__lround)
+       stwu    r1,-16(r1)
+       cfi_adjust_cfa_offset (16)
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
@@ -52,6 +55,7 @@ ENTRY (__lround)
        lwz     r9,.LC0@got(10)
 # endif
        mtlr    r11
+       cfi_same_value (lr)
        lfs     fp12,0(r9)
 #else
        lis     r9,.LC0@ha
@@ -68,11 +72,12 @@ ENTRY (__lround)
        fadd    fp1,fp1,fp10    /* x+= 0.5;  */
 .L9:
        fctiwz  fp2,fp1         /* Convert To Integer DW lround toward 0.  */
-       stfd    fp2,-8(r1)
+       stfd    fp2,8(r1)
        nop     /* Ensure the following load is in a different dispatch  */
        nop     /* group to avoid pipe stall on POWER4&5.  */
        nop
-       lwz     r3,-4(r1)
+       lwz     r3,12(r1)
+       addi    r1,r1,16
        blr
 .L4:
        fsub    fp1,fp1,fp10    /* x-= 0.5;  */
index 1cfcd78b5c21ff22a961af6bd5c5c4db073d530f..041cb58b84f9b6f32cada57c1ba5b4886f55cdaa 100644 (file)
@@ -1,5 +1,5 @@
 /* Round to int floating-point values.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 /* This has been coded in assembler because GCC makes such a mess of it
    when it's coded in C.  */
 ENTRY (__rint)
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index 93c02667fe9add58602d9a818287b2d1f4f3288b..7771cb2bc84c179b7a31f0d381786c1be9974c72 100644 (file)
@@ -1,5 +1,5 @@
 /* Round float to int floating-point values.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
 ENTRY (__rintf)
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index 53b45916d10d21a0874ae95cbab35d4a541e6dcc..04ba9422d9abbbfe6599a3bc0287e7e9f2776e4f 100644 (file)
@@ -1,5 +1,5 @@
 /* round function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -41,6 +41,7 @@ ENTRY (__round)
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
@@ -52,6 +53,7 @@ ENTRY (__round)
        lwz     r9,.LC0@got(10)
 # endif
        mtlr    r11
+       cfi_same_value (lr)
        lfs     fp13,0(r9)
 #else
        lis     r9,.LC0@ha
index 39ba08655adbc9ca805287483137effb5a90d786..7e99bca315285b64c86dc8f84708bffdb8cbc375 100644 (file)
@@ -1,5 +1,5 @@
 /* roundf  function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -41,6 +41,7 @@ ENTRY (__roundf )
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
@@ -52,6 +53,7 @@ ENTRY (__roundf )
        lwz     r9,.LC0@got(10)
 # endif
        mtlr    r11
+       cfi_same_value (lr)
        lfs     fp13,0(r9)
 #else
        lis     r9,.LC0@ha
index 827e8cb940c747c253b399f1cc78c2bf40afbb01..4ea4e074c800b2368bd0cefa0535e427afcd6465 100644 (file)
@@ -1,5 +1,5 @@
 /* trunc function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -36,19 +36,20 @@ ENTRY (__trunc)
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index 55e7a74b417b2cb7e375d07af90ae493e04e8311..0005d501603597c39854e3c147ab9bb586c3074e 100644 (file)
@@ -1,5 +1,5 @@
 /* truncf function.  PowerPC32 version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 
@@ -36,19 +36,20 @@ ENTRY (__truncf)
        mffs    fp11            /* Save current FPU rounding mode.  */
 #ifdef SHARED
        mflr    r11
+       cfi_register(lr,r11)
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r9
        addis   r9,r9,.LC0-1b@ha
-       mtlr    r11
        lfs     fp13,.LC0-1b@l(r9)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r10
        lwz     r9,.LC0@got(10)
-       mtlr    r11
        lfs     fp13,0(r9)
 # endif
+       mtlr    r11
+       cfi_same_value (lr)
 #else
        lis     r9,.LC0@ha
        lfs     fp13,.LC0@l(r9)
index 3afcf66fb980b19f881ee7af6f0a5dff5ac1b6ba..e38c7b8d6e234bfea3579f61287653814e04064a 100644 (file)
@@ -1,5 +1,5 @@
 /* setjmp for PowerPC.
-   Copyright (C) 1995-2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1995-2000, 2003-2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 1 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #define _ASM
@@ -85,6 +85,7 @@ ENTRY (BP_SYM (__sigsetjmp))
 #ifndef __NO_VMX__
 # ifdef PIC
        mflr    r6
+       cfi_register(lr,r6)
 #  ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r5
@@ -94,13 +95,13 @@ ENTRY (BP_SYM (__sigsetjmp))
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r5
 #  endif
+       mtlr    r6
+       cfi_same_value (lr)
 #  ifdef SHARED
        lwz     r5,_rtld_global_ro@got(r5)
-       mtlr    r6
        lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r5)
 #  else
        lwz     r5,_dl_hwcap@got(r5)
-       mtlr    r6
        lwz     r5,0(r5)
 #  endif
 # else
index 9f5870d828c372536d1bb8df422648a8a817c44a..65054f229de50ae549e01ea3099695720ef65927 100644 (file)
@@ -1,5 +1,5 @@
 /* Shift a limb left, low level routine.
-   Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2000, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #include <bp-sym.h>
@@ -67,6 +67,7 @@ L(boom): tweq    r0,r0
 /* We imitate a case statement, by using (yuk!) fixed-length code chunks,
    of size 4*12 bytes.  We have to do this (or something) to make this PIC.  */
 L(big):        mflr    r9
+       cfi_register(lr,r9)
        bltl-   cr0,L(boom)     # Never taken, only used to set LR.
        slwi    r10,r6,4
        mflr    r12
@@ -75,7 +76,8 @@ L(big):       mflr    r9
        add     r10,r8,r10
        mtctr   r10
        addi    r5,r5,-1
-       mtlr    r9
+       mtlr    r9
+       cfi_same_value (lr)
        bctr
 
 L(end2):slw    r0,r10,r6
index c1a08d379c28e58fdf1947cc5d43383bf9d63989..7e39acb55b5460c70ac16e78af66ae68b203f9a7 100644 (file)
@@ -1,5 +1,5 @@
 /* PowerPC-specific implementation of profiling support.
-   Copyright (C) 1997, 1999, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 /* This would be bad.  */
 #ifdef PROF
@@ -42,6 +42,7 @@
 
 ENTRY(_mcount)
        stwu    r1,-48(r1)
+       cfi_adjust_cfa_offset (48)
 /* We need to save the parameter-passing registers.  */
        stw     r3, 12(r1)
        stw     r4, 16(r1)
@@ -55,6 +56,7 @@ ENTRY(_mcount)
        stw     r9, 36(r1)
        stw     r10,40(r1)
        stw     r4, 44(r1)
+       cfi_offset (lr, -4)
        stw     r5,  8(r1)
        bl      __mcount_internal@local
        nop
index c90f9616151448318f4a029fabf208d52584d5cd..c5afe5a3fa30f800fb1e8d1bc80b1021b18e207e 100644 (file)
@@ -1,5 +1,5 @@
 /* PLT trampolines.  PPC64 version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #include <rtld-global-offsets.h>
@@ -31,6 +31,7 @@ EALIGN(_dl_runtime_resolve, 4, 0)
 /* We need to save the registers used to pass parameters, ie. r3 thru
    r10; the registers are saved in a stack frame.  */
        stdu    r1,-128(r1)
+       cfi_adjust_cfa_offset (128)
        std     r3,48(r1)
        mr      r3,r11
        std     r4,56(r1)
@@ -44,6 +45,7 @@ EALIGN(_dl_runtime_resolve, 4, 0)
        std     r8,88(r1)
 /* Store the LR in the LR Save area of the previous frame.  */
        std     r0,128+16(r1)
+       cfi_offset (lr, 16)
        mfcr    r0
        std     r9,96(r1)
        std     r10,104(r1)
@@ -178,6 +180,7 @@ EALIGN(_dl_profile_resolve, 4, 0)
 /* We need to save the registers used to pass parameters, ie. r3 thru
    r10; the registers are saved in a stack frame.  */
        stdu    r1,-FRAME_SIZE(r1)
+       cfi_adjust_cfa_offset (FRAME_SIZE)
        std     r3,INT_PARMS+0(r1)
        mr      r3,r11
        std     r4,INT_PARMS+8(r1)
@@ -193,6 +196,7 @@ EALIGN(_dl_profile_resolve, 4, 0)
 /* XXX Do we have to do this?  */
        la      r8,FRAME_SIZE(r1)
        std     r5,FRAME_SIZE+16(r1)
+       cfi_offset (lr, 16)
        std     r5,CALLING_LR(r1)
        mfcr    r0
        std     r9,INT_PARMS+48(r1)
index f083d2b7ead95c3004d413145280f2a1e49072af..c0fdf4196c1b1cd2784346ccf71d46f1e64dea84 100644 (file)
@@ -28,7 +28,11 @@ ENTRY(__copysign)
    copysign(x,y) returns a value with the magnitude of x and
    with the sign bit of y.  */
        stdu    r1,-48(r1)
+       cfi_adjust_cfa_offset (48)
        stfd    fp2,24(r1)
+       nop
+       nop
+       nop
        ld      r3,24(r1)
        cmpdi   r3,0
        addi    r1,r1,48
index 46cb9fdc8a719b390508cdf4bdb2bd3c84706786..5df9650577406dcaf2d4951b9c3c37ca451528be 100644 (file)
@@ -1,5 +1,5 @@
 /* PowerPC64-specific implementation of profiling support.
-   Copyright (C) 1997, 1999, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2002, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 /* We don't need to save the parameter-passing registers as gcc takes
@@ -26,7 +26,9 @@ ENTRY(_mcount)
        mflr             r4
        ld               r11, 0(r1)
        stdu             r1,-112(r1)
+       cfi_adjust_cfa_offset (112)
        std              r4, 128(r1)
+       cfi_offset (lr, 16)
        ld               r3, 16(r11)
        bl               JUMPTARGET(__mcount_internal)
        nop
index 21ad98e501c71ab59c19030d9fb8d7e6b17e12f9..e945834945b5d606c2e8a788ef71750752694ac3 100644 (file)
@@ -1,5 +1,5 @@
 /* brk system call for Linux/ppc.
-   Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995-97, 1999, 2000, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #define _ERRNO_H       1
        .section ".text"
 ENTRY (BP_SYM (__brk))
        DISCARD_BOUNDS (r3)     /* the bounds are meaningless, so toss 'em */
-
+       mflr    r0
        stwu    r1,-16(r1)
+       cfi_adjust_cfa_offset (16)
        stw     r3,8(r1)
+       stw     r0,20(r1)
+       cfi_offset (lr, 4)
        DO_CALL(SYS_ify(brk))
        lwz     r6,8(r1)
 #ifdef PIC
-       mflr    r4
 # ifdef HAVE_ASM_PPC_REL16
        bcl     20,31,1f
 1:     mflr    r5
        addis   r5,r5,__curbrk-1b@ha
-       mtlr    r4
        stw     r3,__curbrk-1b@l(r5)
 # else
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r5
        lwz     r5,__curbrk@got(r5)
-       mtlr    r4
        stw     r3,0(r5)
 # endif
 #else
        lis     r4,__curbrk@ha
        stw     r3,__curbrk@l(r4)
 #endif
+       lwz     r0,20(r1)
        cmplw   r6,r3
        addi    r1,r1,16
+       mtlr    r0
        li      r3,0
        blelr+
        li      r3,ENOMEM
index 43d44ea418f917aa41a98533f92a7236fa99efa2..f4c92ad7c74be084710bed8e7c01bf2fdb828b22 100644 (file)
@@ -1,5 +1,5 @@
 /* Wrapper around clone system call.
-   Copyright (C) 1997,98,99,2000,02,2004 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2000,02,04,2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #define _ERRNO_H       1
@@ -49,6 +49,7 @@ ENTRY (BP_SYM (__clone))
 
        /* Set up stack frame for parent.  */
        stwu    r1,-32(r1)
+       cfi_adjust_cfa_offset (32)
 #ifdef RESET_PID
        stmw    r28,16(r1)
 #else
index 0e04e4bb59bc2decc1d83a959ee31b6da1a53266..c28c34664c8dac6f18d56af30589d8b2119d27b1 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context, powerpc32 common.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -40,6 +40,7 @@
 #endif
 ENTRY(__CONTEXT_FUNC_NAME)
        stwu    r1,-16(r1)
+       cfi_adjust_cfa_offset (16)
 /* Insure that the _UC_REGS start on a quadword boundary.  */
        stw     r3,_FRAME_PARM_SAVE1(r1)
        addi    r3,r3,_UC_REG_SPACE+12
@@ -55,6 +56,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
        stw     r0,_UC_GREGS+(PT_LNK*4)(r3)
        stw     r0,_UC_GREGS+(PT_NIP*4)(r3)
        stw     r0,_FRAME_LR_SAVE+16(r1)
+       cfi_offset (lr, _FRAME_LR_SAVE)
        stw     r5,_UC_GREGS+(PT_R5*4)(r3)
        stw     r6,_UC_GREGS+(PT_R6*4)(r3)
        stw     r7,_UC_GREGS+(PT_R7*4)(r3)
index b220f631ecf73660bbf99b87d660e59053c936e8..208a375ef3d1e54da347689f97c96b1606359fe2 100644 (file)
@@ -1,5 +1,5 @@
 /* Set up a context to call a function.
-   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #include <shlib-compat.h>
@@ -49,10 +49,12 @@ ENTRY(__makecontext)
        /* Set the function's LR to point to the exitcode below. */
 #ifdef PIC
        mflr    r0
+       cfi_register(lr,r0)
        bl      1f
 1:     mflr    r6
        addi    r6,r6,L(exitcode)-1b
        mtlr    r0
+       cfi_same_value (lr)
 #else
        lis     r6,L(exitcode)@ha
        addi    r6,r6,L(exitcode)@l
@@ -136,10 +138,12 @@ ENTRY(__novec_makecontext)
        /* Set the function's LR to point to the exitcode below. */
 #ifdef PIC
        mflr    r0
+       cfi_register(lr,r0)
        bl      1f
 1:     mflr    r6
        addi    r6,r6,L(novec_exitcode)-1b
        mtlr    r0
+       cfi_same_value (lr)
 #else
        lis     r6,L(novec_exitcode)@ha
        addi    r6,r6,L(novec_exitcode)@l
index c71fcd73d55205fc05696f07f80a1e713352f9d9..1a5251d1006857e592a32b7e0995958a43fc07cd 100644 (file)
@@ -1,5 +1,5 @@
 /* Jump to a new context powerpc32 common.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -41,7 +41,9 @@
 ENTRY(__CONTEXT_FUNC_NAME)
        mflr    r0
        stwu    r1,-16(r1)
+       cfi_adjust_cfa_offset (16)
        stw     r0,20(r1)
+       cfi_offset (lr, _FRAME_LR_SAVE)
        stw     r31,12(r1)
        lwz     r31,_UC_REGS_PTR(r3)
 
index 8b2998b8fd63cc0846f89fed0ee25e069a02a44a..0c7b945ed264b6ed761e9f4b08ca1889a61ecbc6 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context and jump to a new context.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -40,6 +40,7 @@
 #endif
 ENTRY(__CONTEXT_FUNC_NAME)
        stwu    r1,-16(r1)
+       cfi_adjust_cfa_offset (16)
 /* Insure that the _UC_REGS start on a quadword boundary.  */
        stw     r3,_FRAME_PARM_SAVE1(r1)
        addi    r3,r3,_UC_REG_SPACE+12
@@ -56,6 +57,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
        stw     r0,_UC_GREGS+(PT_LNK*4)(r3)
        stw     r0,_UC_GREGS+(PT_NIP*4)(r3)
        stw     r0,_FRAME_LR_SAVE+16(r1)
+       cfi_offset (lr, _FRAME_LR_SAVE)
        stw     r5,_UC_GREGS+(PT_R5*4)(r3)
        stw     r6,_UC_GREGS+(PT_R6*4)(r3)
        stw     r7,_UC_GREGS+(PT_R7*4)(r3)
@@ -309,13 +311,12 @@ ENTRY(__CONTEXT_FUNC_NAME)
        bl      _GLOBAL_OFFSET_TABLE_@local-4
        mflr    r7
 #   endif
+       mtlr    r8
 #   ifdef SHARED
        lwz     r7,_rtld_global_ro@got(r7)
-       mtlr    r8
        lwz     r7,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r7)
 #   else
        lwz     r7,_dl_hwcap@got(r7)
-       mtlr    r8
        lwz     r7,0(r7)
 #   endif
 #  else
@@ -467,7 +468,6 @@ ENTRY(__CONTEXT_FUNC_NAME)
        mtcr    r5
 
        /* Restore the general registers */
-       lwz     r1,_UC_GREGS+(PT_R1*4)(r31)
        lwz     r3,_UC_GREGS+(PT_R3*4)(r31)
        lwz     r4,_UC_GREGS+(PT_R4*4)(r31)
        lwz     r5,_UC_GREGS+(PT_R5*4)(r31)
@@ -496,6 +496,7 @@ ENTRY(__CONTEXT_FUNC_NAME)
        lwz     r28,_UC_GREGS+(PT_R28*4)(r31)
        lwz     r29,_UC_GREGS+(PT_R29*4)(r31)
        lwz     r30,_UC_GREGS+(PT_R30*4)(r31)
+       lwz     r1,_UC_GREGS+(PT_R1*4)(r31)
        lwz     r31,_UC_GREGS+(PT_R31*4)(r31)
 
        bctr
index 3f74f552718bfaf51ed49c452d2c6562a0088785..f2ac00d4c7288ca2c468b4685c29f7cb3143ed8d 100644 (file)
@@ -1,5 +1,5 @@
 /* brk system call for Linux.  PowerPC64 version.
-   Copyright (C) 1995,96,97,99, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1995,96,97,99, 2000,02, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #define _ERRNO_H       1
@@ -33,6 +33,7 @@ ENTRY (BP_SYM (__brk))
        DISCARD_BOUNDS (r3)     /* the bounds are meaningless, so toss 'em.  */
 
        stdu    r1,-64(r1)
+       cfi_adjust_cfa_offset (64)
        std     r3,48(r1)
        DO_CALL(SYS_ify(brk))
        ld     r6,48(r1)
index 287597c4802b1454dc3ce3f0321d57355cf4eeef..a0f018ba41b7d7f57488a0be85bbdfad299db5d8 100644 (file)
@@ -1,5 +1,5 @@
 /* Wrapper around clone system call.  PowerPC64 version.
-   Copyright (C) 1997,98,99,2000,02, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1997,98,99,2000,02,04, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #define _ERRNO_H       1
@@ -48,6 +48,7 @@ ENTRY (BP_SYM (__clone))
 
        /* Set up stack frame for parent.  */
        stdu    r1,-80(r1)
+       cfi_adjust_cfa_offset (80)
        std     r29,56(r1)
        std     r30,64(r1)
        std     r31,72(r1)
index 61e0f8ed11dbce5780ba008d1cab957302612871..a4a295a76ed35d9d32ccd1cc7996b2d0d39cf90a 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context.
-   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #include <rtld-global-offsets.h>
@@ -37,9 +37,11 @@ ENTRY(__novec_getcontext)
   mflr  r0
   std  r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   std  r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
   std  r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
   stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   std  r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
   std  r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
   std  r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
@@ -140,6 +142,7 @@ ENTRY(__novec_getcontext)
   /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
   mflr r0
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu r1,-128(r1)
   li   r3,ENOSYS
   bl   JUMPTARGET(__syscall_error)
@@ -175,9 +178,11 @@ ENTRY(__getcontext)
   mflr  r0
   std  r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   std  r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
   std  r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
   stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   std  r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
   std  r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
   std  r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
@@ -387,7 +392,9 @@ L(has_no_vec):
   /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
   mflr r0
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   li   r3,ENOSYS
   bl   JUMPTARGET(__syscall_error)
   nop
index cf71a6df19a90de5a05c5a352f95e844e79a6a09..943686264d4a5add9779655b3c7a831e519db213 100644 (file)
@@ -1,5 +1,5 @@
 /* Create new context.
-   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #include "kernel-features.h"
@@ -41,7 +41,9 @@ ENTRY(__makecontext)
   /* Get the address of the target functions first parameter.  */
   addi  r6,r1,FRAME_PARM4_SAVE
   std   r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
 
   /* Get the ucontexts stack pointer and size.  Compute the top of stack
      and round down to a quadword boundary.  Then stack a dummy frame
@@ -168,7 +170,9 @@ L(gotexitcodeaddr):
   /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
   mflr r0
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   li   r3,ENOSYS
   bl   JUMPTARGET(__syscall_error)
   nop
index 7eaaad20a437a42c59ef94d5fcaed4fad161c7ce..cc89451b5f5ec07c4ff1eb48e7d15a7e9c431173 100644 (file)
@@ -1,5 +1,5 @@
 /* Switch to context.
-   Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #include <rtld-global-offsets.h>
@@ -34,7 +34,9 @@ ENTRY(__novec_setcontext)
   mflr  r0
   std   r31,-8(1)
   std   r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   mr    r31,r3
 
 /*
@@ -200,7 +202,9 @@ ENTRY(__setcontext)
   mflr  r0
   std   r31,-8(1)
   std   r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   mr    r31,r3
 
 /*
@@ -443,7 +447,9 @@ L(do_sigret):
   /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
   mflr r0
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   li   r3,ENOSYS
   bl   JUMPTARGET(__syscall_error)
   nop
index 772adacfe4de1e836bc9aee01644d2dd3b7e3103..e45da5598f8928a0e2b172472bfd9e847d8f0361 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context and install the given one.
-   Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,8 +14,8 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+   02110-1301 USA.  */
 
 #include <sysdep.h>
 #include <rtld-global-offsets.h>
@@ -37,9 +37,11 @@ ENTRY(__novec_swapcontext)
   std   r31,-8(1)
   std  r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   std  r0,(SIGCONTEXT_GP_REGS+(PT_LNK*8))(r3)
   std  r0,(SIGCONTEXT_GP_REGS+(PT_NIP*8))(r3)
   stdu  r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   std  r4,(SIGCONTEXT_GP_REGS+(PT_R4*8))(r3)
   std  r5,(SIGCONTEXT_GP_REGS+(PT_R5*8))(r3)
   std  r6,(SIGCONTEXT_GP_REGS+(PT_R6*8))(r3)
@@ -744,7 +746,9 @@ L(do_sigret):
   /* If the kernel is not at least 2.4.21 then generate a ENOSYS stub.  */
   mflr r0
   std  r0,FRAME_LR_SAVE(r1)
+  cfi_offset (lr, FRAME_LR_SAVE)
   stdu r1,-128(r1)
+  cfi_adjust_cfa_offset (128)
   li   r3,ENOSYS
   bl   JUMPTARGET(__syscall_error)
   nop
This page took 0.116522 seconds and 5 git commands to generate.