be better to #define NEED_FX_R_TYPE in TC_A29K and TC_SPARC instead of
having this complicated conditional, but that's not my call.
*
* Create a fixS in obstack 'notes'.
*/
*
* Create a fixS in obstack 'notes'.
*/
-fixS *fix_new(frag, where, size, add_symbol, sub_symbol, offset, pcrel, r_type)
+fixS *fix_new(frag, where, size, add_symbol, sub_symbol, offset, pcrel
+#if defined(TC_SPARC) || defined(TC_A29K) || defined(NEED_FX_R_TYPE)
+ , r_type
+#endif
+ )
fragS *frag; /* Which frag? */
int where; /* Where in that frag? */
short int size; /* 1, 2, or 4 usually. */
fragS *frag; /* Which frag? */
int where; /* Where in that frag? */
short int size; /* 1, 2, or 4 usually. */
symbolS *sub_symbol; /* X_subtract_symbol. */
long offset; /* X_add_number. */
int pcrel; /* TRUE if PC-relative relocation. */
symbolS *sub_symbol; /* X_subtract_symbol. */
long offset; /* X_add_number. */
int pcrel; /* TRUE if PC-relative relocation. */
-#if defined(TC_SPARC) || defined(TC_A29K)
+#if defined(TC_SPARC) || defined(TC_A29K) || defined(NEED_FX_R_TYPE)
int r_type; /* Relocation type */
#endif
{
int r_type; /* Relocation type */
#endif
{
fixP->fx_subsy = sub_symbol;
fixP->fx_offset = offset;
fixP->fx_pcrel = pcrel;
fixP->fx_subsy = sub_symbol;
fixP->fx_offset = offset;
fixP->fx_pcrel = pcrel;
-#if defined(TC_SPARC) || defined(TC_A29K)
+#if defined(TC_SPARC) || defined(TC_A29K) || defined( NEED_FX_R_TYPE)
fixP->fx_r_type = r_type;
#endif
/* JF these 'cuz of the NS32K stuff */
fixP->fx_r_type = r_type;
#endif
/* JF these 'cuz of the NS32K stuff */
lie->sub,
lie->addnum,
0, 0, 2, 0, 0);
lie->sub,
lie->addnum,
0, 0, 2, 0, 0);
-#elif defined(TC_SPARC) || defined(TC_A29K)
+#elif defined(TC_SPARC) || defined(TC_A29K) || defined(NEED_FX_R_TYPE)
fix_new( lie->frag, lie->word_goes_here - lie->frag->fr_literal,
2, lie->add,
lie->sub, lie->addnum,
fix_new( lie->frag, lie->word_goes_here - lie->frag->fr_literal,
2, lie->add,
lie->sub, lie->addnum,
char fx_im_disp; /* TRUE: value is a displacement */
bit_fixS *fx_bit_fixP; /* IF NULL no bitfix's to do */
char fx_bsr; /* sequent-hack */
char fx_im_disp; /* TRUE: value is a displacement */
bit_fixS *fx_bit_fixP; /* IF NULL no bitfix's to do */
char fx_bsr; /* sequent-hack */
-#if defined(TC_SPARC) || defined(TC_A29K)
+#if defined(TC_SPARC) || defined(TC_A29K) || defined(NEED_FX_R_TYPE)
/* Hacks for machines where the type of reloc can't be
worked out by looking at how big it is */
/* Hacks for machines where the type of reloc can't be
worked out by looking at how big it is */
symbolS *add_symbol,
symbolS *sub_symbol,
long offset,
symbolS *add_symbol,
symbolS *sub_symbol,
long offset,
- int pcrel,
- enum reloc_type r_type);
+ int pcrel
+#if defined(TC_SPARC) || defined(TC_A29K) || defined(NEED_FX_R_TYPE)
+ , int r_type
+#endif
+);