Fix regression from change
http://sourceware.org/ml/binutils-cvs/2012-01/msg00049.html . The code needs to check that the symbol is not a local symbol before accessing a non-local-symbol field. * tc-tilepro.c (emit_tilepro_instruction): Check if symbol is non-local before checking sy_value. * tc-tilegx.c (emit_tilegx_instruction): Ditto.
This commit is contained in:
parent
6f7be9592d
commit
481fe810e4
@ -1,3 +1,9 @@
|
||||
2012-02-25 Walter Lee <walt@tilera.com>
|
||||
|
||||
* tc-tilepro.c (emit_tilepro_instruction): Check if symbol is
|
||||
non-local before checking sy_value.
|
||||
* tc-tilegx.c (emit_tilegx_instruction): Ditto.
|
||||
|
||||
2012-02-25 Walter Lee <walt@tilera.com>
|
||||
|
||||
* tc-tilepro.c (O_tls_le): Define operator.
|
||||
|
@ -715,7 +715,8 @@ emit_tilegx_instruction (tilegx_bundle_bits bits,
|
||||
/* Now that we've changed the reloc, change ha16(x) into x,
|
||||
etc. */
|
||||
|
||||
if (operand_exp->X_add_symbol->sy_value.X_md)
|
||||
if (!operand_exp->X_add_symbol->sy_flags.sy_local_symbol
|
||||
&& operand_exp->X_add_symbol->sy_value.X_md)
|
||||
{
|
||||
/* HACK: We used X_md to mark this symbol as a fake wrapper
|
||||
around a real expression. To unwrap it, we just grab its
|
||||
|
@ -631,7 +631,8 @@ emit_tilepro_instruction (tilepro_bundle_bits bits,
|
||||
/* Now that we've changed the reloc, change ha16(x) into x,
|
||||
etc. */
|
||||
|
||||
if (operand_exp->X_add_symbol->sy_value.X_md)
|
||||
if (!operand_exp->X_add_symbol->sy_flags.sy_local_symbol
|
||||
&& operand_exp->X_add_symbol->sy_value.X_md)
|
||||
{
|
||||
/* HACK: We used X_md to mark this symbol as a fake wrapper
|
||||
around a real expression. To unwrap it, we just grab its
|
||||
|
Loading…
Reference in New Issue
Block a user