diff options
Diffstat (limited to 'sysdeps/ia64/elf/initfini.c')
-rw-r--r-- | sysdeps/ia64/elf/initfini.c | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/sysdeps/ia64/elf/initfini.c b/sysdeps/ia64/elf/initfini.c index 59674fe6f2..d0a65ece80 100644 --- a/sysdeps/ia64/elf/initfini.c +++ b/sysdeps/ia64/elf/initfini.c @@ -1,5 +1,5 @@ /* Special .init and .fini section support for ia64. - Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2000, 2002, 2003, 2005 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 @@ -51,7 +51,6 @@ __asm__ ("\n\n" "\n" "/*@_init_PROLOG_BEGINS*/\n"); -#ifdef HAVE_INITFINI_ARRAY /* If we have working .init_array support, we want to keep the .init section empty (apart from the mandatory prologue/epilogue. This @@ -75,7 +74,6 @@ gmon_initializer (void) __asm__ (".section .init_array, \"aw\"\n" "\tdata8 @fptr(gmon_initializer)\n"); -#endif __asm__ (".section .init\n" " .global _init#\n" @@ -90,39 +88,20 @@ __asm__ (".section .init\n" " mov r33 = b0\n" " .body\n" " adds r12 = -16, r12\n" -#ifdef HAVE_INITFINI_ARRAY " ;;\n" /* see gmon_initializer() above */ -#else -" .weak __gmon_start__#\n" -" addl r14 = @ltoff(@fptr(__gmon_start__#)), gp\n" -" ;;\n" -" ld8 r15 = [r14]\n" -" ;;\n" -" cmp.eq p6, p7 = 0, r15\n" -" (p6) br.cond.dptk .L5\n" -"\n" -"/* we could use r35 to save gp, but we use the stack since that's what\n" -" * all the other init routines will do --davidm 00/04/05 */\n" -" st8 [r12] = gp, -16\n" -" br.call.sptk.many b0 = __gmon_start__# ;;\n" -" adds r12 = 16, r12\n" -" ;;\n" -" ld8 gp = [r12]\n" -" ;;\n" -".L5:\n" -#endif " .endp _init#\n" "\n" "/*@_init_PROLOG_ENDS*/\n" "\n" "/*@_init_EPILOG_BEGINS*/\n" +" .section .init\n" " .proc _init#\n" +"_init:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" " .save rp, r33\n" " .body\n" -" .section .init\n" " .regstk 0,2,0,0\n" " mov r12 = r32\n" " mov ar.pfs = r34\n" @@ -155,6 +134,7 @@ __asm__ (".section .init\n" "/*@_fini_EPILOG_BEGINS*/\n" " .section .fini\n" " .proc _fini#\n" +"_fini:\n" " .prologue\n" " .save ar.pfs, r34\n" " .vframe r32\n" |