From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20370 invoked by alias); 4 Jan 2006 23:53:55 -0000 Received: (qmail 20350 invoked by uid 22791); 4 Jan 2006 23:53:54 -0000 X-Spam-Check-By: sourceware.org Received: from e4.ny.us.ibm.com (HELO e4.ny.us.ibm.com) (32.97.182.144) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 04 Jan 2006 23:53:51 +0000 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e4.ny.us.ibm.com (8.12.11/8.12.11) with ESMTP id k04NrguR016993 for ; Wed, 4 Jan 2006 18:53:42 -0500 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay04.pok.ibm.com (8.12.10/NCO/VERS6.8) with ESMTP id k04Nrfpu112660 for ; Wed, 4 Jan 2006 18:53:41 -0500 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.12.11/8.13.3) with ESMTP id k04NrfHo009018 for ; Wed, 4 Jan 2006 18:53:41 -0500 Received: from [9.10.86.22] (spokane1.rchland.ibm.com [9.10.86.22]) by d01av02.pok.ibm.com (8.12.11/8.12.11) with ESMTP id k04Nrfwr008984; Wed, 4 Jan 2006 18:53:41 -0500 Message-ID: <43BC618A.1000006@us.ibm.com> Date: Wed, 04 Jan 2006 23:53:00 -0000 From: Steven Munroe User-Agent: Mozilla/5.0 (X11; U; Linux ppc64; en-US; rv:1.7.8) Gecko/20050921 MIME-Version: 1.0 To: libc-hacker@sources.redhat.com, Alan Modra Subject: [PATCH] PPC32 cfi update part3 Content-Type: multipart/mixed; boundary="------------030907000601070305060600" Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2006-01/txt/msg00021.txt.bz2 This is a multi-part message in MIME format. --------------030907000601070305060600 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-length: 343 Removed the cfi directives from the epilogue and used DW_CFA_same_value to indicate when LR is restored from the tmp register as Alan Modra suggested. I found that binutils 2.15 implemented .cfi_same_value but the cfi_same_value was not defined by ./sysdeps/generic/sysdep.h so I added that macro. I think this is better than .cfi_escape. --------------030907000601070305060600 Content-Type: text/plain; name="ppc32-cfi-20060103.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ppc32-cfi-20060103.txt" Content-length: 37194 2006-01-03 Steven Munroe * 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/fpu/s_ceil.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_ceilf.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Add CFI directive for stack. * sysdeps/powerpc/powerpc32/fpu/s_floor.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_floorf.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_lround.S: Add CFI directives for stack and LR save. Don't use negative stack addressing. * sysdeps/powerpc/powerpc32/fpu/s_rint.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_rintf.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_round.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_roundf.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_trunc.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/s_truncf.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Add CFI directive for LR save to register. * sysdeps/powerpc/powerpc32/lshift.S: Add CFI directive for LR save. * sysdeps/powerpc/powerpc32/ppc-mcount.S: Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S: Add CFI directive for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Add CFI directive for stack. * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S: Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S (__makecontext, __novec_makecontext): Add CFI directive for LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S: Add CFI directives for stack and LR save. * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S: Add CFI directives for stack and LR save. diff -urN libc24-cvstip-20060103/sysdeps/generic/sysdep.h libc24/sysdeps/generic/sysdep.h --- libc24-cvstip-20060103/sysdeps/generic/sysdep.h 2003-08-31 12:21:03.000000000 -0500 +++ libc24/sysdeps/generic/sysdep.h 2006-01-04 16:23:38.357222576 -0600 @@ -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 diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/dl-trampoline.S libc24/sysdeps/powerpc/powerpc32/dl-trampoline.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/dl-trampoline.S 2005-07-06 21:34:56.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/dl-trampoline.S 2006-01-03 14:44:31.000000000 -0600 @@ -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 @@ -24,9 +24,11 @@ .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 @@ 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 @@ # '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 @@ # ...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 @@ .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 @@ 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 @@ # '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 @@ # ...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 diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S libc24/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S 2005-12-29 16:00:03.000000000 -0600 +++ libc24/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S 2006-01-04 16:24:55.741304784 -0600 @@ -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 #define _ASM @@ -34,6 +34,7 @@ #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 @@ # 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 diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_ceil.S libc24/sysdeps/powerpc/powerpc32/fpu/s_ceil.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_ceil.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_ceil.S 2006-01-04 16:51:40.184258272 -0600 @@ -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 @@ -29,19 +29,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S libc24/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_ceilf.S 2006-01-04 16:51:04.184273168 -0600 @@ -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 @@ -29,19 +29,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_copysign.S libc24/sysdeps/powerpc/powerpc32/fpu/s_copysign.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_copysign.S 2005-05-26 09:30:44.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_copysign.S 2006-01-03 14:33:01.000000000 -0600 @@ -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 @@ 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 diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_floor.S libc24/sysdeps/powerpc/powerpc32/fpu/s_floor.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_floor.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_floor.S 2006-01-04 16:50:35.808195280 -0600 @@ -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 @@ -29,19 +29,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_floorf.S libc24/sysdeps/powerpc/powerpc32/fpu/s_floorf.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_floorf.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_floorf.S 2006-01-04 16:50:01.033289520 -0600 @@ -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 @@ -29,19 +29,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_lround.S libc24/sysdeps/powerpc/powerpc32/fpu/s_lround.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_lround.S 2005-11-18 16:48:11.000000000 -0600 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_lround.S 2006-01-04 16:47:06.554187376 -0600 @@ -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 @@ -39,8 +39,11 @@ 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 @@ 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 @@ 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; */ diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_rint.S libc24/sysdeps/powerpc/powerpc32/fpu/s_rint.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_rint.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_rint.S 2006-01-04 16:48:53.753266872 -0600 @@ -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. */ @@ -31,19 +31,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_rintf.S libc24/sysdeps/powerpc/powerpc32/fpu/s_rintf.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_rintf.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_rintf.S 2006-01-04 16:52:47.783233736 -0600 @@ -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 @@ -28,19 +28,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_round.S libc24/sysdeps/powerpc/powerpc32/fpu/s_round.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_round.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_round.S 2006-01-04 16:54:26.166187832 -0600 @@ -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 @@ -41,6 +41,7 @@ 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 @@ lwz r9,.LC0@got(10) # endif mtlr r11 + cfi_same_value (lr) lfs fp13,0(r9) #else lis r9,.LC0@ha diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_roundf.S libc24/sysdeps/powerpc/powerpc32/fpu/s_roundf.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_roundf.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_roundf.S 2006-01-04 16:55:17.254275688 -0600 @@ -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 @@ -41,6 +41,7 @@ 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 @@ lwz r9,.LC0@got(10) # endif mtlr r11 + cfi_same_value (lr) lfs fp13,0(r9) #else lis r9,.LC0@ha diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_trunc.S libc24/sysdeps/powerpc/powerpc32/fpu/s_trunc.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_trunc.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_trunc.S 2006-01-04 16:55:56.086230088 -0600 @@ -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 @@ -36,19 +36,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_truncf.S libc24/sysdeps/powerpc/powerpc32/fpu/s_truncf.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/s_truncf.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/s_truncf.S 2006-01-04 16:57:11.541207592 -0600 @@ -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 @@ -36,19 +36,20 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S libc24/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S 2005-12-30 15:02:52.000000000 -0600 +++ libc24/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S 2006-01-04 16:59:17.610213128 -0600 @@ -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 #define _ASM @@ -85,6 +85,7 @@ #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 @@ 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 diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/lshift.S libc24/sysdeps/powerpc/powerpc32/lshift.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/lshift.S 2002-09-05 03:31:33.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/lshift.S 2006-01-04 17:01:17.004302136 -0600 @@ -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 #include @@ -67,6 +67,7 @@ /* 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 @@ 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 diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/ppc-mcount.S libc24/sysdeps/powerpc/powerpc32/ppc-mcount.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/ppc-mcount.S 2005-06-17 18:03:48.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/ppc-mcount.S 2006-01-04 11:37:20.426223720 -0600 @@ -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 @@ 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 diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S 2005-06-17 18:09:36.000000000 -0500 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/brk.S 2006-01-04 13:37:18.634276184 -0600 @@ -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 #define _ERRNO_H 1 @@ -27,32 +27,34 @@ .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 diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S 2005-05-21 14:27:08.000000000 -0500 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S 2006-01-04 17:22:01.475263360 -0600 @@ -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 #define _ERRNO_H 1 @@ -49,6 +49,7 @@ /* Set up stack frame for parent. */ stwu r1,-32(r1) + cfi_adjust_cfa_offset (32) #ifdef RESET_PID stmw r28,16(r1) #else diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S 2005-12-29 15:06:08.000000000 -0600 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S 2006-01-04 13:38:57.410303696 -0600 @@ -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 @@ 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) diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S 2005-05-21 14:27:08.000000000 -0500 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S 2006-01-04 17:03:37.906183816 -0600 @@ -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 #include @@ -49,10 +49,12 @@ /* 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 @@ /* 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 diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S 2005-12-29 15:06:54.000000000 -0600 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S 2006-01-04 13:39:56.521237120 -0600 @@ -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) diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S 2005-12-29 15:07:44.000000000 -0600 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S 2006-01-04 17:27:03.600250912 -0600 @@ -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 @@ 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 @@ 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 @@ 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 @@ 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 --------------030907000601070305060600--