aboutsummaryrefslogtreecommitdiff
path: root/gas/config/obj-elf.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2002-03-04 20:40:48 +0000
committerH.J. Lu <hjl.tools@gmail.com>2002-03-04 20:40:48 +0000
commite9682144c14fc809af72bd6c0b8c69731d38679c (patch)
treee7c59db32815cdf747c2f17ca26127ed2881d8c0 /gas/config/obj-elf.c
parentb5090659de579b6a000367292b6a066dff022f5e (diff)
downloadgdb-e9682144c14fc809af72bd6c0b8c69731d38679c.zip
gdb-e9682144c14fc809af72bd6c0b8c69731d38679c.tar.gz
gdb-e9682144c14fc809af72bd6c0b8c69731d38679c.tar.bz2
2002-03-04 H.J. Lu <hjl@gnu.org>
* config/obj-elf.c (special_section): Add .init_array, .fini_array and .preinit_array. * config/tc-ia64.h (ELF_TC_SPECIAL_SECTIONS): Remove .init_array and .fini_array.
Diffstat (limited to 'gas/config/obj-elf.c')
-rw-r--r--gas/config/obj-elf.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index dcbff5d..0597eb7 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -595,6 +595,27 @@ static struct special_section const special_sections[] =
{ ".rodata", SHT_PROGBITS, SHF_ALLOC },
{ ".rodata1", SHT_PROGBITS, SHF_ALLOC },
{ ".text", SHT_PROGBITS, SHF_ALLOC + SHF_EXECINSTR },
+#if 0
+ /* FIXME: The current gcc, as of 2002-03-03, will emit
+
+ .section .init_array,"aw",@progbits
+
+ for __attribute__ ((section (".init_array"))). "@progbits" marks
+ the incorrect section type. For now, we make them with
+ SHT_PROGBITS. BFD will fix the section type. Gcc should be changed
+ to emit
+
+ .section .init_array
+
+ */
+ { ".init_array",SHT_INIT_ARRAY, SHF_ALLOC + SHF_WRITE },
+ { ".fini_array",SHT_FINI_ARRAY, SHF_ALLOC + SHF_WRITE },
+ { ".preinit_array",SHT_PREINIT_ARRAY, SHF_ALLOC + SHF_WRITE },
+#else
+ { ".init_array",SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
+ { ".fini_array",SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
+ { ".preinit_array",SHT_PROGBITS, SHF_ALLOC + SHF_WRITE },
+#endif
#ifdef ELF_TC_SPECIAL_SECTIONS
ELF_TC_SPECIAL_SECTIONS