diff options
author | Nick Clifton <nickc@redhat.com> | 2015-04-09 12:48:37 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-04-09 12:48:37 +0100 |
commit | 3525236c57a64fdbb534671fd2b16f9f846d36f3 (patch) | |
tree | 9b1b9e0a444216011509526254fccedcf34ca1c5 /binutils | |
parent | 5a2d4533e2b9cc9c069d47071013cb30f1e0fc7e (diff) | |
download | gdb-3525236c57a64fdbb534671fd2b16f9f846d36f3.zip gdb-3525236c57a64fdbb534671fd2b16f9f846d36f3.tar.gz gdb-3525236c57a64fdbb534671fd2b16f9f846d36f3.tar.bz2 |
Add support to the RX toolchain to restrict the use of string instructions.
bfd * 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.
bin * readelf.c (get_machine_flags): Report the setting of the string
insn using bits.
gas * 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.
elf * 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.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/readelf.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 7d5b1a0..b2a81e5 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2015-04-09 Nick Clifton <nickc@redhat.com> + + * readelf.c (get_machine_flags): Report the setting of the string + insn using bits. + 2015-04-08 H.J. Lu <hongjiu.lu@intel.com> * objcopy.c (do_debug_sections): Add compress_zlib, diff --git a/binutils/readelf.c b/binutils/readelf.c index fea372f..db69b5d 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -3274,6 +3274,9 @@ get_machine_flags (unsigned e_flags, unsigned e_machine) strcat (buf, ", pid"); if (e_flags & E_FLAG_RX_ABI) strcat (buf, ", RX ABI"); + if (e_flags & E_FLAG_RX_SINSNS_SET) + strcat (buf, e_flags & E_FLAG_RX_SINSNS_YES + ? ", uses String instructions" : ", bans String instructions"); break; case EM_S390: |