summaryrefslogtreecommitdiffstats
path: root/gcc/config/ia64/crtbegin.asm
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-11-07 22:48:10 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-11-07 22:48:10 +0000
commit5646395db284960872ceedfef587b49035d29ebe (patch)
tree2cc5994f81d8776fc5e0b254f4578c6dcd94b4b3 /gcc/config/ia64/crtbegin.asm
parent8fb1488cd750fc8c0395874ff4fa42d4096ba191 (diff)
downloadppe42-gcc-5646395db284960872ceedfef587b49035d29ebe.tar.gz
ppe42-gcc-5646395db284960872ceedfef587b49035d29ebe.zip
* config/ia64/crtend.asm: Include "auto-host.h".
[HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array. * config/ia64/crtbegin.asm: Similarly. * config/ia64/t-ia64 (crtbegin.o): Include from current directory. (crtend.o, crtbeginS.o, crtendS.o): Likewise. * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New. * configure.in: Use it if --enable-initfini-array not specified. * doc/install.texi (Configuration): Document --enable-initfini-array. * configure, config.in: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58909 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64/crtbegin.asm')
-rw-r--r--gcc/config/ia64/crtbegin.asm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/ia64/crtbegin.asm b/gcc/config/ia64/crtbegin.asm
index 388b24e53b2..75ffc3d906c 100644
--- a/gcc/config/ia64/crtbegin.asm
+++ b/gcc/config/ia64/crtbegin.asm
@@ -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,15 @@ __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)
+
+#else /* !HAVE_INITFINI_ARRAY */
/*
* Fragment of the ELF _fini routine that invokes our dtor cleanup.
*
@@ -98,6 +109,7 @@ __dso_handle:
br.call.sptk.many b0 = b6
;;
}
+#endif /* !HAVE_INITFINI_ARRAY */
.section .text
.align 16
OpenPOWER on IntegriCloud