* config/tc-mn10300.c (md_apply_fix3): Accept PC-relative relocs.
[binutils-gdb.git] / gas / config / tc-i960.h
index e4152336d9012aee1fd1132e88a223596de944fb..8cedab2c39d80c894ae3ed7ebc3340fbd69c5f1e 100644 (file)
@@ -1,5 +1,6 @@
 /* tc-i960.h - Basic 80960 instruction formats.
-   Copyright (C) 1989, 90, 91, 92, 93, 94, 95, 96, 97, 98, 1999
+   Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 1999,
+   2000
    Free Software Foundation, Inc.
 
    This file is part of GAS, the GNU Assembler.
@@ -17,7 +18,7 @@
    You should have received a copy of the GNU General Public License
    along with GAS; see the file COPYING.  If not, write to the Free
    Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA. */
+   02111-1307, USA.  */
 
 #ifndef TC_I960
 #define TC_I960 1
@@ -101,7 +102,7 @@ extern int tc_coff_sizemachdep ();
 #define        N_CALLNAME      ((char)-1)
 #define        N_BALNAME       ((char)-2)
 
-/* i960 uses a custom relocation record. */
+/* i960 uses a custom relocation record.  */
 
 /* let obj-aout.h know */
 #define CUSTOM_RELOC_FORMAT 1
@@ -130,7 +131,7 @@ struct relocation_info
 #ifdef OBJ_COFF
 
 /* We store the bal information in the sy_tc field.  */
-#define TC_SYMFIELD_TYPE struct symbol *
+#define TC_SYMFIELD_TYPE symbolS *
 
 #define TC_ADJUST_RELOC_COUNT(FIXP,COUNT) \
   { fixS *tcfixp = (FIXP); \
@@ -140,7 +141,7 @@ struct relocation_info
   }
 #endif
 
-extern int i960_validate_fix PARAMS ((struct fix *, segT, struct symbol **));
+extern int i960_validate_fix PARAMS ((struct fix *, segT, symbolS **));
 #define TC_VALIDATE_FIX(FIXP,SEGTYPE,LABEL) \
        if (i960_validate_fix (FIXP, SEGTYPE, &add_symbolP) != 0) goto LABEL
 
@@ -155,6 +156,9 @@ extern int i960_validate_fix PARAMS ((struct fix *, segT, struct symbol **));
 
 #ifndef OBJ_ELF
 #define tc_fix_adjustable(FIXP)                ((FIXP)->fx_bsr == 0)
+/* This arranges for gas/write.c to not apply a relocation if
+   tc_fix_adjustable() says it is not adjustable.  */
+#define TC_FIX_ADJUSTABLE(fixP) tc_fix_adjustable (fixP)
 #else
 #define tc_fix_adjustable(FIXP)                                                \
   ((FIXP)->fx_bsr == 0                                                 \
@@ -167,9 +171,9 @@ extern void brtab_emit PARAMS ((void));
 
 extern void reloc_callj ();
 
-extern void tc_set_bal_of_call PARAMS ((struct symbol *, struct symbol *));
+extern void tc_set_bal_of_call PARAMS ((symbolS *, symbolS *));
 
-extern struct symbol *tc_get_bal_of_call PARAMS ((struct symbol *));
+extern struct symbol *tc_get_bal_of_call PARAMS ((symbolS *));
 
 extern void i960_handle_align ();
 #define HANDLE_ALIGN(FRAG)     i960_handle_align (FRAG)
@@ -188,5 +192,3 @@ extern const struct relax_type md_relax_table[];
 #define TC_INIT_FIX_DATA(F)    ((F)->tc_fix_data.bsr = 0)
 
 #endif
-
-/* end of tc-i960.h */