diff options
Diffstat (limited to 'gas/config/tc-i386.h')
-rw-r--r-- | gas/config/tc-i386.h | 75 |
1 files changed, 4 insertions, 71 deletions
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index 5b93dbe..7fd8847 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -23,6 +23,10 @@ #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 @@ -33,7 +37,6 @@ struct fix; #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)); @@ -87,59 +90,6 @@ extern void i386_elf_emit_arch_note 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[]; @@ -459,7 +409,6 @@ extern void x86_cons_fix_new #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 *)); @@ -496,22 +445,6 @@ extern int tc_i386_fix_adjustable 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[]; |