{ const char *fake; symbolS *symbolP;   fake = FAKE_LABEL_NAME;   symbolP = symbol_new (fake, expr_section, 0, &zero_address_frag); symbolP->sy_value = *exp; new_fix = fix_new (frag, where, size, symbolP, 0, pc_rel, reloc); }
new_fix = fix_new (frag, where, size, make_expr_symbol (exp), 0, pc_rel, reloc);
fix_new_arm (frag, where, size, exp, pc_rel, reloc)     fragS *frag;     int where;     short int size;     expressionS *exp;     int pc_rel;     int reloc;{  fixS *new_fix;  arm_fix_data *arm_data;  switch (exp->X_op)    {    case O_constant:    case O_symbol:    case O_add:    case O_subtract:      new_fix = fix_new_exp (frag, where, size, exp, pc_rel, reloc);      break;    default:      {	const char *fake;	symbolS *symbolP;		/* FIXME: This should be something which decode_local_label_name	   will handle.  */	fake = FAKE_LABEL_NAME;	/* Putting constant symbols in absolute_section rather than	   expr_section is convenient for the old a.out code, for which	   S_GET_SEGMENT does not always retrieve the value put in by	   S_SET_SEGMENT.  */	symbolP = symbol_new (fake, expr_section, 0, &zero_address_frag);	symbolP->sy_value = *exp;	new_fix = fix_new (frag, where, size, symbolP, 0, pc_rel, reloc);      }      break;    }  /* Mark whether the fix is to a THUMB instruction, or an ARM instruction */  arm_data = (arm_fix_data *) obstack_alloc (&notes, sizeof (arm_fix_data));  new_fix->tc_fix_data = (PTR) arm_data;  arm_data->thumb_mode = thumb_mode;  return;}