aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-01-31 17:50:20 +0000
committerMark Mitchell <mark@codesourcery.com>2005-01-31 17:50:20 +0000
commit5cd3778de9c6505cbc54a3e6368d7d325a6b907b (patch)
treef032ca3edd95bac1822decd87ffa37cf7a0d3115 /bfd/elf32-arm.c
parentd342277e676c4cf7706c753635c55f4d48fd0fa8 (diff)
downloadgdb-5cd3778de9c6505cbc54a3e6368d7d325a6b907b.zip
gdb-5cd3778de9c6505cbc54a3e6368d7d325a6b907b.tar.gz
gdb-5cd3778de9c6505cbc54a3e6368d7d325a6b907b.tar.bz2
* elf32-arm.c (elf32_arm_symbian_special_sections): Do not set
SHF_WRITE for .init_array, .fini_array, and .preinit_array.
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c14
1 files changed, 10 insertions, 4 deletions
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 }
};