Commit: RX: Add support for detecting string insn use

Nick Clifton nickc@redhat.com
Thu Apr 9 11:47:00 GMT 2015


Hi Guys,

  I am applying the attached patch to add support for a couple of new
  bits in the ELF header of RX binaries.  These bits indicate whether
  the binary uses string insns (SMOVF, SUNTIL, etc), and if it is
  allowed to be linked to binaries which use string insns.  (The problem
  with the RX string insns is that they are not safe to use on the I/O
  portion of the address space, so if a binary will or might access that
  space, then the strings insns must not be used).

  A follow up patch to GCC (once the sources are unfrozen) will add
  support for a non-string-insn using RX multilib.

Cheers
  Nick

bfd/ChangeLog
2015-04-09  Nick Clifton  <nickc@redhat.com>

	* elf32-rx.c (describe_flags): Report the settings of the string
	insn using bits.
	(rx_elf_merge_private_bfd_data): Handle merging of the string insn
	using bits.

binutils/ChangeLog
2015-04-09  Nick Clifton  <nickc@redhat.com>

	* readelf.c (get_machine_flags): Report the setting of the string
	insn using bits.

gas/ChangeLog
2015-04-09  Nick Clifton  <nickc@redhat.com>

	* config/tc-rx.c (enum options): Add OPTION_DISALLOW_STRING_INSNS.
	(md_longopts): Add -mno-allow-string-insns.
	(md_parse_option): Handle -mno-allow-string-insns.
	(md_show_usage): Mention -mno-allow-string-insns.
	(rx_note_string_insn_use): New function.  Produces an error
	message if a string insn is used when it is not allowed.
	* config/rx-parse.y (SCMPU): Call rx_note_string_insn_use.
	(SMOVU, SMOVB, SMOVF, SUNTIL, SWHILE, RMPA): Likewise.
	* config/rx-defs.h (rx_note_string_insn_use): Prototype.
	* doc/c-rx.texi: Document -mno-allow-string-insns.

include/elf/ChangeLog
2015-04-09  Nick Clifton  <nickc@redhat.com>

	* rx.h (E_FLAG_RX_SINSNS_SET): New bit in e_flags field.
	(E_FLAG_RX_SINSNS_YES): Likewise.
	(E_FLAG_RX_SINSNS_MASK): New define.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rx.string-insn.patch
Type: text/x-patch
Size: 7342 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20150409/953a739d/attachment.bin>


More information about the Binutils mailing list