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.
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.
(O_tls_le_lo16): Ditto.
(O_tls_le_hi16): Ditto.
/* 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
/* 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