summaryrefslogtreecommitdiff
path: root/gas/symbols.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@lucon.org>2006-01-09 17:14:40 +0000
committerH.J. Lu <hjl@lucon.org>2006-01-09 17:14:40 +0000
commitff7be2326ad2188d97dc522371b37cdd1833bd30 (patch)
treecb99a7bad95ebc51fdaece5bed184ca7f0f26eb2 /gas/symbols.c
parent94a0aa33f85eab18289297ae2b4c4a1da6584dcf (diff)
downloadbinutils-redhat-ff7be2326ad2188d97dc522371b37cdd1833bd30.tar.gz
gas/
2006-01-09 H.J. Lu <hongjiu.lu@intel.com> PR gas/2117 * symbols.c (snapshot_symbol): Don't change a defined symbol. gas/testsuite/ 2006-01-09 H.J. Lu <hongjiu.lu@intel.com> PR gas/2117 * gas/ia64/ia64.exp: Add ltoff22x-2, ltoff22x-3, ltoff22x-4 and ltoff22x-5. * gas/ia64/ltoff22x-2.d: New file. * gas/ia64/ltoff22x-2.s: Likewise. * gas/ia64/ltoff22x-3.d: Likewise. * gas/ia64/ltoff22x-3.s: Likewise. * gas/ia64/ltoff22x-4.d: Likewise. * gas/ia64/ltoff22x-4.s: Likewise. * gas/ia64/ltoff22x-5.d: Likewise. * gas/ia64/ltoff22x-5.s: Likewise.
Diffstat (limited to 'gas/symbols.c')
-rw-r--r--gas/symbols.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gas/symbols.c b/gas/symbols.c
index c9298e044c..ca2d41ea9c 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -1399,7 +1399,10 @@ snapshot_symbol (symbolS **symbolPP, valueT *valueP, segT *segP, fragS **fragPP)
}
}
- *symbolPP = symbolP;
+ /* Never change a defined symbol. */
+ if (symbolP->bsym->section == undefined_section
+ || symbolP->bsym->section == expr_section)
+ *symbolPP = symbolP;
*valueP = expr.X_add_number;
*segP = symbolP->bsym->section;
*fragPP = symbolP->sy_frag;