| 1 | 709 | jeremybenn | /* Definitions of target machine for GCC,
 | 
      
         | 2 |  |  |    for SPARC running in an embedded environment using the ELF file format.
 | 
      
         | 3 |  |  |    Copyright (C) 2005, 2007, 2010, 2011 Free Software Foundation, Inc.
 | 
      
         | 4 |  |  |  
 | 
      
         | 5 |  |  | This file is part of GCC.
 | 
      
         | 6 |  |  |  
 | 
      
         | 7 |  |  | GCC is free software; you can redistribute it and/or modify
 | 
      
         | 8 |  |  | it under the terms of the GNU General Public License as published by
 | 
      
         | 9 |  |  | the Free Software Foundation; either version 3, or (at your option)
 | 
      
         | 10 |  |  | any later version.
 | 
      
         | 11 |  |  |  
 | 
      
         | 12 |  |  | GCC is distributed in the hope that it will be useful,
 | 
      
         | 13 |  |  | but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
      
         | 14 |  |  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
      
         | 15 |  |  | GNU General Public License for more details.
 | 
      
         | 16 |  |  |  
 | 
      
         | 17 |  |  | You should have received a copy of the GNU General Public License
 | 
      
         | 18 |  |  | along with GCC; see the file COPYING3.  If not see
 | 
      
         | 19 |  |  | <http://www.gnu.org/licenses/>.  */
 | 
      
         | 20 |  |  |  
 | 
      
         | 21 |  |  | /* Don't assume anything about the header files.  */
 | 
      
         | 22 |  |  | #define NO_IMPLICIT_EXTERN_C
 | 
      
         | 23 |  |  |  
 | 
      
         | 24 |  |  | /* It's safe to pass -s always, even if -g is not used.  */
 | 
      
         | 25 |  |  | #undef ASM_SPEC
 | 
      
         | 26 |  |  | #define ASM_SPEC \
 | 
      
         | 27 |  |  |   "-s \
 | 
      
         | 28 |  |  |    %{fpic|fpie|fPIC|fPIE:-K PIC} %(asm_cpu)"
 | 
      
         | 29 |  |  |  
 | 
      
         | 30 |  |  | /* Use the default.  */
 | 
      
         | 31 |  |  | #undef LINK_SPEC
 | 
      
         | 32 |  |  |  
 | 
      
         | 33 |  |  | #undef STARTFILE_SPEC
 | 
      
         | 34 |  |  | #define STARTFILE_SPEC "crt0.o%s crti.o%s crtbegin.o%s"
 | 
      
         | 35 |  |  |  
 | 
      
         | 36 |  |  | #undef ENDFILE_SPEC
 | 
      
         | 37 |  |  | #define ENDFILE_SPEC \
 | 
      
         | 38 |  |  |   "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
 | 
      
         | 39 |  |  |    crtend.o%s crtn.o%s"
 | 
      
         | 40 |  |  |  
 | 
      
         | 41 |  |  | /* Don't set the target flags, this is done by the linker script */
 | 
      
         | 42 |  |  | #undef LIB_SPEC
 | 
      
         | 43 |  |  | #define LIB_SPEC ""
 | 
      
         | 44 |  |  |  
 | 
      
         | 45 |  |  | #undef  LOCAL_LABEL_PREFIX
 | 
      
         | 46 |  |  | #define LOCAL_LABEL_PREFIX  "."
 | 
      
         | 47 |  |  |  
 | 
      
         | 48 |  |  | /* This is how to store into the string LABEL
 | 
      
         | 49 |  |  |    the symbol_ref name of an internal numbered label where
 | 
      
         | 50 |  |  |    PREFIX is the class of label and NUM is the number within the class.
 | 
      
         | 51 |  |  |    This is suitable for output with `assemble_name'.  */
 | 
      
         | 52 |  |  |  
 | 
      
         | 53 |  |  | #undef  ASM_GENERATE_INTERNAL_LABEL
 | 
      
         | 54 |  |  | #define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM)   \
 | 
      
         | 55 |  |  |   sprintf ((LABEL), "*.L%s%ld", (PREFIX), (long)(NUM))
 | 
      
         | 56 |  |  |  
 | 
      
         | 57 |  |  | /* ??? Inherited from sol2.h.  Probably wrong.  */
 | 
      
         | 58 |  |  | #undef WCHAR_TYPE
 | 
      
         | 59 |  |  | #define WCHAR_TYPE "long int"
 | 
      
         | 60 |  |  |  
 | 
      
         | 61 |  |  | #undef WCHAR_TYPE_SIZE
 | 
      
         | 62 |  |  | #define WCHAR_TYPE_SIZE BITS_PER_WORD
 | 
      
         | 63 |  |  |  
 | 
      
         | 64 |  |  | /* ??? until fixed.  */
 | 
      
         | 65 |  |  | #undef LONG_DOUBLE_TYPE_SIZE
 | 
      
         | 66 |  |  | #define LONG_DOUBLE_TYPE_SIZE 64
 |