diff options
author | Kuan-Lin Chen <kuanlinchentw@gmail.com> | 2015-01-27 11:19:13 +0800 |
---|---|---|
committer | Kuan-Lin Chen <kuanlinchentw@gmail.com> | 2015-01-27 11:19:13 +0800 |
commit | 20d79870f35f646e87c43d8c4fee936b4e0ed5a6 (patch) | |
tree | 122060bb1b7e819419f63917bad67e03ffd8d6bb | |
parent | 3bd3aeb46126494401e2f265b55fc255d5c5b517 (diff) | |
download | binutils-20d79870f35f646e87c43d8c4fee936b4e0ed5a6.zip binutils-20d79870f35f646e87c43d8c4fee936b4e0ed5a6.tar.gz binutils-20d79870f35f646e87c43d8c4fee936b4e0ed5a6.tar.bz2 |
NDS32/gas: Limit the format of pseudo instruction la.
-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, "@")) |