aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2003-01-25 17:26:55 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>2003-01-25 17:26:55 +0000
commita073323c198e956e1645dbe302cb986b78c8a081 (patch)
treec4725a798d5089421ca42e2eac665dd4ee2bf6d4 /gcc
parentfb8eab9658b0d233f37b970b068e80ce1d122648 (diff)
downloadgcc-a073323c198e956e1645dbe302cb986b78c8a081.zip
gcc-a073323c198e956e1645dbe302cb986b78c8a081.tar.gz
gcc-a073323c198e956e1645dbe302cb986b78c8a081.tar.bz2
crtend.asm [...]: Make __do_global_ctors_aux hidden global and don't put it in .init_array.
* config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make __do_global_ctors_aux hidden global and don't put it in .init_array. * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here instead so that it comes first. From-SVN: r61782
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/ia64/crtbegin.asm3
-rw-r--r--gcc/config/ia64/crtend.asm15
3 files changed, 18 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fbe7feb..a0e85ec 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2003-01-23 Andreas Schwab <schwab@suse.de>
+
+ * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
+ __do_global_ctors_aux hidden global and don't put it in
+ .init_array.
+ * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
+ instead so that it comes first.
+
Sat Jan 25 16:11:22 CET 2003 Jan Hubicka <jh@suse.cz>
* df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
diff --git a/gcc/config/ia64/crtbegin.asm b/gcc/config/ia64/crtbegin.asm
index 75ffc3d..cb49e10 100644
--- a/gcc/config/ia64/crtbegin.asm
+++ b/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
@@ -61,6 +61,7 @@ __dso_handle:
.section .init_array,"a","progbits"
data8 @fptr(__do_jv_register_classes)
+ data8 @fptr(__do_global_ctors_aux)
#else /* !HAVE_INITFINI_ARRAY */
/*
diff --git a/gcc/config/ia64/crtend.asm b/gcc/config/ia64/crtend.asm
index 17c3be4..303f30c 100644
--- a/gcc/config/ia64/crtend.asm
+++ b/gcc/config/ia64/crtend.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
@@ -33,12 +33,7 @@ __DTOR_END__:
__JCR_END__:
data8 0
-#ifdef HAVE_INITFINI_ARRAY
-
-.section .init_array,"a","progbits"
- data8 @fptr(__do_global_ctors_aux)
-
-#else /* !HAVE_INITFINI_ARRAY */
+#ifndef HAVE_INITFINI_ARRAY
/*
* Fragment of the ELF _init routine that invokes our dtor cleanup.
*
@@ -71,6 +66,12 @@ __JCR_END__:
.text
.align 16
+#ifdef HAVE_INITFINI_ARRAY
+ /* This is referenced from crtbegin.o. */
+ .globl __do_global_ctors_aux#
+ .type __do_global_ctors_aux#,@function
+ .hidden __do_global_ctors_aux#
+#endif
.proc __do_global_ctors_aux#
__do_global_ctors_aux:
/*