[PATCH, nds32] Limit the format of pseudo instruction la.

"Kuan-Lin Chen (陳冠霖)" kuanlinchentw@gmail.com
Tue Jan 27 06:35:00 GMT 2015


Limit la only to symbol.

---
gas/ChangeLog         |    5 +++++
  gas/config/tc-nds32.c |   11 ++++++++++-
  2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6dbdb79..2e7205b 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
  2015-01-27  Kuan-Lin Chen  <kuanlinchentw@gmail.com>

+       * config/tc-nds32.c (do_pseudo_la_internal): Limit the second 
argument
+       of instruction la to a symbol.
+
+2015-01-27  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
         * config/tc-nds32.c (nds32_parse_name): Ignore when the input is
         section name.

diff --git a/gas/config/tc-nds32.c b/gas/config/tc-nds32.c
index 28e90ae..bf537b2 100644
--- a/gas/config/tc-nds32.c
+++ b/gas/config/tc-nds32.c
@@ -2311,9 +2311,18 @@ do_pseudo_bral (int argc, char *argv[], int pv 
ATTRIBUTE_UNUSED)
  }

  static void
-do_pseudo_la_internal (const char *arg_reg, const char *arg_label,
+do_pseudo_la_internal (const char *arg_reg, char *arg_label,
                        const char *line)
  {
+  expressionS exp;
+
+  parse_expression (arg_label, &exp);
+  if (exp.X_op != O_symbol)
+    {
+      as_bad (_("la must use with symbol. '%s'"), line);
+      return;
+    }
+
    relaxing = TRUE;
    /* rt, label */
    if (!nds32_pic && !strstr(arg_label, "@"))

-- 
Best regards,
Kuan-Lin Chen.
kuanlinchentw@gmail.com



More information about the Binutils mailing list