From: Kuan-Lin Chen Date: Tue, 27 Jan 2015 03:08:07 +0000 (+0800) Subject: NDS32/gas: Fix md_parse_name hook. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3bd3aeb46126494401e2f265b55fc255d5c5b517;p=binutils-gdb.git NDS32/gas: Fix md_parse_name hook. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 6da11bb6f4a..6dbdb7927ed 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 7a237213be6..28e90aea409 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_. */