Fixes the TILE-Gx/TILEPro port of gas to deal with relocations of

aliases.
This commit is contained in:
Walter Lee 2011-10-28 14:43:54 +00:00
parent ab8b6d29a2
commit e8b9f50888
3 changed files with 21 additions and 10 deletions

View File

@ -1,6 +1,9 @@
2011-10-28 Walter Lee <walt@tilera.com>
* NEWS: Fix TILEPro capitalization.
* config/tc-tilegx.c (emit_tilegx_instruction) Handle
relocations of aliases.
* config/tc-tilepro.c: (emit_tilepro_instruction) Likewise.
2011-10-28 Nick Clifton <nickc@redhat.com>

View File

@ -691,15 +691,19 @@ emit_tilegx_instruction (tilegx_bundle_bits bits,
if (operand_exp->X_add_symbol->sy_value.X_md)
{
if (require_symbol)
{
as_bad (_("Operator may only be applied to symbols."));
}
/* HACK: We used X_md to mark this symbol as a fake wrapper
around a real expression. To unwrap it, we just grab its
value here. */
operand_exp = &operand_exp->X_add_symbol->sy_value;
if (require_symbol)
{
/* Look at the expression, and reject it if it's not a
plain symbol. */
if (operand_exp->X_op != O_symbol
|| operand_exp->X_add_number != 0)
as_bad (_("Operator may only be applied to symbols."));
}
}
else
{

View File

@ -560,15 +560,19 @@ emit_tilepro_instruction (tilepro_bundle_bits bits,
if (operand_exp->X_add_symbol->sy_value.X_md)
{
if (require_symbol)
{
as_bad (_("Operator may only be applied to symbols."));
}
/* HACK: We used X_md to mark this symbol as a fake wrapper
around a real expression. To unwrap it, we just grab its
value here. */
operand_exp = &operand_exp->X_add_symbol->sy_value;
if (require_symbol)
{
/* Look at the expression, and reject it if it's not a
plain symbol. */
if (operand_exp->X_op != O_symbol
|| operand_exp->X_add_number != 0)
as_bad (_("Operator may only be applied to symbols."));
}
}
else
{