xref: /netbsd-src/external/gpl3/gcc/dist/gcc/config/aarch64/aarch64-elf-raw.h (revision a24efa7dea9f1f56c3bdb15a927d3516792ace1c)
1 /* Machine description for AArch64 architecture.
2    Copyright (C) 2009-2015 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 /* Support for bare-metal builds.  */
22 #ifndef GCC_AARCH64_ELF_RAW_H
23 #define GCC_AARCH64_ELF_RAW_H
24 
25 #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s"
26 #define ENDFILE_SPEC \
27   " crtend%O%s crtn%O%s " \
28   "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
29 
30 #ifdef TARGET_FIX_ERR_A53_835769_DEFAULT
31 #define CA53_ERR_835769_SPEC \
32   " %{!mno-fix-cortex-a53-835769:--fix-cortex-a53-835769}"
33 #else
34 #define CA53_ERR_835769_SPEC \
35   " %{mfix-cortex-a53-835769:--fix-cortex-a53-835769}"
36 #endif
37 
38 #ifdef TARGET_FIX_ERR_A53_843419_DEFAULT
39 #define CA53_ERR_843419_SPEC \
40   " %{!mno-fix-cortex-a53-843419:--fix-cortex-a53-843419}"
41 #else
42 #define CA53_ERR_843419_SPEC \
43   " %{mfix-cortex-a53-843419:--fix-cortex-a53-843419}"
44 #endif
45 
46 #ifndef LINK_SPEC
47 #define LINK_SPEC "%{h*}			\
48    %{static:-Bstatic}				\
49    %{shared:-shared}				\
50    %{symbolic:-Bsymbolic}			\
51    %{!static:%{rdynamic:-export-dynamic}}	\
52    %{mbig-endian:-EB} %{mlittle-endian:-EL} -X	\
53   -maarch64elf%{mabi=ilp32*:32}%{mbig-endian:b}" \
54   CA53_ERR_835769_SPEC \
55   CA53_ERR_843419_SPEC
56 #endif
57 
58 #endif /* GCC_AARCH64_ELF_RAW_H */
59