diff options
author | Doug Evans <dje@gnu.org> | 1994-11-17 22:31:06 +0000 |
---|---|---|
committer | Doug Evans <dje@gnu.org> | 1994-11-17 22:31:06 +0000 |
commit | 64e28767d3508601e9c2c826248515d2b4622d1b (patch) | |
tree | 62e28a6953c7887f9124aab7db6b9a4ac08460b9 /gcc | |
parent | ec2c907ae8bc195be96fa51ce81ab2b53a6d94ae (diff) | |
download | gcc-64e28767d3508601e9c2c826248515d2b4622d1b.zip gcc-64e28767d3508601e9c2c826248515d2b4622d1b.tar.gz gcc-64e28767d3508601e9c2c826248515d2b4622d1b.tar.bz2 |
Initial revision
From-SVN: r8490
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/i386/vsta.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/gcc/config/i386/vsta.h b/gcc/config/i386/vsta.h new file mode 100644 index 0000000..667f162 --- /dev/null +++ b/gcc/config/i386/vsta.h @@ -0,0 +1,76 @@ +/* Configuration for an i386 running VSTa micro-kernel. + Copyright (C) 1994 Free Software Foundation, Inc. + +This file is part of GNU CC. + +GNU CC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU CC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#define YES_UNDERSCORES + +#include "i386/gas.h" + +#ifdef CPP_PREDEFINES +#undef CPP_PREDEFINES +#endif +#define CPP_PREDEFINES "-Dunix -Di386 -DVSTA \ + -Asystem(unix) -Asystem(vsta) -Acpu(i386) -Amachine(i386)" + +#undef EXTRA_SECTIONS +#define EXTRA_SECTIONS in_ctor, in_dtor + +#undef EXTRA_SECTION_FUNCTIONS +#define EXTRA_SECTION_FUNCTIONS \ + CTOR_SECTION_FUNCTION \ + DTOR_SECTION_FUNCTION + +#define CTOR_SECTION_FUNCTION \ +void \ +ctor_section () \ +{ \ + if (in_section != in_ctor) \ + { \ + fprintf (asm_out_file, "\t.section .ctor\n"); \ + in_section = in_ctor; \ + } \ +} + +#define DTOR_SECTION_FUNCTION \ +void \ +dtor_section () \ +{ \ + if (in_section != in_dtor) \ + { \ + fprintf (asm_out_file, "\t.section .dtor\n"); \ + in_section = in_dtor; \ + } \ +} + +#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \ + do { \ + ctor_section (); \ + fprintf (FILE, "%s\t", ASM_LONG); \ + assemble_name (FILE, NAME); \ + fprintf (FILE, "\n"); \ + } while (0) + +#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ + do { \ + dtor_section (); \ + fprintf (FILE, "%s\t", ASM_LONG); \ + assemble_name (FILE, NAME); \ + fprintf (FILE, "\n"); \ + } while (0) + + |