/* This file is tc-m68k.h
- Copyright (C) 1987, 89, 90, 91, 92, 93, 94, 95, 96, 97, 1998
+ Copyright 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
+ 1998, 1999, 2000
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
#define TC_M68K 1
#ifdef ANSI_PROTOTYPES
-struct symbol;
struct fix;
#endif
/* On the Delta, `%' can occur within a label name, but not as the
initial character. */
#define LEX_PCT LEX_NAME
-/* On the Delta, `~' can start a label name, but is converted to '.'. */
+/* On the Delta, `~' can start a label name, but is converted to '.'. */
#define LEX_TILDE LEX_BEGIN_NAME
#define tc_canonicalize_symbol_name(s) ((*(s) == '~' ? *(s) = '.' : '.'), s)
/* On the Delta, dots are not required before pseudo-ops. */
-#define NO_PSEUDO_DOT
+#define NO_PSEUDO_DOT 1
#ifndef BFD_ASSEMBLER
#undef LOCAL_LABEL
#define LOCAL_LABEL(name) \
extern int m68k_conditional_pseudoop PARAMS ((pseudo_typeS *));
#define tc_conditional_pseudoop(pop) m68k_conditional_pseudoop (pop)
-extern void m68k_frob_label PARAMS ((struct symbol *));
+extern void m68k_frob_label PARAMS ((symbolS *));
#define tc_frob_label(sym) m68k_frob_label (sym)
extern void m68k_flush_pending_output PARAMS ((void));
#define md_flush_pending_output() m68k_flush_pending_output ()
-extern void m68k_frob_symbol PARAMS ((struct symbol *));
+extern void m68k_frob_symbol PARAMS ((symbolS *));
#ifdef BFD_ASSEMBLER
while (0)
#define NO_RELOC BFD_RELOC_NONE
+#define RELAX_RELOC_ABS8 BFD_RELOC_8
+#define RELAX_RELOC_ABS16 BFD_RELOC_16
+#define RELAX_RELOC_ABS32 BFD_RELOC_32
+#define RELAX_RELOC_PC8 BFD_RELOC_8_PCREL
+#define RELAX_RELOC_PC16 BFD_RELOC_16_PCREL
+#define RELAX_RELOC_PC32 BFD_RELOC_32_PCREL
#ifdef OBJ_ELF
#define tc_fix_adjustable(X) tc_m68k_fix_adjustable(X)
extern int tc_m68k_fix_adjustable PARAMS ((struct fix *));
+
+#ifdef OBJ_ELF
+/* 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)
+#endif
+
+#define elf_tc_final_processing m68k_elf_final_processing
+extern void m68k_elf_final_processing PARAMS ((void));
#endif
#define TC_FORCE_RELOCATION(FIX) \
#define tc_frob_coff_symbol(sym) m68k_frob_symbol (sym)
-#define NO_RELOC 0
+#define NO_RELOC 0
+#define RELAX_RELOC_ABS8 0
+#define RELAX_RELOC_ABS16 0
+#define RELAX_RELOC_ABS32 0
+#define RELAX_RELOC_PC8 0
+#define RELAX_RELOC_PC16 0
+#define RELAX_RELOC_PC32 0
#endif /* ! BFD_ASSEMBLER */
if (aim==0 && this_state== 4) { /* hard encoded from tc-m68k.c */ \
aim=this_type->rlx_forward+1; /* Force relaxation into word mode */ \
}
-
-/* end of tc-m68k.h */