]>
Commit | Line | Data |
---|---|---|
491b3c5f | 1 | /* Base configuration file for all Fuchsia targets. |
aeee4812 | 2 | Copyright (C) 2017-2023 Free Software Foundation, Inc. |
491b3c5f JC |
3 | Contributed by Google. |
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 3, 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 COPYING3. If not see | |
19 | <http://www.gnu.org/licenses/>. */ | |
20 | ||
21 | /* Common Fuchsia configuration. */ | |
22 | ||
23 | #undef STARTFILE_SPEC | |
24 | #define STARTFILE_SPEC "%{!shared: crt1%O%s} crtbegin%O%s" | |
25 | ||
26 | #undef ENDFILE_SPEC | |
27 | #define ENDFILE_SPEC "crtend%O%s" | |
28 | ||
29 | /* When neither pic nor pie has been specified, use PIE. */ | |
30 | #undef CC1_SPEC | |
31 | #define CC1_SPEC "%{!fno-pic:%{!fno-PIC:%{!fpic:%{!fPIC:" \ | |
32 | "%{!fno-pie:%{!fno-PIE:%{!fpie:%{!fPIE: -fPIE}}}}}}}}" | |
33 | ||
34 | #undef LIB_SPEC | |
35 | #define LIB_SPEC "--start-group" \ | |
36 | " -lmxio -lmagenta -lc -llaunchpad" \ | |
37 | "%{!static: -lgcc_s}" \ | |
38 | " --end-group" | |
39 | ||
40 | #undef LINK_SPEC | |
41 | #define LINK_SPEC "-z max-page-size=4096" \ | |
42 | " -z combreloc" \ | |
43 | " -z relro" \ | |
44 | " -z now" \ | |
45 | " -z text" \ | |
46 | "%{!hash-style: --hash-style=gnu}" \ | |
47 | "%{!no-eh-frame-hdr: --eh-frame-hdr}" \ | |
48 | "%{!no-build-id: --build-id}" \ | |
49 | "%{shared: -shared}" \ | |
50 | "%{!shared:%{!static:%{!dynamic-linker: -dynamic-linker=ld.so.1}}}" | |
51 | ||
52 | /* We are using MUSL as our libc. */ | |
53 | #undef OPTION_MUSL | |
54 | #define OPTION_MUSL 1 | |
2c31a8be JJ |
55 | #undef OPTION_MUSL_P |
56 | #define OPTION_MUSL_P(opts) 1 | |
491b3c5f JC |
57 | |
58 | #ifndef TARGET_SUB_OS_CPP_BUILTINS | |
59 | #define TARGET_SUB_OS_CPP_BUILTINS() | |
60 | #endif | |
61 | ||
62 | #undef TARGET_OS_CPP_BUILTINS | |
63 | #define TARGET_OS_CPP_BUILTINS() \ | |
64 | do \ | |
65 | { \ | |
66 | builtin_define ("__fuchsia__"); \ | |
67 | TARGET_SUB_OS_CPP_BUILTINS(); \ | |
68 | } \ | |
69 | while (false) | |
70 |