vxworks.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /* Definitions of target machine for GCC,
  2. for SuperH with targeting the VXWorks run time environment.
  3. Copyright (C) 2003-2015 Free Software Foundation, Inc.
  4. Contributed by CodeSourcery, LLC.
  5. This file is part of GCC.
  6. GCC is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 3, or (at your option)
  9. any later version.
  10. GCC is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with GCC; see the file COPYING3. If not see
  16. <http://www.gnu.org/licenses/>. */
  17. #define TARGET_OS_CPP_BUILTINS() \
  18. do \
  19. { \
  20. builtin_define ("CPU=SH7000"); \
  21. VXWORKS_OS_CPP_BUILTINS (); \
  22. } \
  23. while (0)
  24. #undef SUBTARGET_OVERRIDE_OPTIONS
  25. #define SUBTARGET_OVERRIDE_OPTIONS \
  26. do \
  27. { \
  28. VXWORKS_OVERRIDE_OPTIONS; \
  29. /* The kernel loader cannot handle the relaxation \
  30. relocations, so it cannot load kernel modules \
  31. (which are ET_REL) or RTP executables (which are \
  32. linked with --emit-relocs). No relaxation relocations \
  33. appear in shared libraries, so relaxation is OK \
  34. for RTP PIC. */ \
  35. if (TARGET_RELAX && !(TARGET_VXWORKS_RTP && flag_pic)) \
  36. error ("-mrelax is only supported for RTP PIC"); \
  37. } \
  38. while (0)
  39. #undef SUBTARGET_CPP_SPEC
  40. #define SUBTARGET_CPP_SPEC VXWORKS_ADDITIONAL_CPP_SPEC
  41. #undef SUBTARGET_LINK_EMUL_SUFFIX
  42. #define SUBTARGET_LINK_EMUL_SUFFIX "_vxworks"
  43. #undef LIB_SPEC
  44. #define LIB_SPEC VXWORKS_LIB_SPEC
  45. #undef LINK_SPEC
  46. #define LINK_SPEC VXWORKS_LINK_SPEC " " SH_LINK_SPEC
  47. #undef STARTFILE_SPEC
  48. #define STARTFILE_SPEC VXWORKS_STARTFILE_SPEC
  49. #undef ENDFILE_SPEC
  50. #define ENDFILE_SPEC VXWORKS_ENDFILE_SPEC
  51. /* There is no default multilib. */
  52. #undef MULTILIB_DEFAULTS
  53. #undef FUNCTION_PROFILER
  54. #define FUNCTION_PROFILER VXWORKS_FUNCTION_PROFILER