xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/aarch64/aarch64-elf-raw.h (revision 6db267571823ee3b0a1d61478df085a087f2e990)
1 /* Machine description for AArch64 architecture.
2    Copyright (C) 2009-2020 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 #ifndef LINK_SPEC
31 #define LINK_SPEC "%{h*}			\
32    %{static:-Bstatic}				\
33    %{shared:-shared}				\
34    %{symbolic:-Bsymbolic}			\
35    %{!static:%{rdynamic:-export-dynamic}}	\
36    %{mbig-endian:-EB} %{mlittle-endian:-EL} -X	\
37   -maarch64elf%{mabi=ilp32*:32}%{mbig-endian:b}" \
38   AARCH64_ERRATA_LINK_SPEC
39 #endif
40 
41 #endif /* GCC_AARCH64_ELF_RAW_H */
42