1/* Specs definitions for Atmel AVR back end. 2 3 Copyright (C) 2012-2020 Free Software Foundation, Inc. 4 Contributed by Georg-Johann Lay (avr@gjlay.de) 5 6This file is part of GCC. 7 8GCC is free software; you can redistribute it and/or modify 9it under the terms of the GNU General Public License as published by 10the Free Software Foundation; either version 3, or (at your option) 11any later version. 12 13GCC is distributed in the hope that it will be useful, 14but WITHOUT ANY WARRANTY; without even the implied warranty of 15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16GNU General Public License for more details. 17 18You should have received a copy of the GNU General Public License 19along with GCC; see the file COPYING3. If not see 20<http://www.gnu.org/licenses/>. */ 21 22 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. */ 27 28 29#undef CPLUSPLUS_CPP_SPEC 30#define CPLUSPLUS_CPP_SPEC \ 31 "%(cpp)" 32 33#undef CC1_SPEC 34#define CC1_SPEC \ 35 "%(cc1_n_flash) " \ 36 "%(cc1_errata_skip) " \ 37 "%(cc1_rmw) " \ 38 "%(cc1_absdata) " 39 40#undef CC1PLUS_SPEC 41#define CC1PLUS_SPEC \ 42 "%(cc1) " \ 43 "%{!frtti:-fno-rtti} " \ 44 "%{!fenforce-eh-specs:-fno-enforce-eh-specs} " \ 45 "%{!fexceptions:-fno-exceptions} " 46 47#define ASM_RELAX_SPEC \ 48 "%{mrelax:--mlink-relax} " 49 50#undef ASM_SPEC 51#define ASM_SPEC \ 52 "%(asm_arch) " \ 53 "%(asm_relax) " \ 54 "%(asm_rmw) " \ 55 "%(asm_gccisr) " \ 56 "%(asm_errata_skip) " 57 58#define LINK_ARCH_SPEC \ 59 "%{mmcu=*:-m%*} " 60 61#define LINK_RELAX_SPEC \ 62 "%{mrelax:--relax} " 63 64#undef LINK_SPEC 65#define LINK_SPEC \ 66 "%(link_arch) " \ 67 "%(link_data_start) " \ 68 "%(link_text_start) " \ 69 "%(link_relax) " \ 70 "%(link_pmem_wrap) " \ 71 "%{shared:%eshared is not supported} " 72 73#undef LIB_SPEC 74#define LIB_SPEC " %{!mmcu=avr1:-lc} " 75 76#undef LIBGCC_SPEC 77#define LIBGCC_SPEC " %{!mmcu=avr1:-lgcc} " 78 79#define STARTFILE_SPEC "" 80#define ENDFILE_SPEC "" 81