+2005-10-24 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/tc-bfin.c (Expr_Node_Gen_Reloc): If have symbol + constant,
+ make a single reloc with an offset rather than a stack.
+ * config/tc-bfin.h (MD_APPLY_SYM_VALUE): Define to 0.
+
2005-10-24 Alexandre Oliva <aoliva@redhat.com>
* read.c (potable): Add weakref.
if (note1 != NULL_CODE)
note = conscode (note1, note);
}
+ else if (head->type == Expr_Node_Binop
+ && (head->value.op_value == Expr_Op_Type_Add
+ || head->value.op_value == Expr_Op_Type_Sub)
+ && head->Left_Child->type == Expr_Node_Reloc
+ && head->Right_Child->type == Expr_Node_Constant)
+ {
+ int val = head->Right_Child->value.i_value;
+ if (head->value.op_value == Expr_Op_Type_Sub)
+ val = -val;
+ note = conscode (note_reloc2 (gencode (0), head->Left_Child->value.s_value,
+ parent_reloc, val, 0),
+ NULL_CODE);
+ if (note1 != NULL_CODE)
+ note = conscode (note1, note);
+ }
else
{
/* Call the recursive function. */
#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
+/* Values passed to md_apply_fix3 don't include symbol values. */
+#define MD_APPLY_SYM_VALUE(FIX) 0
+
/* end of tc-bfin.h */