From ece794d9c43addc2a347c01f5cd753b9171d028a Mon Sep 17 00:00:00 2001 From: Matthew Fortune Date: Thu, 23 Apr 2015 20:09:13 +0100 Subject: [PATCH] Improve warning messages for la/dla 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 d2698bc90b1..4bdbe5d62bb 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2015-04-23 Matthew Fortune + + * config/tc-mips.c (macro): State the recommended way of creating + 32-bit or 64-bit addresses. + 2015-04-23 Jan Beulich * 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 e61bb4daab1..40e38f88e1d 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 493edba5d43..c28a6a2ca65 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2015-04-23 Matthew Fortune + + * 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 * gas/mips/mips.exp: Require o32 for r6-branch-constraints. diff --git a/gas/testsuite/gas/mips/dla-warn.l b/gas/testsuite/gas/mips/dla-warn.l new file mode 100644 index 00000000000..4a25ea303b4 --- /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 00000000000..a2c60c1dc4a --- /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 00000000000..05eaf8a6484 --- /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 00000000000..894dba5e241 --- /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 cdb66fc1478..c3c33643c36 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.30.2