diff options
author | Andreas Schwab <schwab@suse.de> | 2003-01-25 17:26:55 +0000 |
---|---|---|
committer | Andreas Schwab <schwab@gcc.gnu.org> | 2003-01-25 17:26:55 +0000 |
commit | a073323c198e956e1645dbe302cb986b78c8a081 (patch) | |
tree | c4725a798d5089421ca42e2eac665dd4ee2bf6d4 | |
parent | fb8eab9658b0d233f37b970b068e80ce1d122648 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/ia64/crtbegin.asm | 3 | ||||
-rw-r--r-- | gcc/config/ia64/crtend.asm | 15 |
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: /* |