n_fixups++;
static fixS *fix_new_internal PARAMS ((fragS *, int where, int size,				       symbolS *add, symbolS *sub,				       offsetT offset, int pcrel,				       int r_type));#endif#if defined (BFD_ASSEMBLER) || (!defined (BFD) && !defined (OBJ_VMS))static long fixup_segment PARAMS ((fixS * fixP, segT this_segment_type));#endifstatic relax_addressT relax_align PARAMS ((relax_addressT addr, int align));/* *			fix_new() * * Create a fixS in obstack 'notes'. */static fixS *fix_new_internal (frag, where, size, add_symbol, sub_symbol, offset, pcrel,		  r_type)     fragS *frag;		/* Which frag? */     int where;			/* Where in that frag? */     int size;			/* 1, 2, or 4 usually. */     symbolS *add_symbol;	/* X_add_symbol. */     symbolS *sub_symbol;	/* X_op_symbol. */     offsetT offset;		/* X_add_number. */     int pcrel;			/* TRUE if PC-relative relocation. */#ifdef BFD_ASSEMBLER     bfd_reloc_code_real_type r_type; /* Relocation type */#else     int r_type;		/* Relocation type */#endif{  fixS *fixP;  fixP = (fixS *) obstack_alloc (&notes, sizeof (fixS));  fixP->fx_frag = frag;  fixP->fx_where = where;  fixP->fx_size = size;  /* We've made fx_size a narrow field; check that it's wide enough.  */  if (fixP->fx_size != size)    {      as_bad ("field fx_size too small to hold %d", size);      abort ();    }  fixP->fx_addsy = add_symbol;  fixP->fx_subsy = sub_symbol;  fixP->fx_offset = offset;  fixP->fx_pcrel = pcrel;  fixP->fx_plt = 0;#if defined(NEED_FX_R_TYPE) || defined (BFD_ASSEMBLER)  fixP->fx_r_type = r_type;#endif  fixP->fx_im_disp = 0;  fixP->fx_pcrel_adjust = 0;  fixP->fx_bit_fixP = 0;  fixP->fx_addnumber = 0;  fixP->fx_tcbit = 0;  fixP->fx_done = 0;#ifdef TC_FIX_TYPE  TC_INIT_FIX_DATA(fixP);#endif  as_where (&fixP->fx_file, &fixP->fx_line);  /* Usually, we want relocs sorted numerically, but while     comparing to older versions of gas that have relocs     reverse sorted, it is convenient to have this compile     time option.  xoxorich. */  {#ifdef BFD_ASSEMBLER    fixS **seg_fix_rootP = (frags_chained			    ? &seg_info (now_seg)->fix_root			    : &frchain_now->fix_root);    fixS **seg_fix_tailP = (frags_chained			    ? &seg_info (now_seg)->fix_tail			    : &frchain_now->fix_tail);#endif#ifdef REVERSE_SORT_RELOCS    fixP->fx_next = *seg_fix_rootP;    *seg_fix_rootP = fixP;#else /* REVERSE_SORT_RELOCS */    fixP->fx_next = NULL;    if (*seg_fix_tailP)      (*seg_fix_tailP)->fx_next = fixP;    else      *seg_fix_rootP = fixP;    *seg_fix_tailP = fixP;#endif /* REVERSE_SORT_RELOCS */  }  return fixP;}