semi.h revision 285830
1/* Definitions of target machine for GNU compiler. ARM on semi-hosted platform 2 Copyright (C) 1994, 1995, 1996, 1997, 2001, 2004, 2005 3 Free Software Foundation, Inc. 4 Contributed by Richard Earnshaw (richard.earnshaw@arm.com) 5 6 This file is part of GCC. 7 8 GCC is free software; you can redistribute it and/or modify it 9 under the terms of the GNU General Public License as published 10 by the Free Software Foundation; either version 2, or (at your 11 option) any later version. 12 13 GCC is distributed in the hope that it will be useful, but WITHOUT 14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 15 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 16 License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with GCC; see the file COPYING. If not, write to 20 the Free Software Foundation, 51 Franklin Street, Fifth Floor, 21 Boston, MA 02110-1301, USA. */ 22 23#define STARTFILE_SPEC "crt0.o%s" 24 25#ifndef LIB_SPEC 26#define LIB_SPEC "-lc" 27#endif 28 29#ifndef SUBTARGET_CPP_SPEC 30#define SUBTARGET_CPP_SPEC "-D__semi__" 31#endif 32 33#ifndef LINK_SPEC 34#define LINK_SPEC "%{mbig-endian:-EB} -X" 35#endif 36 37#ifndef TARGET_VERSION 38#define TARGET_VERSION fputs (" (ARM/semi-hosted)", stderr); 39#endif 40 41#ifndef TARGET_DEFAULT_FLOAT_ABI 42#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD 43#endif 44 45#ifndef TARGET_DEFAULT 46#define TARGET_DEFAULT (MASK_APCS_FRAME) 47#endif 48 49#ifndef SUBTARGET_EXTRA_SPECS 50#define SUBTARGET_EXTRA_SPECS \ 51 { "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, 52#endif 53 54#ifndef SUBTARGET_EXTRA_ASM_SPEC 55#define SUBTARGET_EXTRA_ASM_SPEC "" 56#endif 57 58/* The compiler supports PIC code generation, even though the binutils 59 may not. If we are asked to compile position independent code, we 60 always pass -k to the assembler. If it doesn't recognize it, then 61 it will barf, which probably means that it doesn't know how to 62 assemble PIC code. This is what we want, since otherwise tools 63 may incorrectly assume we support PIC compilation even if the 64 binutils can't. */ 65#ifndef ASM_SPEC 66#define ASM_SPEC "\ 67%{fpic|fpie: -k} %{fPIC|fPIE: -k} \ 68%{mbig-endian:-EB} \ 69%{mcpu=*:-mcpu=%*} \ 70%{march=*:-march=%*} \ 71%{mapcs-float:-mfloat} \ 72%{msoft-float:-mfloat-abi=soft} %{mhard-float:-mfloat-abi=hard} \ 73%{mfloat-abi=*} %{mfpu=*} \ 74%{mthumb-interwork:-mthumb-interwork} \ 75%(subtarget_extra_asm_spec)" 76#endif 77