diff options
Diffstat (limited to 'contrib/gcc/config/ia64/crtbegin.asm')
-rw-r--r-- | contrib/gcc/config/ia64/crtbegin.asm | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/contrib/gcc/config/ia64/crtbegin.asm b/contrib/gcc/config/ia64/crtbegin.asm index 388b24e..cb49e10 100644 --- a/contrib/gcc/config/ia64/crtbegin.asm +++ b/contrib/gcc/config/ia64/crtbegin.asm @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc. Contributed by Jes Sorensen, <Jes.Sorensen@cern.ch> The GNU C Library is free software; you can redistribute it and/or @@ -16,6 +16,8 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include "auto-host.h" + .section .ctors,"aw","progbits" .align 8 __CTOR_LIST__: @@ -52,6 +54,16 @@ __dso_handle: .hidden __dso_handle# +#ifdef HAVE_INITFINI_ARRAY + +.section .fini_array,"a","progbits" + data8 @fptr(__do_global_dtors_aux) + +.section .init_array,"a","progbits" + data8 @fptr(__do_jv_register_classes) + data8 @fptr(__do_global_ctors_aux) + +#else /* !HAVE_INITFINI_ARRAY */ /* * Fragment of the ELF _fini routine that invokes our dtor cleanup. * @@ -98,6 +110,7 @@ __dso_handle: br.call.sptk.many b0 = b6 ;; } +#endif /* !HAVE_INITFINI_ARRAY */ .section .text .align 16 |