aboutsummaryrefslogtreecommitdiff
path: root/gas/ChangeLog
diff options
context:
space:
mode:
authorFredrik Noring <noring@nocrew.org>2018-11-30 18:32:36 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2018-11-30 18:32:36 +0000
commit27c634e0ed18f769fb92d03fb75ea491fb6656ec (patch)
treedb6c1e97130b20724ac361837f886500ba15f8e0 /gas/ChangeLog
parent92528b6772a19dd671b52d954c14886b11fc0a8d (diff)
downloadgdb-27c634e0ed18f769fb92d03fb75ea491fb6656ec.zip
gdb-27c634e0ed18f769fb92d03fb75ea491fb6656ec.tar.gz
gdb-27c634e0ed18f769fb92d03fb75ea491fb6656ec.tar.bz2
GAS/MIPS: Add `-mfix-r5900' option for the R5900 short loop erratum
`-march=r5900' already enables the R5900 short loop workaround. However, the R5900 ISA and most other MIPS ISAs are mutually exclusive since R5900-specific instructions are generated as well. The `-mfix-r5900' option can be used in combination with e.g. `-mips2' or `-mips3' to generate generic MIPS binaries that also work with the R5900 target. This change has been tested with `make RUNTESTFLAGS=mips.exp check-gas' for the targets `mipsr5900el-unknown-linux-gnu', `mipsr5900el-elf' and `mips3-unknown-linux-gnu'. gas/ * config/tc-mips.c (mips_fix_r5900, mips_fix_r5900_explicit): New variables. (options): Add OPTION_FIX_R5900 and OPTION_NO_FIX_R5900 enumeration constants. (md_longopts): Add "mfix-r5900" and "mno-fix-r5900" options. (can_swap_branch_p, md_parse_option, mips_after_parse_args): Handle the new options. (md_show_usage): Document the `-mfix-r5900' option. * doc/as.texi: Likewise. * doc/c-mips.texi: Likewise. * testsuite/gas/mips/mips.exp: Run R5900 dump tests. * testsuite/gas/mips/r5900-fix.d: Test `-mfix-r5900' option. * testsuite/gas/mips/r5900-fix.s: Likewise. * testsuite/gas/mips/r5900-no-fix.d: Test `-mno-fix-r5900'. * testsuite/gas/mips/r5900-no-fix.s: Likewise.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r--gas/ChangeLog18
1 files changed, 18 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 77d9a94..a9c972d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,21 @@
+2018-11-30 Fredrik Noring <noring@nocrew.org>
+
+ * config/tc-mips.c (mips_fix_r5900, mips_fix_r5900_explicit):
+ New variables.
+ (options): Add OPTION_FIX_R5900 and OPTION_NO_FIX_R5900
+ enumeration constants.
+ (md_longopts): Add "mfix-r5900" and "mno-fix-r5900" options.
+ (can_swap_branch_p, md_parse_option, mips_after_parse_args):
+ Handle the new options.
+ (md_show_usage): Document the `-mfix-r5900' option.
+ * doc/as.texi: Likewise.
+ * doc/c-mips.texi: Likewise.
+ * testsuite/gas/mips/mips.exp: Run R5900 dump tests.
+ * testsuite/gas/mips/r5900-fix.d: Test `-mfix-r5900' option.
+ * testsuite/gas/mips/r5900-fix.s: Likewise.
+ * testsuite/gas/mips/r5900-no-fix.d: Test `-mno-fix-r5900'.
+ * testsuite/gas/mips/r5900-no-fix.s: Likewise.
+
2018-11-27 Jim Wilson <jimw@sifive.com>
* config/tc-riscv.c (validate_riscv_insn) <'F'>: Add support for CF6