aboutsummaryrefslogtreecommitdiff
path: root/gas/write.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/write.c')
-rw-r--r--gas/write.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gas/write.c b/gas/write.c
index 71004474..8f9a574 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -75,7 +75,11 @@ void relax_segment();
*
* 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. */
@@ -83,7 +87,7 @@ symbolS *add_symbol; /* X_add_symbol. */
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
{
@@ -98,7 +102,7 @@ int r_type; /* Relocation type */
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 */
@@ -384,7 +388,7 @@ void write_object_file()
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,