11debfc3dSmrg /* Specs definitions for Atmel AVR back end. 21debfc3dSmrg 3*8feb0f0bSmrg Copyright (C) 2012-2020 Free Software Foundation, Inc. 41debfc3dSmrg Contributed by Georg-Johann Lay (avr@gjlay.de) 51debfc3dSmrg 61debfc3dSmrg This file is part of GCC. 71debfc3dSmrg 81debfc3dSmrg GCC is free software; you can redistribute it and/or modify 91debfc3dSmrg it under the terms of the GNU General Public License as published by 101debfc3dSmrg the Free Software Foundation; either version 3, or (at your option) 111debfc3dSmrg any later version. 121debfc3dSmrg 131debfc3dSmrg GCC is distributed in the hope that it will be useful, 141debfc3dSmrg but WITHOUT ANY WARRANTY; without even the implied warranty of 151debfc3dSmrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 161debfc3dSmrg GNU General Public License for more details. 171debfc3dSmrg 181debfc3dSmrg You should have received a copy of the GNU General Public License 191debfc3dSmrg along with GCC; see the file COPYING3. If not see 201debfc3dSmrg <http://www.gnu.org/licenses/>. */ 211debfc3dSmrg 221debfc3dSmrg 231debfc3dSmrg /* Default specs layout. The actual definitions might be superseeded 241debfc3dSmrg by device- or OS- specific files, like avrlibc.h, ../rtems.h, etc. 251debfc3dSmrg The specs are repeated in the device specs files. Subspecs are 261debfc3dSmrg specs known to GCC or specs defined in the device specs files. */ 271debfc3dSmrg 281debfc3dSmrg 291debfc3dSmrg #undef CPLUSPLUS_CPP_SPEC 301debfc3dSmrg #define CPLUSPLUS_CPP_SPEC \ 311debfc3dSmrg "%(cpp)" 321debfc3dSmrg 331debfc3dSmrg #undef CC1_SPEC 341debfc3dSmrg #define CC1_SPEC \ 351debfc3dSmrg "%(cc1_n_flash) " \ 361debfc3dSmrg "%(cc1_errata_skip) " \ 371debfc3dSmrg "%(cc1_rmw) " \ 381debfc3dSmrg "%(cc1_absdata) " 391debfc3dSmrg 401debfc3dSmrg #undef CC1PLUS_SPEC 411debfc3dSmrg #define CC1PLUS_SPEC \ 421debfc3dSmrg "%(cc1) " \ 431debfc3dSmrg "%{!frtti:-fno-rtti} " \ 441debfc3dSmrg "%{!fenforce-eh-specs:-fno-enforce-eh-specs} " \ 451debfc3dSmrg "%{!fexceptions:-fno-exceptions} " 461debfc3dSmrg 471debfc3dSmrg #define ASM_RELAX_SPEC \ 481debfc3dSmrg "%{mrelax:--mlink-relax} " 491debfc3dSmrg 501debfc3dSmrg #undef ASM_SPEC 511debfc3dSmrg #define ASM_SPEC \ 521debfc3dSmrg "%(asm_arch) " \ 531debfc3dSmrg "%(asm_relax) " \ 541debfc3dSmrg "%(asm_rmw) " \ 55a2dc1f3fSmrg "%(asm_gccisr) " \ 561debfc3dSmrg "%(asm_errata_skip) " 571debfc3dSmrg 581debfc3dSmrg #define LINK_ARCH_SPEC \ 591debfc3dSmrg "%{mmcu=*:-m%*} " 601debfc3dSmrg 611debfc3dSmrg #define LINK_RELAX_SPEC \ 621debfc3dSmrg "%{mrelax:--relax} " 631debfc3dSmrg 641debfc3dSmrg #undef LINK_SPEC 651debfc3dSmrg #define LINK_SPEC \ 661debfc3dSmrg "%(link_arch) " \ 671debfc3dSmrg "%(link_data_start) " \ 681debfc3dSmrg "%(link_text_start) " \ 691debfc3dSmrg "%(link_relax) " \ 701debfc3dSmrg "%(link_pmem_wrap) " \ 711debfc3dSmrg "%{shared:%eshared is not supported} " 721debfc3dSmrg 731debfc3dSmrg #undef LIB_SPEC 741debfc3dSmrg #define LIB_SPEC " %{!mmcu=avr1:-lc} " 751debfc3dSmrg 761debfc3dSmrg #undef LIBGCC_SPEC 771debfc3dSmrg #define LIBGCC_SPEC " %{!mmcu=avr1:-lgcc} " 781debfc3dSmrg 791debfc3dSmrg #define STARTFILE_SPEC "" 801debfc3dSmrg #define ENDFILE_SPEC "" 81