#ifndef TC_I386
#define TC_I386 1
+#ifndef BFD_ASSEMBLER
+#error So, do you know what you are doing?
+#endif
+
#ifdef ANSI_PROTOTYPES
struct fix;
#endif
#define TARGET_FORMAT "coff-i386-lynx"
#endif
-#ifdef BFD_ASSEMBLER
#define TARGET_ARCH bfd_arch_i386
#define TARGET_MACH (i386_mach ())
extern unsigned long i386_mach PARAMS ((void));
#define SUB_SEGMENT_ALIGN(SEG, FRCHAIN) 0
-#else /* ! BFD_ASSEMBLER */
-
-/* COFF STUFF */
-
-#define COFF_MAGIC I386MAGIC
-#define BFD_ARCH bfd_arch_i386
-#define COFF_FLAGS F_AR32WR
-#define TC_COUNT_RELOC(x) ((x)->fx_addsy || (x)->fx_r_type==7)
-#define TC_COFF_FIX2RTYPE(FIX) tc_coff_fix2rtype(FIX)
-extern short tc_coff_fix2rtype PARAMS ((struct fix *));
-#define TC_COFF_SIZEMACHDEP(frag) tc_coff_sizemachdep (frag)
-extern int tc_coff_sizemachdep PARAMS ((fragS *frag));
-
-#ifdef TE_GO32
-/* DJGPP now expects some sections to be 2**4 aligned. */
-#define SUB_SEGMENT_ALIGN(SEG, FRCHAIN) \
- ((strcmp (obj_segment_name (SEG), ".text") == 0 \
- || strcmp (obj_segment_name (SEG), ".data") == 0 \
- || strcmp (obj_segment_name (SEG), ".bss") == 0 \
- || strncmp (obj_segment_name (SEG), ".gnu.linkonce.t", 15) == 0 \
- || strncmp (obj_segment_name (SEG), ".gnu.linkonce.d", 15) == 0 \
- || strncmp (obj_segment_name (SEG), ".gnu.linkonce.r", 15) == 0) \
- ? 4 \
- : 2)
-#else
-#define SUB_SEGMENT_ALIGN(SEG, FRCHAIN) 2
-#endif
-
-#ifdef TE_386BSD
-/* The BSDI linker apparently rejects objects with a machine type of
- M_386 (100). */
-#define AOUT_MACHTYPE 0
-#else
-#define AOUT_MACHTYPE 100
-#endif
-
-#ifndef OBJ_AOUT
-#ifndef TE_PE
-#ifndef TE_GO32
-/* Local labels starts with .L */
-#define LOCAL_LABEL(name) (name[0] == '.' \
- && (name[1] == 'L' || name[1] == 'X' || name[1] == '.'))
-#endif
-#endif
-#endif
-
-#define tc_aout_pre_write_hook(x) {;} /* not used */
-#define tc_crawl_symbol_chain(a) {;} /* not used */
-#define tc_headers_hook(a) {;} /* not used */
-#define tc_coff_symbol_emit_hook(a) {;} /* not used */
-
-#endif /* ! BFD_ASSEMBLER */
-
#define LOCAL_LABELS_FB 1
extern const char extra_symbol_chars[];
#define CpuSSE 0x1000 /* Streaming SIMD extensions required */
#define CpuSSE2 0x2000 /* Streaming SIMD extensions 2 required */
#define Cpu3dnow 0x4000 /* 3dnow! support required */
-#define CpuPNI 0x8000 /* Prescott New Instuctions required */
+#define CpuPNI 0x8000 /* Prescott New Instructions required */
/* These flags are set by gas depending on the flag_code. */
#define Cpu64 0x4000000 /* 64bit support required */
#define DIFF_EXPR_OK /* foo-. gets turned into PC relative relocs */
-#ifdef BFD_ASSEMBLER
#define NO_RELOC BFD_RELOC_NONE
void i386_validate_fix PARAMS ((struct fix *));
|| (FIX)->fx_r_type == BFD_RELOC_386_GOTPC \
|| TC_FORCE_RELOCATION (FIX))
-#else /* ! BFD_ASSEMBLER */
-
-#define NO_RELOC 0
-
-#define TC_RVA_RELOC 7
-
-/* Need this for PIC relocations */
-#define NEED_FX_R_TYPE
-
-#undef REVERSE_SORT_RELOCS
-
-/* For COFF. */
-#define TC_FORCE_RELOCATION(FIX) \
- ((FIX)->fx_r_type == 7 || generic_force_reloc (FIX))
-#endif /* ! BFD_ASSEMBLER */
-
#define md_operand(x)
extern const struct relax_type md_relax_table[];