This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[patch, nios2] use "sstatus" as primary name of r30
- From: Sandra Loosemore <sandra at codesourcery dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Sun, 13 Oct 2013 18:53:03 -0600
- Subject: [patch, nios2] use "sstatus" as primary name of r30
- Authentication-results: sourceware.org; auth=none
Altera has requested that the register r30 disassemble using the
symbolic name "sstatus" rather than "ba". Both names are documented in
the Nios II processor reference handbook.
I've checked in this patch to update the list of register names, a
warning message that formerly used only the "ba" name, and the
associated test cases.
-Sandra
2013-10-13 Sandra Loosemore <sandra@codesourcery.com>
opcodes/
* nios2-opc.c (nios2_builtin_reg): Use "sstatus" rather than "ba"
as the primary name of r30.
gas/
* config/tc-nios2.c (nios2_consume_arg): Make the "ba" warning
also test/refer to "sstatus". Reformat the warning message.
gas/testsuite/
* gas/nios2/warn_nobreak.l: Update text of warning messages.
* gas/nios2/registers.s: Use "sstatus" rather than "ba"
as the primary name of r30.
* gas/nios2/registers.d: Likewise.
Index: opcodes/nios2-opc.c
===================================================================
RCS file: /cvs/src/src/opcodes/nios2-opc.c,v
retrieving revision 1.6
diff -u -p -r1.6 nios2-opc.c
--- opcodes/nios2-opc.c 10 Jun 2013 01:04:42 -0000 1.6
+++ opcodes/nios2-opc.c 14 Oct 2013 00:24:26 -0000
@@ -58,7 +58,7 @@ const struct nios2_reg nios2_builtin_reg
{"sp", 27}, /* stack pointer */
{"fp", 28}, /* frame pointer */
{"ea", 29}, /* exception return address */
- {"ba", 30}, /* breakpoint return address */
+ {"sstatus", 30}, /* saved processor status */
{"ra", 31}, /* return address */
/* Alternative names for special registers. */
@@ -71,7 +71,7 @@ const struct nios2_reg nios2_builtin_reg
{"r28", 28},
{"r29", 29},
{"r30", 30},
- {"sstatus", 30},
+ {"ba", 30}, /* breakpoint return address */
{"r31", 31},
/* Control register names. */
Index: gas/config/tc-nios2.c
===================================================================
RCS file: /cvs/src/src/gas/config/tc-nios2.c,v
retrieving revision 1.6
diff -u -p -r1.6 tc-nios2.c
--- gas/config/tc-nios2.c 12 Jun 2013 23:11:57 -0000 1.6
+++ gas/config/tc-nios2.c 14 Oct 2013 00:24:25 -0000
@@ -1951,15 +1951,17 @@ nios2_consume_arg (nios2_insn_infoS *ins
/* And whether we are using oci registers. */
if (!nios2_as_options.nobreak
&& (regno == 25 || strprefix (argstr, "bt")))
- as_warn (_("The debugger will corrupt bt (r25). If you don't need to "
- "debug this\n"
- "code then use .set nobreak to turn off this warning."));
+ as_warn (_("The debugger will corrupt bt (r25).\n"
+ "If you don't need to debug this "
+ "code use .set nobreak to turn off this warning."));
if (!nios2_as_options.nobreak
- && (regno == 30 || strprefix (argstr, "ba")))
- as_warn (_("The debugger will corrupt ba (r30). If you don't need to "
- "debug this\n"
- "code then use .set nobreak to turn off this warning."));
+ && (regno == 30
+ || strprefix (argstr, "ba")
+ || strprefix (argstr, "sstatus")))
+ as_warn (_("The debugger will corrupt sstatus/ba (r30).\n"
+ "If you don't need to debug this "
+ "code use .set nobreak to turn off this warning."));
break;
case 'i':
case 'u':
Index: gas/testsuite/gas/nios2/warn_nobreak.l
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/nios2/warn_nobreak.l,v
retrieving revision 1.1
diff -u -p -r1.1 warn_nobreak.l
--- gas/testsuite/gas/nios2/warn_nobreak.l 6 Feb 2013 23:22:16 -0000 1.1
+++ gas/testsuite/gas/nios2/warn_nobreak.l 14 Oct 2013 00:24:25 -0000
@@ -1,9 +1,9 @@
.*warn_nobreak.s: Assembler messages:
-.*warn_nobreak.s:2: Warning: The debugger will corrupt ba \(r30\). If you don't need to debug this
-code then use .set nobreak to turn off this warning.
-.*warn_nobreak.s:3: Warning: The debugger will corrupt bt \(r25\). If you don't need to debug this
-code then use .set nobreak to turn off this warning.
-.*warn_nobreak.s:11: Warning: The debugger will corrupt ba \(r30\). If you don't need to debug this
-code then use .set nobreak to turn off this warning.
-.*warn_nobreak.s:12: Warning: The debugger will corrupt bt \(r25\). If you don't need to debug this
-code then use .set nobreak to turn off this warning.
+.*warn_nobreak.s:2: Warning: The debugger will corrupt sstatus/ba \(r30\).
+If you don't need to debug this code use .set nobreak to turn off this warning.
+.*warn_nobreak.s:3: Warning: The debugger will corrupt bt \(r25\).
+If you don't need to debug this code use .set nobreak to turn off this warning.
+.*warn_nobreak.s:11: Warning: The debugger will corrupt sstatus/ba \(r30\).
+If you don't need to debug this code use .set nobreak to turn off this warning.
+.*warn_nobreak.s:12: Warning: The debugger will corrupt bt \(r25\).
+If you don't need to debug this code use .set nobreak to turn off this warning.
Index: gas/testsuite/gas/nios2/registers.s
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/nios2/registers.s,v
retrieving revision 1.1
diff -u -p -r1.1 registers.s
--- gas/testsuite/gas/nios2/registers.s 12 Mar 2013 01:41:41 -0000 1.1
+++ gas/testsuite/gas/nios2/registers.s 14 Oct 2013 00:24:25 -0000
@@ -35,7 +35,7 @@ foo:
movi sp, 123
movi fp, 123
movi ea, 123
- movi ba, 123
+ movi sstatus, 123
movi ra, 123
# Alternative names for special registers
movi r0, 123
@@ -47,5 +47,5 @@ foo:
movi r28, 123
movi r29, 123
movi r30, 123
- movi sstatus, 123
+ movi ba, 123
movi r31, 123
Index: gas/testsuite/gas/nios2/registers.d
===================================================================
RCS file: /cvs/src/src/gas/testsuite/gas/nios2/registers.d,v
retrieving revision 1.2
diff -u -p -r1.2 registers.d
--- gas/testsuite/gas/nios2/registers.d 12 Mar 2013 21:34:58 -0000 1.2
+++ gas/testsuite/gas/nios2/registers.d 14 Oct 2013 00:24:25 -0000
@@ -36,7 +36,7 @@ Disassembly of section .text:
0+006c <[^>]*> 06c01ec4 movi sp,123
0+0070 <[^>]*> 07001ec4 movi fp,123
0+0074 <[^>]*> 07401ec4 movi ea,123
-0+0078 <[^>]*> 07801ec4 movi ba,123
+0+0078 <[^>]*> 07801ec4 movi sstatus,123
0+007c <[^>]*> 07c01ec4 movi ra,123
0+0080 <[^>]*> 00001ec4 movi zero,123
0+0084 <[^>]*> 00401ec4 movi at,123
@@ -46,6 +46,6 @@ Disassembly of section .text:
0+0094 <[^>]*> 06c01ec4 movi sp,123
0+0098 <[^>]*> 07001ec4 movi fp,123
0+009c <[^>]*> 07401ec4 movi ea,123
-0+00a0 <[^>]*> 07801ec4 movi ba,123
-0+00a4 <[^>]*> 07801ec4 movi ba,123
+0+00a0 <[^>]*> 07801ec4 movi sstatus,123
+0+00a4 <[^>]*> 07801ec4 movi sstatus,123
0+00a8 <[^>]*> 07c01ec4 movi ra,123