From 43850d5b4bc33f27ee2c8b66073a16350927b44c Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 6 May 2004 02:46:29 +0000 Subject: * configure.in (bfd_elf32_frvfdpic_vec): New. * configure: Rebuilt. * targets.c (bfd_elf32_frvfdpic_vec): New. * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default on the latter. * elf32-frv.c: Prefix all identifiers added for FDPIC support with frvfdpic instead of frv. Rearrange elf-target macros such that the FDPIC-specific ones are only defined for this new target vector. (bfd_elf32_frvfdpic_vec): Declare. (IS_FDPIC): New. (elf32_frv_relocate_section): Use it to enable segment checking and to control rofixup emission. Add output section vma to applied relocation in non-LOAD non-ALLOC sections. Use _bfd_error_handler for errors. (_frv_create_got_section): Create .rel.got and .rofixup only in FDPIC. Create non-dynamic _gp at .got+2048 in non-FDPIC, like the linker script. (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC. (elf32_frvfdpic_modify_segment_map): Likewise. (elf32_frv_finish_dynamic_sections): New, do-nothing. (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC. Improve error message if we miscompute the rofixup size. (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC. (frvfdpic_elf_encode_eh_address): Likewise. (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC. Record relocs only in FDPIC. Make sure _gp is defined for GPREL relocs. Reject unknown relocation types. (elf32_frv_object_p): Make sure target vector matches FDPIC bits. (frv_elf_merge_private_bfd_data): Likewise. (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as 0x4000 for newly-added elf32-frvfdpic. --- bfd/configure.in | 1 + 1 file changed, 1 insertion(+) (limited to 'bfd/configure.in') diff --git a/bfd/configure.in b/bfd/configure.in index 7d9594c..eafe2ae 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -601,6 +601,7 @@ do bfd_elf32_dlx_big_vec) tb="$tb elf32-dlx.lo elf32.lo $elf" ;; bfd_elf32_fr30_vec) tb="$tb elf32-fr30.lo elf32.lo $elf" ;; bfd_elf32_frv_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; + bfd_elf32_frvfdpic_vec) tb="$tb elf32-frv.lo elf32.lo $elf" ;; bfd_elf32_h8300_vec) tb="$tb elf32-h8300.lo elf32.lo $elf" ;; bfd_elf32_hppa_linux_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; -- cgit v1.1