diff options
Diffstat (limited to 'gas/config/tc-nds32.c')
-rw-r--r-- | gas/config/tc-nds32.c | 7 |
1 files changed, 7 insertions, 0 deletions
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_. */ |