From e5a52504a53dcf6bfb4ac1b94cac6a952c3da118 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Fri, 3 Sep 2004 17:15:44 +0000 Subject: * 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. --- bfd/targets.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bfd/targets.c') diff --git a/bfd/targets.c b/bfd/targets.c index bcb5715..05832d8 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -535,6 +535,7 @@ extern const bfd_target bfd_elf32_big_generic_vec; extern const bfd_target bfd_elf32_bigarc_vec; extern const bfd_target bfd_elf32_bigarm_oabi_vec; extern const bfd_target bfd_elf32_bigarm_vec; +extern const bfd_target bfd_elf32_bigarm_symbian_vec; extern const bfd_target bfd_elf32_bigmips_vec; extern const bfd_target bfd_elf32_cr16c_vec; extern const bfd_target bfd_elf32_cris_vec; @@ -563,6 +564,7 @@ extern const bfd_target bfd_elf32_little_generic_vec; extern const bfd_target bfd_elf32_littlearc_vec; extern const bfd_target bfd_elf32_littlearm_oabi_vec; extern const bfd_target bfd_elf32_littlearm_vec; +extern const bfd_target bfd_elf32_littlearm_symbian_vec; extern const bfd_target bfd_elf32_littlemips_vec; extern const bfd_target bfd_elf32_m32r_vec; extern const bfd_target bfd_elf32_m32rle_vec; @@ -831,6 +833,7 @@ static const bfd_target * const _bfd_target_vector[] = { &bfd_elf32_bigarc_vec, &bfd_elf32_bigarm_oabi_vec, &bfd_elf32_bigarm_vec, + &bfd_elf32_bigarm_symbian_vec, &bfd_elf32_bigmips_vec, &bfd_elf32_cr16c_vec, &bfd_elf32_cris_vec, @@ -861,6 +864,7 @@ static const bfd_target * const _bfd_target_vector[] = { &bfd_elf32_littlearc_vec, &bfd_elf32_littlearm_oabi_vec, &bfd_elf32_littlearm_vec, + &bfd_elf32_littlearm_symbian_vec, &bfd_elf32_littlemips_vec, &bfd_elf32_m32r_vec, &bfd_elf32_m32rle_vec, -- cgit v1.1