summaryrefslogtreecommitdiff
path: root/gcc/config/m88k/sysv4.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/m88k/sysv4.h')
-rwxr-xr-xgcc/config/m88k/sysv4.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/gcc/config/m88k/sysv4.h b/gcc/config/m88k/sysv4.h
new file mode 100755
index 0000000..ff6dc78
--- /dev/null
+++ b/gcc/config/m88k/sysv4.h
@@ -0,0 +1,85 @@
+/* Definitions of target machine for GNU compiler.
+ Motorola 88100 in an 88open ABI environment.
+ Copyright (C) 1990, 1991 Free Software Foundation, Inc.
+
+ Written by Ron Guilmette (rfg@netcom.com).
+ Contributed to FSF by Network Computing Devices.
+
+ Other contributions by Vince Guarna (vguarna@urbana.mcd.mot.com),
+ Ray Essick (essick@i88.isc.com), Wilson Tien (wtien@urbana.mcd.mot.com),
+ and Tom Wood (Tom_Wood@NeXT.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. */
+
+/* DWARF_DEBUGGING_INFO defined in svr4.h. */
+
+#ifndef NO_BUGS
+#define AS_BUG_DOT_LABELS
+#define AS_BUG_POUND_TYPE
+#endif
+
+#include "svr4.h"
+#include "m88k/m88k.h"
+
+/* Identify the compiler. */
+#undef VERSION_INFO1
+#define VERSION_INFO1 "88open ABI, "
+
+/* Default switches */
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT (MASK_CHECK_ZERO_DIV | \
+ MASK_OCS_DEBUG_INFO | \
+ MASK_SVR4)
+
+/* Cpp spec. These pre-assertions are needed for SVR4 as they occur
+ often in the system header files. __svr4__ is our extension. */
+
+#undef CPP_PREDEFINES
+#define CPP_PREDEFINES \
+ "-Dm88000 -Dm88k -Dunix -D__svr4__ -Amachine(m88k) -Acpu(m88k) -Asystem(unix) -Asystem(svr4)"
+
+/* For the AT&T SVR4 port, the function is _mcount. */
+#undef FUNCTION_PROFILER
+#define FUNCTION_PROFILER(FILE, LABELNO) \
+ output_function_profiler (FILE, LABELNO, "_mcount", 1)
+
+/* Override svr4.h and m88k.h. */
+#undef INIT_SECTION_ASM_OP
+#define INIT_SECTION_ASM_OP "section\t.init,\"xa\",#progbits"
+#undef FINI_SECTION_ASM_OP
+#define FINI_SECTION_ASM_OP "section\t.fini,\"xa\",#progbits"
+
+/* Define the pseudo-ops used to switch to the .ctors and .dtors sections.
+
+ Note that we want to give these sections the SHF_WRITE attribute
+ because these sections will actually contain data (i.e. tables of
+ addresses of functions in the current root executable or shared library
+ file) and, in the case of a shared library, the relocatable addresses
+ will have to be properly resolved/relocated (and then written into) by
+ the dynamic linker when it actually attaches the given shared library
+ to the executing process. (Note that on SVR4, you may wish to use the
+ `-z text' option to the ELF linker, when building a shared library, as
+ an additional check that you are doing everything right. But if you do
+ use the `-z text' option when building a shared library, you will get
+ errors unless the .ctors and .dtors sections are marked as writable
+ via the SHF_WRITE attribute.) */
+
+#undef CTORS_SECTION_ASM_OP
+#define CTORS_SECTION_ASM_OP "section\t.ctors,\"aw\""
+#undef DTORS_SECTION_ASM_OP
+#define DTORS_SECTION_ASM_OP "section\t.dtors,\"aw\""