Commit: V850: Add support for fixed ABI implementation

Nick Clifton
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
  Tested with no regressions on a v850e-elf target.


2012-11-09  Nick Clifton  <>

	* (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.
	* 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
	(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.
	* Regenerate.
	* bfd-in2.h: Regenerate.
	* configure: Regenerate.

2012-11-09  Nick Clifton  <>

	* 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.

2012-11-09  Nick Clifton  <>

	* 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
	* config/tc-v850.c (TARGET_ARCH) Use v850_target_arch.
	(TARGET_FORMAT): Use v850_target_format.
	* doc/c-v850.texi: Document new options.

2012-11-09  Nick Clifton  <>

	* v850.h: Add RH850 ABI values.

2012-11-09  Nick Clifton  <>

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

2012-11-09  Nick Clifton  <>

	* 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: <>

More information about the Binutils mailing list