diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1995-12-20 01:06:22 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1995-12-20 01:06:22 +0000 |
commit | c482518380683ee38d14024c1e362a0d681cf967 (patch) | |
tree | e69b4f6d3fee3aced20a41f3fdf543fc1c77fb5d /gnu/usr.bin/gcc/config/m68k/mot3300g.h | |
parent | 76a62188d0db49c65b696d474c855a799fd96dce (diff) |
FSF GCC version 2.7.2
Diffstat (limited to 'gnu/usr.bin/gcc/config/m68k/mot3300g.h')
-rw-r--r-- | gnu/usr.bin/gcc/config/m68k/mot3300g.h | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/gnu/usr.bin/gcc/config/m68k/mot3300g.h b/gnu/usr.bin/gcc/config/m68k/mot3300g.h new file mode 100644 index 00000000000..3247ce1f4c1 --- /dev/null +++ b/gnu/usr.bin/gcc/config/m68k/mot3300g.h @@ -0,0 +1,109 @@ +/* Definitions of target machine Motorola Delta 68k using GAS + for GNU Compiler. + 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, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + + +/* Just in case someone asks */ +#define USE_GAS + +#include "m68k/m68k.h" + +/* See m68k.h. 7 means 68020 with 68881, + 7 & 01400 means optimize for 68040 but allow execution on 68020. */ +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (7 & 01400) + +/* NYI: FP= is equivalent to -msoft-float + We use /lib/libp/lib* when profiling. + + NYI: if FP=M68881U library is -lc881u + NYI: if FP= library is -lc. + Default for us: FP=M68881 library is -lc881 */ +#undef LIB_SPEC +#define LIB_SPEC "%{!shlib:%{p:-L/usr/lib/libp} %{pg:-L/usr/lib/libp} -lc881}" + +#undef CPP_SPEC +#define CPP_SPEC "%{!msoft-float:-D__HAVE_68881__}" + +/* Shared libraries need to use crt0s.o */ +#undef STARTFILE_SPEC +#define STARTFILE_SPEC \ + "%{!shlib:%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}\ + %{shlib:crt0s.o%s shlib.ifile%s} " + + /* -m68000 requires special flags to the assembler. */ +#define ASM_SPEC \ + "%{m68000:-mc68000}%{mc68000:-mc68000}%{!mc68000:%{!m68000:-mc68020}}" + +/* Generate calls to memcpy, memcmp and memset. */ +#define TARGET_MEM_FUNCTIONS + +/* size_t is unsigned int. */ +#define SIZE_TYPE "unsigned int" + +/* Every structure or union's size must be a multiple of 2 bytes. */ +#define STRUCTURE_SIZE_BOUNDARY 16 + +/* man cpp on the Delta says pcc predefines "m68k", "unix", and "sysV68", + and experimentation validates this. -jla */ +#define CPP_PREDEFINES "-Dm68k -Dunix -DsysV68" + +/* cpp has to support a #sccs directive for the /usr/include files */ +#define SCCS_DIRECTIVE + +/* Make sure to use MIT syntax, not Motorola */ +#undef MOTOROLA + +/* Use SDB style because gdb on the delta doesn't understand stabs. */ +#define SDB_DEBUGGING_INFO + +/* Use a register prefix to avoid clashes with external symbols (classic + example: `extern char PC;' in termcap). */ +#undef REGISTER_PREFIX +#define REGISTER_PREFIX "%" + +/* In the machine description we can't use %R, because it will not be seen + by ASM_FPRINTF. (Isn't that a design bug?). */ +#undef REGISTER_PREFIX_MD +#define REGISTER_PREFIX_MD "%%" + +/* The file command should always begin the output. */ +#undef ASM_FILE_START +#define ASM_FILE_START(FILE) \ + { \ + fprintf (FILE, "%s", ASM_APP_OFF); \ + output_file_directive ((FILE), main_input_filename); \ + } + +/* Undefining these will allow `output_file_directive' (in toplev.c) + to default to the right thing. */ +#undef ASM_OUTPUT_SOURCE_FILENAME +#undef ASM_OUTPUT_MAIN_SOURCE_FILENAME + +#undef REGISTER_NAMES +#define REGISTER_NAMES \ +{"%d0", "%d1", "%d2", "%d3", "%d4", "%d5", "%d6", "%d7", \ + "%a0", "%a1", "%a2", "%a3", "%a4", "%a5", "%a6", "%sp", \ + "%fp0", "%fp1", "%fp2", "%fp3", "%fp4", "%fp5", "%fp6", "%fp7" } + +/* Define how to jump to variable address from dispatch table of + relative addresses, for m68k.md insn. Note the use of 2 '%' + chars to output one. */ +#define ASM_RETURN_CASE_JUMP return "jmp %%pc@(2,%0:w)" |