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 /gas/config/tc-nds32.c | |
parent | 3bd3aeb46126494401e2f265b55fc255d5c5b517 (diff) | |
download | gdb-20d79870f35f646e87c43d8c4fee936b4e0ed5a6.zip gdb-20d79870f35f646e87c43d8c4fee936b4e0ed5a6.tar.gz gdb-20d79870f35f646e87c43d8c4fee936b4e0ed5a6.tar.bz2 |
NDS32/gas: Limit the format of pseudo instruction la.
Diffstat (limited to 'gas/config/tc-nds32.c')
-rw-r--r-- | gas/config/tc-nds32.c | 11 |
1 files changed, 10 insertions, 1 deletions
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, "@")) |