aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-09-03 17:15:44 +0000
committerMark Mitchell <mark@codesourcery.com>2004-09-03 17:15:44 +0000
commite5a52504a53dcf6bfb4ac1b94cac6a952c3da118 (patch)
treece7af0b4625d1d493fa66a24c05963b27ed20a63 /gas/config
parentf3219c75e5e25c63696baf0b9fc94dd394c4718e (diff)
downloadbinutils-e5a52504a53dcf6bfb4ac1b94cac6a952c3da118.zip
binutils-e5a52504a53dcf6bfb4ac1b94cac6a952c3da118.tar.gz
binutils-e5a52504a53dcf6bfb4ac1b94cac6a952c3da118.tar.bz2
* config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
* configure.in (bfd_elf32_bigarm_symbian_vec): Add it. (bfd_elf32_littlearm_symbian_vec): Likewise. * configure: Regenerated. * elf-bfd.h (elf_backend_data): Add dynamic_sec_flags. * elf32-arm.h (PLT_HEADER_SIZE): Do not define. (PLT_ENTRY_SIZE): Likewise. (bfd_vma_elf32_arm_symbian_plt_entry): New variable. (elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size, and symbian_p. (create_got_section): Don't create sections when generating BPABI objects. (elf32_arm_create_dynamic_sections): Tidy. (elf32_arm_link_hash_table_create): Set plt_header_size, plt_entry_size, and symbian_p. (elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when generating BPABI objects. (allocate_dynrelocs): Use htab->plt_header_size, not PLT_HEADER_SIZE. Do not add to .got.plt when generating BPABI objects. (elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs. * elfarm-nabi.c: Add SymbianOS target vectors. * elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags. (_bfd_elf_link_create_dynamic_sections): Likewise. * elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro. (elfNN_bed): Use it. * targets.c (bfd_elf32_bigarm_symbian_vec): New variable. (bfd_elf32_littlearm_symbian_vec): Likewise. (_bfd_target_vector): Add them. * Makefile.am (TARG_ENV_HFILES): Add te-symbian.h. * Makefile.in: Regenerated. * configure.in: Set em for arm*-*-symbianelf*. * configure: Regenerated. * config/tc-arm.c (elf32_arm_target_format): Use Symbian target vectors when appropriate. * config/te-symbian.h: New file. * Makefile.am (ALL_EMULATIONS): Add earmsymbian.o. (earmsymbian.c): New target. * configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*. * Makefile.in: Regenerated. * aclocal.m4: Likewise. * configure: Likewise. * emulparams/armsymbian.sh: New file.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-arm.c6
-rw-r--r--gas/config/te-symbian.h3
2 files changed, 9 insertions, 0 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 37cfb51..da447c8 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -14099,6 +14099,11 @@ arm_fix_adjustable (fixP)
const char *
elf32_arm_target_format ()
{
+#ifdef TE_SYMBIAN
+ return (target_big_endian
+ ? "elf32-bigarm-symbian"
+ : "elf32-littlearm-symbian");
+#else
if (target_big_endian)
{
if (target_oabi)
@@ -14113,6 +14118,7 @@ elf32_arm_target_format ()
else
return "elf32-littlearm";
}
+#endif
}
void
diff --git a/gas/config/te-symbian.h b/gas/config/te-symbian.h
new file mode 100644
index 0000000..0522486
--- /dev/null
+++ b/gas/config/te-symbian.h
@@ -0,0 +1,3 @@
+#define TE_SYMBIAN 1
+#include "obj-elf.h"
+