summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/config/aoutos.h
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
committerpeter <peter@FreeBSD.org>1996-09-18 05:35:50 +0000
commitd4691e641ba47cb86eef80f5c879e13f9d961724 (patch)
tree5b7ea73fc49c8998d9dc87d3eeff5b96439e6856 /contrib/gcc/config/aoutos.h
downloadFreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.zip
FreeBSD-src-d4691e641ba47cb86eef80f5c879e13f9d961724.tar.gz
Import of unmodified (but trimmed) gcc-2.7.2. The bigger parts of the
non-i386, non-unix, and generatable files have been trimmed, but can easily be added in later if needed. gcc-2.7.2.1 will follow shortly, it's a very small delta to this and it's handy to have both available for reference for such little cost. The freebsd-specific changes will then be committed, and once the dust has settled, the bmakefiles will be committed to use this code.
Diffstat (limited to 'contrib/gcc/config/aoutos.h')
-rw-r--r--contrib/gcc/config/aoutos.h88
1 files changed, 88 insertions, 0 deletions
diff --git a/contrib/gcc/config/aoutos.h b/contrib/gcc/config/aoutos.h
new file mode 100644
index 0000000..e9caa71
--- /dev/null
+++ b/contrib/gcc/config/aoutos.h
@@ -0,0 +1,88 @@
+/* aoutos.h -- operating system specific defines to be used when
+ targeting GCC for some system that uses a.out file format.
+ Copyright (C) 1992 Free Software Foundation, Inc.
+
+ Written by Ron Guilmette (rfg@netcom.com).
+
+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, 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA. */
+
+/* To use this file, make up a file with a name like:
+
+ ?????aout.h
+
+ where ????? is replaced by the name of the basic hardware that you
+ are targeting for. Then, in the file ?????aout.h, put something
+ like:
+
+ #include "?????.h"
+ #include "aoutos.h"
+
+ followed by any really system-specific defines (or overrides of
+ defines) which you find that you need. Now, modify the configure
+ or configure.in script to properly use the new ?????aout.h file
+ when configuring for the system. */
+
+/* Define a symbol indicating that we are using aoutos.h. */
+#define USING_AOUTOS_H
+
+/* A C statement (sans semicolon) to output an element in the table of
+ global constructors.
+ If using GNU LD, tell it that this is part of the static destructor set.
+ This code works for any machine provided you use GNU as/ld.
+ If not using GNU LD, rely on a "collect" program to look for names defined
+ in the particular form we choose as global constructor function names. */
+
+#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \
+ do { \
+ if (flag_gnu_linker) \
+ { \
+ /* Output an N_SETT (0x16, 22.) for the name. */ \
+ fprintf (FILE, "%s \"___CTOR_LIST__\",22,0,0,", ASM_STABS_OP); \
+ assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); \
+ } \
+ } while (0)
+
+
+/* A C statement (sans semicolon) to output an element in the table of
+ global destructors. */
+
+#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \
+ do { \
+ if (flag_gnu_linker) \
+ { \
+ /* Output an N_SETT (0x16, 22.) for the name. */ \
+ fprintf (FILE, "%s \"___DTOR_LIST__\",22,0,0,", ASM_STABS_OP); \
+ assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); \
+ } \
+ } while (0)
+
+/* Likewise for entries we want to record for garbage collection.
+ Garbage collection is still under development. */
+
+#define ASM_OUTPUT_GC_ENTRY(FILE,NAME) \
+ do { \
+ if (flag_gnu_linker) \
+ { \
+ /* Output an N_SETT (0x16, 22.) for the name. */ \
+ fprintf (FILE, "%s \"___PTR_LIST__\",22,0,0,", ASM_STABS_OP); \
+ assemble_name (FILE, NAME); \
+ fputc ('\n', FILE); \
+ } \
+ } while (0)
OpenPOWER on IntegriCloud