diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/usr.bin/gcc/config/alpha/linux.h | 72 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/config/alpha/t-linux | 3 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/config/alpha/xm-linux.h | 8 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/config/x-linux-aout | 14 |
4 files changed, 97 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/config/alpha/linux.h b/gnu/usr.bin/gcc/config/alpha/linux.h new file mode 100644 index 00000000000..cecf0b1147d --- /dev/null +++ b/gnu/usr.bin/gcc/config/alpha/linux.h @@ -0,0 +1,72 @@ +/* Definitions of target machine for GNU compiler, for Alpha Linux, + using ECOFF. + Copyright (C) 1995 Free Software Foundation, Inc. + Contributed by Bob Manson. + Derived from work contributed by Cygnus Support, + (c) 1993 Free Software Foundation. + +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 TARGET_DEFAULT (3 | MASK_GAS) + +#include "alpha/alpha.h" + +#undef TARGET_VERSION +#define TARGET_VERSION fprintf (stderr, " (Linux/Alpha)"); + +#undef CPP_PREDEFINES +#define CPP_PREDEFINES "\ +-D__alpha -D__alpha__ -D__linux__ -D__linux -D_LONGLONG -Dlinux -Dunix \ +-Asystem(linux) -Acpu(alpha) -Amachine(alpha)" + +/* We don't actually need any of these; the MD_ vars are ignored + anyway for cross-compilers, and the other specs won't get picked up + 'coz the user is supposed to do ld -r (hmm, perhaps that should be + the default). In any case, setting them thus will catch some + common user errors. */ + +#undef MD_EXEC_PREFIX +#undef MD_STARTFILE_PREFIX + +#undef LIB_SPEC +#define LIB_SPEC "%{pg:-lgmon} %{pg:-lc_p} %{!pg:-lc}" + +#undef LINK_SPEC +#define LINK_SPEC \ + "-G 8 %{O*:-O3} %{!O*:-O1}" + +#undef ASM_SPEC +#define ASM_SPEC "-nocpp" + +/* Can't do stabs */ +#undef SDB_DEBUGGING_INFO + +/* Prefer dbx. */ +#undef PREFERRED_DEBUGGING_TYPE +#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + +#undef FUNCTION_PROFILER + +#define FUNCTION_PROFILER(FILE, LABELNO) \ + do { \ + fputs ("\tlda $27,_mcount\n", (FILE)); \ + fputs ("\tjsr $26,($27),_mcount\n", (FILE)); \ + fputs ("\tldgp $29,0($26)\n", (FILE)); \ + } while (0); + +/* Generate calls to memcpy, etc., not bcopy, etc. */ +#define TARGET_MEM_FUNCTIONS diff --git a/gnu/usr.bin/gcc/config/alpha/t-linux b/gnu/usr.bin/gcc/config/alpha/t-linux new file mode 100644 index 00000000000..015d7c834e8 --- /dev/null +++ b/gnu/usr.bin/gcc/config/alpha/t-linux @@ -0,0 +1,3 @@ +# Our header files are supposed to be correct, nein? +FIXINCLUDES = +STMP_FIXPROTO = diff --git a/gnu/usr.bin/gcc/config/alpha/xm-linux.h b/gnu/usr.bin/gcc/config/alpha/xm-linux.h new file mode 100644 index 00000000000..bb00115928d --- /dev/null +++ b/gnu/usr.bin/gcc/config/alpha/xm-linux.h @@ -0,0 +1,8 @@ +#ifndef _XM_LINUX_H +#define _XM_LINUX_H + +#include "xm-alpha.h" + +#define DONT_DECLARE_SYS_SIGLIST +#define USE_BFD +#endif diff --git a/gnu/usr.bin/gcc/config/x-linux-aout b/gnu/usr.bin/gcc/config/x-linux-aout new file mode 100644 index 00000000000..ea2a5f270b3 --- /dev/null +++ b/gnu/usr.bin/gcc/config/x-linux-aout @@ -0,0 +1,14 @@ +# It is defined in config/xm-linux.h. +# X_CFLAGS = -DPOSIX + +# The following is needed when compiling stages 2 and 3 because gcc's +# limits.h must be picked up before /usr/include/limits.h. This is because +# each does an #include_next of the other if the other hasn't been included. +# /usr/include/limits.h loses if it gets found first because /usr/include is +# at the end of the search order. When a new version of gcc is released, +# gcc's limits.h hasn't been installed yet and hence isn't found. + +BOOT_CFLAGS = -O $(CFLAGS) -Iinclude + +# Don't run fixproto +STMP_FIXPROTO = |