From a073323c198e956e1645dbe302cb986b78c8a081 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sat, 25 Jan 2003 17:26:55 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 8 ++++++++ gcc/config/ia64/crtbegin.asm | 3 ++- gcc/config/ia64/crtend.asm | 15 ++++++++------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fbe7feba44d..a0e85ec86bb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2003-01-23 Andreas Schwab + + * 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 * 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 75ffc3d906c..cb49e10bc56 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, 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 17c3be41d89..303f30cbce8 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, 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: /* -- 2.30.2