Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/aarch64/aarch64-linux.h @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 84e7813d76e9 |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* Machine description for AArch64 architecture. | |
2 Copyright (C) 2009-2017 Free Software Foundation, Inc. | |
3 Contributed by ARM Ltd. | |
4 | |
5 This file is part of GCC. | |
6 | |
7 GCC is free software; you can redistribute it and/or modify it | |
8 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, but | |
13 WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 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 #ifndef GCC_AARCH64_LINUX_H | |
22 #define GCC_AARCH64_LINUX_H | |
23 | |
24 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" | |
25 | |
26 #undef MUSL_DYNAMIC_LINKER | |
27 #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1" | |
28 | |
29 #undef ASAN_CC1_SPEC | |
30 #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" | |
31 | |
32 #undef CC1_SPEC | |
33 #define CC1_SPEC GNU_USER_TARGET_CC1_SPEC ASAN_CC1_SPEC | |
34 | |
35 #define CPP_SPEC "%{pthread:-D_REENTRANT}" | |
36 | |
37 #define LINUX_TARGET_LINK_SPEC "%{h*} \ | |
38 %{static:-Bstatic} \ | |
39 %{shared:-shared} \ | |
40 %{symbolic:-Bsymbolic} \ | |
41 %{!static:%{!static-pie: \ | |
42 %{rdynamic:-export-dynamic} \ | |
43 %{!shared:-dynamic-linker " GNU_USER_DYNAMIC_LINKER "}}} \ | |
44 %{static-pie:-Bstatic -pie --no-dynamic-linker -z text} \ | |
45 -X \ | |
46 %{mbig-endian:-EB} %{mlittle-endian:-EL} \ | |
47 -maarch64linux%{mabi=ilp32:32}%{mbig-endian:b}" | |
48 | |
49 #if TARGET_FIX_ERR_A53_835769_DEFAULT | |
50 #define CA53_ERR_835769_SPEC \ | |
51 " %{!mno-fix-cortex-a53-835769:--fix-cortex-a53-835769}" | |
52 #else | |
53 #define CA53_ERR_835769_SPEC \ | |
54 " %{mfix-cortex-a53-835769:--fix-cortex-a53-835769}" | |
55 #endif | |
56 | |
57 #if TARGET_FIX_ERR_A53_843419_DEFAULT | |
58 #define CA53_ERR_843419_SPEC \ | |
59 " %{!mno-fix-cortex-a53-843419:--fix-cortex-a53-843419}" | |
60 #else | |
61 #define CA53_ERR_843419_SPEC \ | |
62 " %{mfix-cortex-a53-843419:--fix-cortex-a53-843419}" | |
63 #endif | |
64 | |
65 #define LINK_SPEC LINUX_TARGET_LINK_SPEC \ | |
66 CA53_ERR_835769_SPEC \ | |
67 CA53_ERR_843419_SPEC | |
68 | |
69 #define GNU_USER_TARGET_MATHFILE_SPEC \ | |
70 "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}" | |
71 | |
72 #undef ENDFILE_SPEC | |
73 #define ENDFILE_SPEC \ | |
74 GNU_USER_TARGET_MATHFILE_SPEC " " \ | |
75 GNU_USER_TARGET_ENDFILE_SPEC | |
76 | |
77 #define TARGET_OS_CPP_BUILTINS() \ | |
78 do \ | |
79 { \ | |
80 GNU_USER_TARGET_OS_CPP_BUILTINS(); \ | |
81 } \ | |
82 while (0) | |
83 | |
84 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack | |
85 | |
86 /* Uninitialized common symbols in non-PIE executables, even with | |
87 strong definitions in dependent shared libraries, will resolve | |
88 to COPY relocated symbol in the executable. See PR65780. */ | |
89 #undef TARGET_BINDS_LOCAL_P | |
90 #define TARGET_BINDS_LOCAL_P default_binds_local_p_2 | |
91 | |
92 /* Define this to be nonzero if static stack checking is supported. */ | |
93 #define STACK_CHECK_STATIC_BUILTIN 1 | |
94 | |
95 #endif /* GCC_AARCH64_LINUX_H */ |