|
|
1.1 ! root 1: /* Configuration for an i386 running MS-DOS with djgpp/go32. */ ! 2: ! 3: #define YES_UNDERSCORES ! 4: ! 5: #include "i386/gas.h" ! 6: ! 7: #ifdef CPP_PREDEFINES ! 8: #undef CPP_PREDEFINES ! 9: #endif ! 10: #define CPP_PREDEFINES "-Dunix -Di386 -DGO32 -DMSDOS \ ! 11: -Asystem(unix) -Asystem(msdos) -Acpu(i386) -Amachine(i386)" ! 12: ! 13: #undef EXTRA_SECTIONS ! 14: #define EXTRA_SECTIONS in_ctor, in_dtor ! 15: ! 16: #undef EXTRA_SECTION_FUNCTIONS ! 17: #define EXTRA_SECTION_FUNCTIONS \ ! 18: CTOR_SECTION_FUNCTION \ ! 19: DTOR_SECTION_FUNCTION ! 20: ! 21: #define CTOR_SECTION_FUNCTION \ ! 22: void \ ! 23: ctor_section () \ ! 24: { \ ! 25: if (in_section != in_ctor) \ ! 26: { \ ! 27: fprintf (asm_out_file, "\t.section .ctor\n"); \ ! 28: in_section = in_ctor; \ ! 29: } \ ! 30: } ! 31: ! 32: #define DTOR_SECTION_FUNCTION \ ! 33: void \ ! 34: dtor_section () \ ! 35: { \ ! 36: if (in_section != in_dtor) \ ! 37: { \ ! 38: fprintf (asm_out_file, "\t.section .dtor\n"); \ ! 39: in_section = in_dtor; \ ! 40: } \ ! 41: } ! 42: ! 43: #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \ ! 44: do { \ ! 45: ctor_section (); \ ! 46: fprintf (FILE, "%s\t", ASM_LONG); \ ! 47: assemble_name (FILE, NAME); \ ! 48: fprintf (FILE, "\n"); \ ! 49: } while (0) ! 50: ! 51: #define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ ! 52: do { \ ! 53: dtor_section (); \ ! 54: fprintf (FILE, "%s\t", ASM_LONG); \ ! 55: assemble_name (FILE, NAME); \ ! 56: fprintf (FILE, "\n"); \ ! 57: } while (0) ! 58: ! 59:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.