2016-08-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
[official-gcc.git] / gcc / config / avr / specs.h
blob52763cc607ab7383473646f6c8bebc69b1f873a5
1 /* Specs definitions for Atmel AVR back end.
3 Copyright (C) 2012-2016 Free Software Foundation, Inc.
4 Contributed by Georg-Johann Lay (avr@gjlay.de)
6 This file is part of GCC.
8 GCC is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3, or (at your option)
11 any later version.
13 GCC is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with GCC; see the file COPYING3. If not see
20 <http://www.gnu.org/licenses/>. */
23 /* Default specs layout. The actual definitions might be superseeded
24 by device- or OS- specific files, like avrlibc.h, ../rtems.h, etc.
25 The specs are repeated in the device specs files. Subspecs are
26 specs known to GCC or specs defined in the device specs files. */
29 #undef CPLUSPLUS_CPP_SPEC
30 #define CPLUSPLUS_CPP_SPEC \
31 "%(cpp)"
33 #undef CC1_SPEC
34 #define CC1_SPEC \
35 "%(cc1_n_flash) " \
36 "%(cc1_errata_skip) " \
37 "%(cc1_rmw) "
39 #undef CC1PLUS_SPEC
40 #define CC1PLUS_SPEC \
41 "%(cc1) " \
42 "%{!frtti:-fno-rtti} " \
43 "%{!fenforce-eh-specs:-fno-enforce-eh-specs} " \
44 "%{!fexceptions:-fno-exceptions} "
46 #define ASM_RELAX_SPEC \
47 "%{mrelax:--mlink-relax} "
49 #undef ASM_SPEC
50 #define ASM_SPEC \
51 "%(asm_arch) " \
52 "%(asm_relax) " \
53 "%(asm_rmw) " \
54 "%(asm_errata_skip) "
56 #define LINK_ARCH_SPEC \
57 "%{mmcu=*:-m%*} "
59 #define LINK_RELAX_SPEC \
60 "%{mrelax:--relax %(link_pmem_wrap)} "
62 #undef LINK_SPEC
63 #define LINK_SPEC \
64 "%(link_arch) " \
65 "%(link_data_start) " \
66 "%(link_text_start) " \
67 "%(link_relax) " \
68 "%{shared:%eshared is not supported} "
70 #undef LIB_SPEC
71 #define LIB_SPEC " %{!mmcu=avr1:-lc} "
73 #undef LIBGCC_SPEC
74 #define LIBGCC_SPEC " %{!mmcu=avr1:-lgcc} "
76 #define STARTFILE_SPEC ""
77 #define ENDFILE_SPEC ""