diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1998-03-03 21:37:38 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1998-03-03 21:37:38 +0000 |
commit | c826e751760901de543f4640467e3a08df7f49bf (patch) | |
tree | 6a2323a78664ba45b78df1709ff3cc077db63ccd /gnu/usr.bin/gcc/config/i386/go32.h | |
parent | a4511fe6a5dc69a771b5ffdf64ba574c959cf37d (diff) |
GCC 2.8.0 merge
Diffstat (limited to 'gnu/usr.bin/gcc/config/i386/go32.h')
-rw-r--r-- | gnu/usr.bin/gcc/config/i386/go32.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/gnu/usr.bin/gcc/config/i386/go32.h b/gnu/usr.bin/gcc/config/i386/go32.h index 5618a0dd0fb..80a0e875c43 100644 --- a/gnu/usr.bin/gcc/config/i386/go32.h +++ b/gnu/usr.bin/gcc/config/i386/go32.h @@ -1,5 +1,9 @@ /* Configuration for an i386 running MS-DOS with djgpp/go32. */ +#include "dbxcoff.h" + +#define NO_STAB_H /* DJGPP has no stab.h */ + /* Don't assume anything about the header files. */ #define NO_IMPLICIT_EXTERN_C @@ -53,7 +57,13 @@ dtor_section () \ fprintf (FILE, "\n"); \ } while (0) -#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ +/* Allow (eg) __attribute__((section "locked")) to work */ +#define ASM_OUTPUT_SECTION_NAME(FILE, DECL, NAME, RELOC)\ + do { \ + fprintf (FILE, "\t.section %s\n", NAME); \ + } while (0) + +#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ do { \ dtor_section (); \ fprintf (FILE, "%s\t", ASM_LONG); \ @@ -61,4 +71,29 @@ dtor_section () \ fprintf (FILE, "\n"); \ } while (0) +/* Output at beginning of assembler file. */ +/* The .file command should always begin the output. */ +/* Use the main_input_filename instead of dump_base_name */ + +#undef ASM_FILE_START +#define ASM_FILE_START(FILE) \ + do { \ + output_file_directive (FILE, main_input_filename); \ + } while (0) + +/* This is how to output an assembler line + that says to advance the location counter + to a multiple of 2**LOG bytes. */ + +#undef ASM_OUTPUT_ALIGN +#define ASM_OUTPUT_ALIGN(FILE,LOG) \ + if ((LOG) != 0) fprintf ((FILE), "\t.p2align %d\n", LOG) + +/* djgpp has atexit (). */ +#undef HAVE_ATEXIT +#define HAVE_ATEXIT + +/* djgpp automatically calls it's own version of __main, so don't define one + in libgcc, nor call one in main(). */ +#define HAS_INIT_SECTION |