[PATCH, MIPS] Improve warning messages for la/dla

Matthew Fortune Matthew.Fortune@imgtec.com
Thu Apr 23 21:26:00 GMT 2015


> > > gas/
> > >
> > > 	* config/tc-mips.c (macro): State the recommended way of creating
> > > 	32-bit or 64-bit addresses.
> >
> > OK, thanks.  Guess this means we don't have any testcases for the
> > warning. :-)
> 
> Indeed, I was surprised too. I'll add one for each though given I had
> the same thought as you.

I committed this (inc test cases). 

Thanks,
Matthew

gas/

	* config/tc-mips.c (macro): State the recommended way of creating
	32-bit or 64-bit addresses.

gas/testsuite/

	* gas/mips/dla-warn.l: New file.
	* gas/mips/dla-warn.s: New file.
	* gas/mips/la-warn.l: New file.
	* gas/mips/la-warn.s: New file.
	* gas/mips/mips.exp: Run new tests.
---
 gas/ChangeLog                     | 5 +++++
 gas/config/tc-mips.c              | 6 ++++--
 gas/testsuite/ChangeLog           | 8 ++++++++
 gas/testsuite/gas/mips/dla-warn.l | 2 ++
 gas/testsuite/gas/mips/dla-warn.s | 1 +
 gas/testsuite/gas/mips/la-warn.l  | 2 ++
 gas/testsuite/gas/mips/la-warn.s  | 1 +
 gas/testsuite/gas/mips/mips.exp   | 4 ++++
 8 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 gas/testsuite/gas/mips/dla-warn.l
 create mode 100644 gas/testsuite/gas/mips/dla-warn.s
 create mode 100644 gas/testsuite/gas/mips/la-warn.l
 create mode 100644 gas/testsuite/gas/mips/la-warn.s

diff --git a/gas/ChangeLog b/gas/ChangeLog
index d2698bc..4bdbe5d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-23  Matthew Fortune  <matthew.fortune@imgtec.com>
+
+	* config/tc-mips.c (macro): State the recommended way of creating
+	32-bit or 64-bit addresses.
+
 2015-04-23  Jan Beulich  <jbeulich@suse.com>
 
 	* config/tc-i386.c (match_mem_size): Also allow no size
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index e61bb4d..40e38f8 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -10331,10 +10331,12 @@ macro (struct mips_cl_insn *ip, char *str)
 
       breg = op[2];
       if (dbl && GPR_SIZE == 32)
-	as_warn (_("dla used to load 32-bit register"));
+	as_warn (_("dla used to load 32-bit register; recommend using la "
+		   "instead"));
 
       if (!dbl && HAVE_64BIT_OBJECTS)
-	as_warn (_("la used to load 64-bit address"));
+	as_warn (_("la used to load 64-bit address; recommend using dla "
+		   "instead"));
 
       if (small_offset_p (0, align, 16))
 	{
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 493edba..c28a6a2 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,13 @@
 2015-04-23  Matthew Fortune  <matthew.fortune@imgtec.com>
 
+	* gas/mips/dla-warn.l: New file.
+	* gas/mips/dla-warn.s: New file.
+	* gas/mips/la-warn.l: New file.
+	* gas/mips/la-warn.s: New file.
+	* gas/mips/mips.exp: Run new tests.
+
+2015-04-23  Matthew Fortune  <matthew.fortune@imgtec.com>
+
 	* gas/mips/mips.exp: Require o32 for r6-branch-constraints.
 
 2015-04-23  Jan Beulich  <jbeulich@suse.com>
diff --git a/gas/testsuite/gas/mips/dla-warn.l b/gas/testsuite/gas/mips/dla-warn.l
new file mode 100644
index 0000000..4a25ea3
--- /dev/null
+++ b/gas/testsuite/gas/mips/dla-warn.l
@@ -0,0 +1,2 @@
+.*: Assembler messages:
+.*:1: Warning: dla used to load 32-bit register; recommend using la instead
diff --git a/gas/testsuite/gas/mips/dla-warn.s b/gas/testsuite/gas/mips/dla-warn.s
new file mode 100644
index 0000000..a2c60c1
--- /dev/null
+++ b/gas/testsuite/gas/mips/dla-warn.s
@@ -0,0 +1 @@
+	dla $2, foo
diff --git a/gas/testsuite/gas/mips/la-warn.l b/gas/testsuite/gas/mips/la-warn.l
new file mode 100644
index 0000000..05eaf8a
--- /dev/null
+++ b/gas/testsuite/gas/mips/la-warn.l
@@ -0,0 +1,2 @@
+.*: Assembler messages:
+.*:1: Warning: la used to load 64-bit address; recommend using dla instead
diff --git a/gas/testsuite/gas/mips/la-warn.s b/gas/testsuite/gas/mips/la-warn.s
new file mode 100644
index 0000000..894dba5
--- /dev/null
+++ b/gas/testsuite/gas/mips/la-warn.s
@@ -0,0 +1 @@
+	la $2, foo
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index cdb66fc..c3c3364 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -1223,8 +1223,12 @@ if { [istarget mips*-*-vxworks*] } {
     run_list_test "ase-errors-4" "-mabi=o64 -march=mips3" "ASE errors (4)"
 
     run_dump_test_arches "la-reloc"	[mips_arch_list_matching mips1]
+    run_list_test "dla-warn" "-mabi=32 -march=mips3" \
+			     "DLA with 32-bit addresses"
     if { $has_newabi } {
 	run_dump_test_arches "dla-reloc" [mips_arch_list_matching mips3]
+	run_list_test "la-warn" "-mabi=64 -march=mips3" \
+				"LA with 64-bit addresses"
     }
 
     # Start with MIPS II to avoid load delay nops.
-- 
2.2.1



More information about the Binutils mailing list