aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/alpha/linux-ecoff.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1997-12-22 20:42:30 -0800
committerRichard Henderson <rth@gcc.gnu.org>1997-12-22 20:42:30 -0800
commitb0435cf4cfaac64f49fc2b118b002ea1d32eb004 (patch)
tree122a5e519d9c21ab9b64c7bad5e16a9d9cf6f819 /gcc/config/alpha/linux-ecoff.h
parent5768f2112cf69725d22a4c1deb2bdefdb9db62fd (diff)
downloadgcc-b0435cf4cfaac64f49fc2b118b002ea1d32eb004.zip
gcc-b0435cf4cfaac64f49fc2b118b002ea1d32eb004.tar.gz
gcc-b0435cf4cfaac64f49fc2b118b002ea1d32eb004.tar.bz2
alpha.h (CPP_PREDEFINES, [...]): Move OSF/1 specific defines out.
* alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC, MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC): Move OSF/1 specific defines out. * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS): Move Linux specific defines out. (LINK_SPEC): Genericize. (ASM_FILE_START): Emit .arch if using more than the base insn set. (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version. (SDB_DEBUGGING_INFO): Remove; gas can't handle it. (HANDLE_SYSV_PRAGMA): Define. * alpha/osf.h: New file. * alpha/linux.h: Split. Retain file-format independant defines. Import Linux bits from elf.h. (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES (FUNCTION_PROFILER): _mcount takes its address in $28. (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef. * alpha/linux-ecoff.h: New file. * alpha/linux-elf.h: New file. * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h. * alpha/win-nt.h (TARGET_DEFAULT): Define. * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]: Add new headers as appropriate. * configure.in (alpha*): Enable Haifa by default. (*-*-winnt3*): Change to winnt*, since we're not v3 specific. * configure: Rebuild. From-SVN: r17211
Diffstat (limited to 'gcc/config/alpha/linux-ecoff.h')
-rw-r--r--gcc/config/alpha/linux-ecoff.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/config/alpha/linux-ecoff.h b/gcc/config/alpha/linux-ecoff.h
new file mode 100644
index 0000000..a6cd5b2
--- /dev/null
+++ b/gcc/config/alpha/linux-ecoff.h
@@ -0,0 +1,36 @@
+/* Definitions of target machine for GNU compiler
+ for Alpha Linux-based GNU systems using ECOFF.
+ Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ Contributed by Bob Manson.
+
+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. */
+
+#undef TARGET_VERSION
+#define TARGET_VERSION fprintf (stderr, " (Alpha GNU/Linux for ECOFF)");
+
+#undef SUB_CPP_PREDEFINES
+#define SUB_CPP_PREDEFINES "-D__ECOFF__"
+
+#undef LINK_SPEC
+#define LINK_SPEC "-G 8 %{O*:-O3} %{!O*:-O1}"
+
+/* stabs get slurped by the assembler into a queer ecoff format. */
+#undef PREFERRED_DEBUGGING_TYPE
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
+
+/* We support #pragma. */
+#define HANDLE_SYSV_PRAGMA