diff --git a/gas/ChangeLog b/gas/ChangeLog index 6da11bb6f4..6dbdb7927e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2015-01-27 Kuan-Lin Chen + + * config/tc-nds32.c (nds32_parse_name): Ignore when the input is + section name. + 2015-01-19 Alan Modra * 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 7a237213be..28e90aea40 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_. */