annotate gcc/config/csky/csky-elf.h @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
131
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
1 /* Declarations for bare-metal C-SKY targets.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
2 Copyright (C) 2018 Free Software Foundation, Inc.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
3 Contributed by C-SKY Microsystems and Mentor Graphics.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
4
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
5 This file is part of GCC.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
6
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
7 GCC is free software; you can redistribute it and/or modify it
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
8 under the terms of the GNU General Public License as published
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
9 by the Free Software Foundation; either version 3, or (at your
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
10 option) any later version.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
11
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
12 GCC is distributed in the hope that it will be useful, but WITHOUT
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
15 License for more details.
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
16
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
18 along with GCC; see the file COPYING3. If not see
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
19 <http://www.gnu.org/licenses/>. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
20
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
21
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
22 /******************************************************************
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
23 * Run-time Target Specification *
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
24 ******************************************************************/
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
25
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
26 #undef STARTFILE_SPEC
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
27 #define STARTFILE_SPEC \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
28 "crt0.o%s crti.o%s crtbegin.o%s"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
29
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
30 #undef ENDFILE_SPEC
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
31 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
32
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
33 #undef CC1_SPEC
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
34 #define CC1_SPEC \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
35 "%{EB:-EB} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
36 %{EL:-EL} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
37 %{fpic|fPIC:-DPIC} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
38 %{march=ck803s:-march=ck803} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
39 "
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
40
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
41 #undef ASM_SPEC
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
42 #define ASM_SPEC \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
43 "%{mbig-endian:-mbig-endian} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
44 %{EB:-EB} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
45 %{EL:-EL} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
46 %{fpic|fPIC:-pic} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
47 %{mcpu=*:-mcpu=%*} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
48 %{march=*:-march=%*} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
49 %{mhard-float:-mhard-float} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
50 %{melrw:-melrw} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
51 %{mno-elrw:-mno-elrw} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
52 %{mistack:-mistack} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
53 %{mno-istack:-mno-istack} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
54 %{mmp:-mmp} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
55 %{mcp:-mcp} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
56 %{mcache:-mcache} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
57 %{msecurity|mmac:-msecurity} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
58 %{mtrust:-mtrust} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
59 %{mdsp:-mdsp} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
60 %{medsp:-medsp} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
61 %{mvdsp:-mvdsp} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
62 "
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
63
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
64 #undef LINK_SPEC
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
65 #define LINK_SPEC \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
66 "%{mbig-endian:-EB} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
67 %{EB:-EB} \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
68 %{EL:-EL} -X"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
69
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
70 #undef LIB_SPEC
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
71 #define LIB_SPEC \
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
72 "%{pthread:-lpthread} -lc %{mccrt:-lcc-rt}"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
73 /* FIXME add this to LIB_SPEC when need */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
74 /* %{!shared:%{profile:-lc_p}%{!profile:-lc}}" */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
75
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
76
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
77 #define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
78
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
79 /* Disable features only for Linux toolchains. */
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
80 #undef TARGET_POSIX_IO
84e7813d76e9 gcc-8.2
mir3636
parents:
diff changeset
81 #define TARGET_CSKY_LINUX 0