Commit: V850: Add support for fixed ABI implementation

Nick Clifton nickc@redhat.com
Fri Nov 9 17:38:00 GMT 2012


Hi Guys,

  I am checking in the patch below to add support to the binutils for a
  GCC patch which corrects the ABI implementation for the V850 target.

  The new ABI uses a different machine code value (EM_V800) for V850
  binaries, so it has been implemented as a new bfd vector.

  The new ABI also specifies an option to support a maximum 64-bit
  alignment for objects created by the compiler so the patch adds
  support for distinguishing 32-bit aligned objects from 64-bit aligned
  objects.
  
  Tested with no regressions on a v850e-elf target.

Cheers
  Nick

bfd/ChangeLog
2012-11-09  Nick Clifton  <nickc@redhat.com>

	* Makefile.am (ALL_MACHINES): Add cpu-v850-rh850.lo.
	(ALL_MACHINES_CFILES): Add cpu-v850-rh850.c.
	* archures.c (bfd_arch_info): Add bfd_v850_rh850_arch.
	* config.bfd: Likewise.
	* configure.in: Add bfd_elf32_v850_rh850_vec.
	* cpu-v850.c: Update printed description.
	* cpu-v850_rh850.c: New file.
	* elf32-v850.c (v850_elf_check_relocs): Add support for RH850 ABI
	relocs.
	(v850_elf_perform_relocation): Likewise.
	(v850_elf_final_link_relocate): Likewise.
	(v850_elf_relocate_section): Likewise.
	(v850_elf_relax_section): Likewise.
	(v800_elf_howto_table): New.
	(v850_elf_object_p): Add support for RH850 ABI values.
	(v850_elf_final_write_processing): Likewise.
	(v850_elf_merge_private_bfd_data): Likewise.
	(v850_elf_print_private_bfd_data): Likewise.
	(v800_elf_reloc_map): New.
	(v800_elf_reloc_type_lookup): New.
	(v800_elf_reloc_name_lookup): New.
	(v800_elf_info_to_howto): New.
	(bfd_elf32_v850_rh850_vec): New.
	(bfd_arch_v850_rh850): New.
	* targets.c (_bfd_targets): Add bfd_elf32_v850_rh850_vec.
	* Makefile.in: Regenerate.
	* bfd-in2.h: Regenerate.
	* configure: Regenerate.

binutils/ChangeLog
2012-11-09  Nick Clifton  <nickc@redhat.com>

	* readelf.c (get_machine_flags): Add support for E_FLAG_RX_ABI.
	(guess_is_rela): Add EM_V800.
	(dump_relocations): Likewise.
	(get_machine_name): Update EM_V800.
	(get_machine_flags): Add support for RH850 ABI flags.
	(is_32bit_abs_reloc): Add support for RH850 ABI reloc.

gas/ChangeLog
2012-11-09  Nick Clifton  <nickc@redhat.com>

	* config/tc-v850.c (v850_target_arch): New.
	(v850_target_format): New.
	(set_machine): Use v850_target_arch.
	(md_begin): Likewise.
	(md_show_usage): Document new switches.
	(md_parse_option): Add -mgcc-abi, -mrh850-abi, -m8byte-align and
	-m4byte-align.
	* config/tc-v850.c (TARGET_ARCH) Use v850_target_arch.
	(TARGET_FORMAT): Use v850_target_format.
	* doc/c-v850.texi: Document new options.

include/elf/ChangeLog
2012-11-09  Nick Clifton  <nickc@redhat.com>

	* v850.h: Add RH850 ABI values.

ld/ChangeLog
2012-11-09  Nick Clifton  <nickc@redhat.com>

	* Makefile.am: (ALL_EMULATION_SOURCES): Add ev850_rh850.c.
	* Makefile.in: Regenerate.
	* configure.tgt (v850*-*-*): Make v850_rh850 the default
	emulation. Add vanilla v850 as an extra emulation.
	* emulparams/v850_rh850.sh: New file.
	* scripttempl/v850_rh850.sc: New file.

opcodes/ChangeLog
2012-11-09  Nick Clifton  <nickc@redhat.com>

	* configure.in: Add bfd_v850_rh850_arch.
	* configure: Regenerate.
	* disassemble.c (disassembler): Likewise.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: v850.binutils.patch.xz
Type: application/x-xz
Size: 13400 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20121109/6e9f86c4/attachment.xz>


More information about the Binutils mailing list