2006-01-03 Steven Munroe * sysdeps/powerpc/powerpc32/sysdep.h (ENTRY, EALIGN): Add cfi_startproc directive to ENTRY macros. (END): Add cfi_endproc directive to END macro. * sysdeps/powerpc/powerpc64/sysdep.h (ENTRY, EALIGN): Add cfi_startproc directive to ENTRY macros. (END, END_GEN_TB): Add cfi_endproc directive to END macros. * sysdeps/powerpc/powerpc32/dl-start.S: Remove ENTRY()s for _dl_start_user and _dl_main_dispatch. * sysdeps/powerpc/powerpc32/fpu/fprrest.S: Use END macro. * sysdeps/powerpc/powerpc32/fpu/fprsave.S: Use END macro. * sysdeps/powerpc/powerpc32/gprrest0.S: Use END macro. * sysdeps/powerpc/powerpc32/gprrest1.S: Use END macro. * sysdeps/powerpc/powerpc32/gprsave0.S: Use END macro. * sysdeps/powerpc/powerpc32/gprsave1.S: Use END macro. * sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S: Remove redundant cfi_startproc and cfi_endproc. * sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S: Remove redundant cfi_startproc and cfi_endproc. diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/dl-start.S libc24/sysdeps/powerpc/powerpc32/dl-start.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/dl-start.S 2005-12-30 01:23:19.000000000 -0600 +++ libc24/sysdeps/powerpc/powerpc32/dl-start.S 2006-01-03 14:42:36.000000000 -0600 @@ -1,5 +1,5 @@ /* Machine-dependent ELF startup code. PowerPC version. - Copyright (C) 1995-2000, 2002, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1995-2000, 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 @@ -39,7 +39,7 @@ bl _dl_start@local /* FALLTHRU */ -ENTRY(_dl_start_user) +_dl_start_user: /* Now, we do our main work of calling initialisation procedures. The ELF ABI doesn't say anything about parameters for these, so we just pass argc, argv, and the environment. @@ -98,7 +98,7 @@ Take the opportunity to clear LR, so anyone who accidentally returns from _start gets SEGV. Also clear the next few words of the stack. */ -ENTRY(_dl_main_dispatch) +_dl_main_dispatch: li r31,0 stw r31,0(r1) mtlr r31 diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/fprrest.S libc24/sysdeps/powerpc/powerpc32/fpu/fprrest.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/fprrest.S 2002-09-05 03:59:21.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/fprrest.S 2006-01-03 14:48:16.855186048 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 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 @@ -13,8 +13,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. */ /* Floating Point Registers (FPRs) restore routine @@ -92,3 +92,4 @@ lfd fp30,-16(r1) #restore f30 lfd fp31,-8(r1) #restore f31 blr #return +END (_restfpr_all) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/fprsave.S libc24/sysdeps/powerpc/powerpc32/fpu/fprsave.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/fpu/fprsave.S 2002-09-05 03:59:40.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/fpu/fprsave.S 2006-01-03 14:48:32.599189088 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 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 @@ -13,8 +13,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. */ /* Floating Point Registers (FPRs) save routine @@ -91,3 +91,4 @@ stfd fp31,-8(r1) #save f31 stw r0,8(r1) #save LR in callers frame blr #return +END (_savefpr_all) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprrest0.S libc24/sysdeps/powerpc/powerpc32/gprrest0.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprrest0.S 2002-09-05 03:39:15.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/gprrest0.S 2006-01-03 14:31:29.864171216 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 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 @@ -13,8 +13,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. */ /* General Purpose Register (GPR) restore routine @@ -67,3 +67,4 @@ lwz r30,-8(r1) #restore r30 lwz r31,-4(r1) #restore r31 blr #return +END (_restgpr0_all) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprrest1.S libc24/sysdeps/powerpc/powerpc32/gprrest1.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprrest1.S 2002-09-05 03:40:02.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/gprrest1.S 2006-01-03 14:31:29.864171216 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 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 @@ -13,8 +13,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. */ /* General Purpose Register (GPR) restore routine @@ -61,3 +61,4 @@ lwz r30,-8(r12) #restore r30 lwz r31,-4(r12) #restore r31 blr #return +END (_restgpr1_all) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprsave0.S libc24/sysdeps/powerpc/powerpc32/gprsave0.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprsave0.S 2002-09-05 03:40:20.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/gprsave0.S 2006-01-03 14:31:29.878169088 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 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 @@ -13,8 +13,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. */ /* General Purpose Register (GPR) save routine @@ -66,3 +66,4 @@ stw r31,-4(r1) #save r31 stw r0,8(r1) #save LR in callers frame blr #return +END (_savegpr0_all) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprsave1.S libc24/sysdeps/powerpc/powerpc32/gprsave1.S --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/gprsave1.S 2002-09-05 03:40:32.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/gprsave1.S 2006-01-03 14:31:29.889167416 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 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 @@ -13,8 +13,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. */ /* General Purpose Register (GPR) save routine @@ -61,3 +61,4 @@ stw r30,-8(r12) #save r30 stw r31,-4(r12) #save r31 blr #return +END (_savegpr1_all) diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/sysdep.h libc24/sysdeps/powerpc/powerpc32/sysdep.h --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc32/sysdep.h 2005-06-17 18:02:09.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc32/sysdep.h 2006-01-03 14:31:29.890167264 -0600 @@ -1,5 +1,5 @@ /* Assembly macros for 32-bit PowerPC. - Copyright (C) 1999, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 1999, 2001, 2002, 2003, 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 @@ -31,7 +31,8 @@ for its benefit. */ # define CALL_MCOUNT \ mflr r0; \ - stw r0,4(r1); \ + stw r0,4(r1); \ + cfi_offset (lr, 4); \ bl JUMPTARGET(_mcount); #else /* PROF */ # define CALL_MCOUNT /* Do nothing. */ @@ -42,6 +43,7 @@ ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \ .align ALIGNARG(2); \ C_LABEL(name) \ + cfi_startproc; \ CALL_MCOUNT #define EALIGN_W_0 /* No words to insert. */ @@ -61,6 +63,7 @@ ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \ .align ALIGNARG(2); \ C_LABEL(name) \ + cfi_startproc; \ CALL_MCOUNT \ b 0f; \ .align ALIGNARG(alignt); \ @@ -72,11 +75,13 @@ ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \ .align ALIGNARG(alignt); \ EALIGN_W_##words; \ - C_LABEL(name) + C_LABEL(name) \ + cfi_startproc; #endif #undef END #define END(name) \ + cfi_endproc; \ ASM_SIZE_DIRECTIVE(name) #define DO_CALL(syscall) \ diff -urN libc24-cvstip-20060103/sysdeps/powerpc/powerpc64/sysdep.h libc24/sysdeps/powerpc/powerpc64/sysdep.h --- libc24-cvstip-20060103/sysdeps/powerpc/powerpc64/sysdep.h 2004-10-06 17:05:45.000000000 -0500 +++ libc24/sysdeps/powerpc/powerpc64/sysdep.h 2006-01-03 14:31:29.891167112 -0600 @@ -1,5 +1,5 @@ /* Assembly macros for 64-bit PowerPC. - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 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 @@ -92,7 +92,8 @@ #define ENTRY(name) \ ENTRY_2(name) \ .align ALIGNARG(2); \ -BODY_LABEL(name): +BODY_LABEL(name): \ + cfi_startproc; #define EALIGN_W_0 /* No words to insert. */ #define EALIGN_W_1 nop @@ -109,7 +110,8 @@ ENTRY_2(name) \ .align ALIGNARG(alignt); \ EALIGN_W_##words; \ -BODY_LABEL(name): +BODY_LABEL(name): \ + cfi_startproc; /* Local labels stripped out by the linker. */ #undef L @@ -173,11 +175,13 @@ /* END generates Traceback tables */ #undef END #define END(name) \ + cfi_endproc; \ TRACEBACK(name) \ END_2(name) /* This form supports more informative traceback tables */ #define END_GEN_TB(name,mask) \ + cfi_endproc; \ TRACEBACK_MASK(name,mask) \ END_2(name) diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2005-11-18 16:48:08.000000000 -0600 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S 2006-01-03 14:31:29.916163312 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1999, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1995,96,97,99, 2003, 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 @@ -13,8 +13,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 @@ -53,7 +53,6 @@ .text ENTRY(__socket) - cfi_startproc stwu r1,-48(r1) cfi_adjust_cfa_offset(48) #if NARGS >= 1 @@ -114,7 +113,6 @@ addi r1,r1,48 PSEUDO_RET #endif - cfi_endproc PSEUDO_END (__socket) diff -urN libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S libc24/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S --- libc24-cvstip-20060103/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S 2005-11-18 16:48:08.000000000 -0600 +++ libc24/sysdeps/unix/sysv/linux/powerpc/powerpc64/socket.S 2006-01-03 15:02:31.009271256 -0600 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1999, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1995,96,97,99, 2003, 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 @@ -13,8 +13,8 @@ You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ + write to the Free Software Foundation, Inc., 51 Franklin Street, + Fifth Floor, Boston MA 02110-1301, USA. */ #include #include @@ -52,7 +52,6 @@ .text ENTRY(__socket) CALL_MCOUNT NARGS - cfi_startproc stdu r1,-144(r1) cfi_adjust_cfa_offset(144) #if NARGS >= 1 @@ -117,7 +116,6 @@ addi r1,r1,144 PSEUDO_RET #endif - cfi_endproc PSEUDO_END (__socket) #ifndef NO_WEAK_ALIAS