diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | 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, "@")) |