1 /* Definitions of target machine for GCC, for sparclite 86x w/o FPU.
2    Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
3    Contributed by Stan Cox (scox@cygnus.com).
4 
5 This file is part of GCC.
6 
7 GCC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11 
12 GCC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING.  If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA.  */
21 
22 #undef  TARGET_SUB_OS_CPP_BUILTINS
23 #define TARGET_SUB_OS_CPP_BUILTINS()		\
24   do						\
25     {						\
26 	builtin_define ("__sparclite86x__");	\
27     }						\
28   while (0)
29 
30 /* Default to dwarf2 in ELF.  */
31 
32 #define DWARF2_DEBUGGING_INFO 1
33 
34 #undef PREFERRED_DEBUGGING_TYPE
35 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
36 
37 #undef TARGET_VERSION
38 #define TARGET_VERSION fprintf (stderr, " (sparclite 86x)");
39 
40 /* Enable app-regs and epilogue options.  Do not enable the fpu.  */
41 
42 #undef TARGET_DEFAULT
43 #define TARGET_DEFAULT MASK_APP_REGS
44 
45 #undef ASM_SPEC
46 #define ASM_SPEC "%{v:-V} %{mlittle-endian-data:--little-endian-data} %(asm_cpu)"
47 
48 /* Enable US Software GOFAST library support.  */
49 #define US_SOFTWARE_GOFAST
50 
51 #undef STARTFILE_SPEC
52 #define STARTFILE_SPEC "crti.o%s crtbegin.o%s"
53 
54 #undef LINK_SPEC
55 #define LINK_SPEC "%{v:-V} %{mlittle-endian-data:-EL}"
56 
57 #undef BYTES_BIG_ENDIAN
58 #define BYTES_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN_DATA)
59 #undef WORDS_BIG_ENDIAN
60 #define WORDS_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN_DATA)
61 
62 /* Use __main method of constructor invocation */
63 #undef INIT_SECTION_ASM_OP
64 
65 #define TARGET_LITTLE_ENDIAN_DATA (target_flags & MASK_LITTLE_ENDIAN)
66 #undef  SUBTARGET_SWITCHES
67 #define SUBTARGET_SWITCHES \
68     { "little-endian-data",              MASK_LITTLE_ENDIAN,	N_("Use little-endian byte order for data")},
69