semi.h revision 117395
1243789Sdim/* Definitions of target machine for GNU compiler. ARM on semi-hosted platform 2243789Sdim Copyright (C) 1994, 1995, 1996, 1997, 2001 Free Software Foundation, Inc. 3243789Sdim Contributed by Richard Earnshaw (richard.earnshaw@arm.com) 4243789Sdim 5243789SdimThis file is part of GNU CC. 6243789Sdim 7243789SdimGNU CC is free software; you can redistribute it and/or modify 8243789Sdimit under the terms of the GNU General Public License as published by 9243789Sdimthe Free Software Foundation; either version 2, or (at your option) 10243789Sdimany later version. 11249423Sdim 12249423SdimGNU CC is distributed in the hope that it will be useful, 13249423Sdimbut WITHOUT ANY WARRANTY; without even the implied warranty of 14249423SdimMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15249423SdimGNU General Public License for more details. 16249423Sdim 17243789SdimYou should have received a copy of the GNU General Public License 18243789Sdimalong with GNU CC; see the file COPYING. If not, write to 19243789Sdimthe Free Software Foundation, 59 Temple Place - Suite 330, 20243789SdimBoston, MA 02111-1307, USA. */ 21243789Sdim 22263508Sdim#define STARTFILE_SPEC "crt0.o%s" 23243789Sdim 24249423Sdim#ifndef LIB_SPEC 25249423Sdim#define LIB_SPEC "-lc" 26249423Sdim#endif 27249423Sdim 28249423Sdim#ifndef SUBTARGET_CPP_SPEC 29243789Sdim#define SUBTARGET_CPP_SPEC "-D__semi__" 30263508Sdim#endif 31243789Sdim 32243789Sdim#ifndef LINK_SPEC 33243789Sdim#define LINK_SPEC "%{mbig-endian:-EB} -X" 34243789Sdim#endif 35263508Sdim 36263508Sdim#ifndef TARGET_VERSION 37263508Sdim#define TARGET_VERSION fputs (" (ARM/semi-hosted)", stderr); 38263508Sdim#endif 39243789Sdim 40243789Sdim#ifndef TARGET_DEFAULT 41243789Sdim#define TARGET_DEFAULT (ARM_FLAG_APCS_32 | ARM_FLAG_APCS_FRAME) 42243789Sdim#endif 43243789Sdim 44249423Sdim#ifndef SUBTARGET_EXTRA_SPECS 45243789Sdim#define SUBTARGET_EXTRA_SPECS \ 46243789Sdim { "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, 47243789Sdim#endif 48243789Sdim 49243789Sdim#ifndef SUBTARGET_EXTRA_ASM_SPEC 50243789Sdim#define SUBTARGET_EXTRA_ASM_SPEC "" 51243789Sdim#endif 52243789Sdim 53249423Sdim/* The compiler supports PIC code generation, even though the binutils 54243789Sdim may not. If we are asked to compile position independent code, we 55243789Sdim always pass -k to the assembler. If it doesn't recognize it, then 56243789Sdim it will barf, which probably means that it doesn't know how to 57243789Sdim assemble PIC code. This is what we want, since otherwise tools 58243789Sdim may incorrectly assume we support PIC compilation even if the 59243789Sdim binutils can't. */ 60243789Sdim#ifndef ASM_SPEC 61243789Sdim#define ASM_SPEC "\ 62249423Sdim%{fpic: -k} %{fPIC: -k} \ 63249423Sdim%{mbig-endian:-EB} \ 64243789Sdim%{mcpu=*:-mcpu=%*} \ 65243789Sdim%{march=*:-march=%*} \ 66243789Sdim%{mapcs-float:-mfloat} \ 67243789Sdim%{msoft-float:-mno-fpu} \ 68243789Sdim%{mthumb-interwork:-mthumb-interwork} \ 69243789Sdim%(subtarget_extra_asm_spec)" 70243789Sdim#endif 71243789Sdim 72243789Sdim#undef CPP_APCS_PC_DEFAULT_SPEC 73243789Sdim#define CPP_APCS_PC_DEFAULT_SPEC "-D__APCS_32__" 74243789Sdim