1 /* Definitions for Motorola m68k running Linux-based GNU systems.
2    Copyright (C) 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
3 
4 This file is part of GNU CC.
5 
6 GNU CC is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10 
11 GNU CC is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with GNU CC; see the file COPYING.  If not, write to
18 the Free Software Foundation, 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20 
21 #include <m68k/m68k.h>
22 #include <linux-aout.h>
23 
24 /* 68020 with 68881 */
25 #define TARGET_DEFAULT (MASK_BITFIELD|MASK_68881|MASK_68020)
26 
27 #define DBX_DEBUGGING_INFO 1
28 
29 #define ASM_COMMENT_START "|"
30 
31 #define CPP_PREDEFINES \
32   "-Dunix -Dmc68000 -Dmc68020 -D__gnu_linux__ -Dlinux -Asystem=unix -Asystem=posix -Acpu=m68k -Amachine=m68k"
33 
34 #undef CPP_SPEC
35 #if TARGET_DEFAULT & MASK_68881
36 #define CPP_SPEC \
37   "%{!msoft-float:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE}"
38 #else
39 #define CPP_SPEC \
40   "%{m68881:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE}"
41 #endif
42 
43 #undef SUBTARGET_SWITCHES
44 #define SUBTARGET_SWITCHES	{"ieee-fp", 0, \
45   N_("Use IEEE math for fp comparisons") },
46 
47 #undef ASM_SPEC
48 #define ASM_SPEC \
49   "%{m68030} %{m68040} %{fpic:-k} %{fPIC:-k}"
50 
51 #undef LIB_SPEC
52 #if 1
53 /* We no longer link with libc_p.a or libg.a by default.  If you want
54    to profile or debug the GNU/Linux C library, please add -lc_p or -ggdb
55    to LDFLAGS at the link time, respectively.  */
56 #define LIB_SPEC \
57   "%{mieee-fp:-lieee} %{p:-lgmon} %{pg:-lgmon} %{!ggdb:-lc} %{ggdb:-lg}"
58 #else
59 #define LIB_SPEC \
60   "%{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}"
61 #endif
62 
63 /* We want to pass -v to linker */
64 #undef LINK_SPEC
65 #define LINK_SPEC	"-m m68klinux %{v:-dll-verbose}"
66 
67 #define SIZE_TYPE "unsigned int"
68 #define PTRDIFF_TYPE "int"
69 
70 /* Generate calls to memcpy, memcmp and memset.  */
71 #define TARGET_MEM_FUNCTIONS
72 
73 /* Don't default to pcc-struct-return, because gcc is the only compiler.  */
74 #undef PCC_STATIC_STRUCT_RETURN
75 #define DEFAULT_PCC_STRUCT_RETURN 0
76