OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [config/] [arm/] [vxworks.h] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
/* Definitions of target machine for GCC,
/* Definitions of target machine for GCC,
   for ARM with targetting the VXWorks run time environment.
   for ARM with targetting the VXWorks run time environment.
   Copyright (C) 1999, 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
   Copyright (C) 1999, 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
 
 
   Contributed by: Mike Stump <mrs@wrs.com>
   Contributed by: Mike Stump <mrs@wrs.com>
   Brought up to date by CodeSourcery, LLC.
   Brought up to date by CodeSourcery, LLC.
 
 
This file is part of GCC.
This file is part of GCC.
 
 
GCC is free software; you can redistribute it and/or modify
GCC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
the Free Software Foundation; either version 3, or (at your option)
any later version.
any later version.
 
 
GCC is distributed in the hope that it will be useful,
GCC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
GNU General Public License for more details.
 
 
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  */
<http://www.gnu.org/licenses/>.  */
 
 
 
 
#define TARGET_OS_CPP_BUILTINS()                \
#define TARGET_OS_CPP_BUILTINS()                \
  do {                                          \
  do {                                          \
    builtin_define ("__vxworks");               \
    builtin_define ("__vxworks");               \
    if (TARGET_BIG_END)                         \
    if (TARGET_BIG_END)                         \
      builtin_define ("ARMEB");                 \
      builtin_define ("ARMEB");                 \
    else                                        \
    else                                        \
      builtin_define ("ARMEL");                 \
      builtin_define ("ARMEL");                 \
                                                \
                                                \
    if (arm_is_xscale)                          \
    if (arm_is_xscale)                          \
      builtin_define ("CPU=XSCALE");            \
      builtin_define ("CPU=XSCALE");            \
    else if (arm_arch5)                         \
    else if (arm_arch5)                         \
      builtin_define ("CPU=ARMARCH5");          \
      builtin_define ("CPU=ARMARCH5");          \
    else if (arm_arch4)                         \
    else if (arm_arch4)                         \
      {                                         \
      {                                         \
        if (thumb_code)                         \
        if (thumb_code)                         \
          builtin_define ("CPU=ARMARCH4_T");    \
          builtin_define ("CPU=ARMARCH4_T");    \
        else                                    \
        else                                    \
          builtin_define ("CPU=ARMARCH4");      \
          builtin_define ("CPU=ARMARCH4");      \
      }                                         \
      }                                         \
  } while (0)
  } while (0)
 
 
#undef  CC1_SPEC
#undef  CC1_SPEC
#define CC1_SPEC                                                        \
#define CC1_SPEC                                                        \
"%{t4:        -mlittle-endian -march=armv4 ;                    \
"%{t4:        -mlittle-endian -march=armv4 ;                    \
   t4be:      -mbig-endian -march=armv4 ;                       \
   t4be:      -mbig-endian -march=armv4 ;                       \
   t4t:       -mthumb -mthumb-interwork -mlittle-endian -march=armv4t ; \
   t4t:       -mthumb -mthumb-interwork -mlittle-endian -march=armv4t ; \
   t4tbe:     -mthumb -mthumb-interwork -mbig-endian -march=armv4t ;    \
   t4tbe:     -mthumb -mthumb-interwork -mbig-endian -march=armv4t ;    \
   t5:        -mlittle-endian -march=armv5 ;                    \
   t5:        -mlittle-endian -march=armv5 ;                    \
   t5be:      -mbig-endian -march=armv5 ;                       \
   t5be:      -mbig-endian -march=armv5 ;                       \
   t5t:       -mthumb -mthumb-interwork -mlittle-endian -march=armv5 ;  \
   t5t:       -mthumb -mthumb-interwork -mlittle-endian -march=armv5 ;  \
   t5tbe:     -mthumb -mthumb-interwork -mbig-endian -march=armv5 ;     \
   t5tbe:     -mthumb -mthumb-interwork -mbig-endian -march=armv5 ;     \
   txscale:   -mlittle-endian -mcpu=xscale ;                    \
   txscale:   -mlittle-endian -mcpu=xscale ;                    \
   txscalebe: -mbig-endian -mcpu=xscale ;                       \
   txscalebe: -mbig-endian -mcpu=xscale ;                       \
            : -march=armv4}"
            : -march=armv4}"
 
 
/* The -Q options from svr4.h aren't understood and must be removed.  */
/* The -Q options from svr4.h aren't understood and must be removed.  */
#undef  ASM_SPEC
#undef  ASM_SPEC
#define ASM_SPEC \
#define ASM_SPEC \
  "%{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
  "%{v:-V} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
 
 
/* VxWorks does all the library stuff itself.  */
/* VxWorks does all the library stuff itself.  */
#undef  LIB_SPEC
#undef  LIB_SPEC
#define LIB_SPEC        ""
#define LIB_SPEC        ""
 
 
/* VxWorks uses object files, not loadable images.  make linker just
/* VxWorks uses object files, not loadable images.  make linker just
   combine objects.  */
   combine objects.  */
#undef  LINK_SPEC
#undef  LINK_SPEC
#define LINK_SPEC       "-r"
#define LINK_SPEC       "-r"
 
 
/* VxWorks provides the functionality of crt0.o and friends itself.  */
/* VxWorks provides the functionality of crt0.o and friends itself.  */
#undef  STARTFILE_SPEC
#undef  STARTFILE_SPEC
#define STARTFILE_SPEC  ""
#define STARTFILE_SPEC  ""
 
 
#undef  ENDFILE_SPEC
#undef  ENDFILE_SPEC
#define ENDFILE_SPEC    ""
#define ENDFILE_SPEC    ""
 
 
#undef  TARGET_VERSION
#undef  TARGET_VERSION
#define TARGET_VERSION  fputs (" (ARM/VxWorks)", stderr);
#define TARGET_VERSION  fputs (" (ARM/VxWorks)", stderr);
 
 
/* There is no default multilib.  */
/* There is no default multilib.  */
#undef MULTILIB_DEFAULTS
#undef MULTILIB_DEFAULTS
 
 
#undef  ASM_FILE_START
#undef  ASM_FILE_START
#define ASM_FILE_START(STREAM)                                          \
#define ASM_FILE_START(STREAM)                                          \
  do                                                                    \
  do                                                                    \
    {                                                                   \
    {                                                                   \
      fprintf (STREAM, "%s Generated by GCC %s for ARM/VxWorks\n",      \
      fprintf (STREAM, "%s Generated by GCC %s for ARM/VxWorks\n",      \
               ASM_COMMENT_START, version_string);                      \
               ASM_COMMENT_START, version_string);                      \
    }                                                                   \
    }                                                                   \
  while (0)
  while (0)
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.