|
|
1.1 ! root 1: /* Definitions of target machine for GNU compiler ! 2: for an Intel i386 or later processor running Windows NT 3.x. ! 3: Copyright (C) 1994 Free Software Foundation, Inc. ! 4: Contributed by Douglas B. Rupp ([email protected]) ! 5: ! 6: This file is part of GNU CC. ! 7: ! 8: GNU CC is free software; you can redistribute it and/or modify ! 9: it under the terms of the GNU General Public License as published by ! 10: the Free Software Foundation; either version 2, or (at your option) ! 11: any later version. ! 12: ! 13: GNU CC is distributed in the hope that it will be useful, ! 14: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 16: GNU General Public License for more details. ! 17: ! 18: You should have received a copy of the GNU General Public License ! 19: along with GNU CC; see the file COPYING. If not, write to ! 20: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 21: ! 22: #define YES_UNDERSCORES ! 23: ! 24: #include "i386/gas.h" ! 25: #include "winnt/winnt.h" ! 26: ! 27: #undef CPP_PREDEFINES ! 28: #define CPP_PREDEFINES "-Dunix -Di386 -DWINNT -D_M_IX86 -D_X86_ -D__STDC__=0 \ ! 29: -DALMOST_STDC -Asystem(unix) -Asystem(winnt) -Acpu(i386) -Amachine(i386)" ! 30: ! 31: #undef EXTRA_SECTIONS ! 32: #define EXTRA_SECTIONS in_ctor, in_dtor ! 33: ! 34: #undef EXTRA_SECTION_FUNCTIONS ! 35: #define EXTRA_SECTION_FUNCTIONS \ ! 36: CTOR_SECTION_FUNCTION \ ! 37: DTOR_SECTION_FUNCTION ! 38: ! 39: #undef CTOR_SECTION_FUNCTION ! 40: #define CTOR_SECTION_FUNCTION \ ! 41: void \ ! 42: ctor_section () \ ! 43: { \ ! 44: if (in_section != in_ctor) \ ! 45: { \ ! 46: fprintf (asm_out_file, "\t.section .ctor\n"); \ ! 47: in_section = in_ctor; \ ! 48: } \ ! 49: } ! 50: ! 51: #undef DTOR_SECTION_FUNCTION ! 52: #define DTOR_SECTION_FUNCTION \ ! 53: void \ ! 54: dtor_section () \ ! 55: { \ ! 56: if (in_section != in_dtor) \ ! 57: { \ ! 58: fprintf (asm_out_file, "\t.section .dtor\n"); \ ! 59: in_section = in_dtor; \ ! 60: } \ ! 61: } ! 62: ! 63: #undef ASM_OUTPUT_CONSTRUCTOR ! 64: #define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \ ! 65: do { \ ! 66: ctor_section (); \ ! 67: fprintf (FILE, "%s\t", ASM_LONG); \ ! 68: assemble_name (FILE, NAME); \ ! 69: fprintf (FILE, "\n"); \ ! 70: } while (0) ! 71: ! 72: #undef ASM_OUTPUT_DESTRUCTOR ! 73: #define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ ! 74: do { \ ! 75: dtor_section (); \ ! 76: fprintf (FILE, "%s\t", ASM_LONG); \ ! 77: assemble_name (FILE, NAME); \ ! 78: fprintf (FILE, "\n"); \ ! 79: } while (0)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.