From 5cd3778de9c6505cbc54a3e6368d7d325a6b907b Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Mon, 31 Jan 2005 17:50:20 +0000 Subject: [PATCH] * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set SHF_WRITE for .init_array, .fini_array, and .preinit_array. --- bfd/ChangeLog | 5 +++++ bfd/elf32-arm.c | 14 ++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9a9785f..f8b51e1 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2005-01-31 Mark Mitchell + + * elf32-arm.c (elf32_arm_symbian_special_sections): Do not set + SHF_WRITE for .init_array, .fini_array, and .preinit_array. + 2005-01-31 Nick Clifton * confg.bfd: Make targets scheduled for obsoletion (m68k-lynxos, diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 69feb32..032b05c 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -5849,18 +5849,24 @@ elf32_arm_symbian_link_hash_table_create (bfd *abfd) return ret; } -/* In a BPABI executable, the dynamic linking sections do not go in - the loadable read-only segment. The post-linker may wish to refer - to these sections, but they are not part of the final program - image. */ static struct bfd_elf_special_section const elf32_arm_symbian_special_sections[]= { + /* In a BPABI executable, the dynamic linking sections do not go in + the loadable read-only segment. The post-linker may wish to + refer to these sections, but they are not part of the final + program image. */ { ".dynamic", 8, 0, SHT_DYNAMIC, 0 }, { ".dynstr", 7, 0, SHT_STRTAB, 0 }, { ".dynsym", 7, 0, SHT_DYNSYM, 0 }, { ".got", 4, 0, SHT_PROGBITS, 0 }, { ".hash", 5, 0, SHT_HASH, 0 }, + /* These sections do not need to be writable as the SymbianOS + postlinker will arrange things so that no dynamic relocation is + required. */ + { ".init_array", 11, 0, SHT_INIT_ARRAY, SHF_ALLOC }, + { ".fini_array", 11, 0, SHT_FINI_ARRAY, SHF_ALLOC }, + { ".preinit_array", 14, 0, SHT_PREINIT_ARRAY, SHF_ALLOC }, { NULL, 0, 0, 0, 0 } }; -- 2.7.4