aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-nds32.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6da11bb..6dbdb79 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-27 Kuan-Lin Chen <kuanlinchentw@gmail.com>
+
+ * config/tc-nds32.c (nds32_parse_name): Ignore when the input is
+ section name.
+
2015-01-19 Alan Modra <amodra@gmail.com>
* read.c (s_reloc): Match BFD_RELOC_NONE, BFD_RELOC{8,16,32,64}.
diff --git a/gas/config/tc-nds32.c b/gas/config/tc-nds32.c
index 7a23721..28e90ae 100644
--- a/gas/config/tc-nds32.c
+++ b/gas/config/tc-nds32.c
@@ -6541,6 +6541,8 @@ nds32_parse_name (char const *name, expressionS *exprP,
enum expr_mode mode ATTRIBUTE_UNUSED,
char *nextcharP ATTRIBUTE_UNUSED)
{
+ segT segment;
+
exprP->X_op_symbol = NULL;
exprP->X_md = BFD_RELOC_UNUSED;
@@ -6548,6 +6550,11 @@ nds32_parse_name (char const *name, expressionS *exprP,
exprP->X_op = O_symbol;
exprP->X_add_number = 0;
+ /* Check the specail name if a symbol. */
+ segment = S_GET_SEGMENT (exprP->X_add_symbol);
+ if (segment != undefined_section)
+ return 0;
+
if (strcmp (name, GOT_NAME) == 0 && *nextcharP != '@')
{
/* Set for _GOT_OFFSET_TABLE_. */