elf.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /* Xtensa/Elf configuration.
  2. Derived from the configuration for GCC for Intel i386 running Linux.
  3. Copyright (C) 2001-2015 Free Software Foundation, Inc.
  4. This file is part of GCC.
  5. GCC is free software; you can redistribute it and/or modify it under
  6. the terms of the GNU General Public License as published by the Free
  7. Software Foundation; either version 3, or (at your option) any later
  8. version.
  9. GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  10. WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  12. for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with GCC; see the file COPYING3. If not see
  15. <http://www.gnu.org/licenses/>. */
  16. #define TARGET_SECTION_TYPE_FLAGS xtensa_multibss_section_type_flags
  17. /* Don't assume anything about the header files. */
  18. #define NO_IMPLICIT_EXTERN_C
  19. #undef ASM_APP_ON
  20. #define ASM_APP_ON "#APP\n"
  21. #undef ASM_APP_OFF
  22. #define ASM_APP_OFF "#NO_APP\n"
  23. #undef SIZE_TYPE
  24. #define SIZE_TYPE "unsigned int"
  25. #undef PTRDIFF_TYPE
  26. #define PTRDIFF_TYPE "int"
  27. #undef WCHAR_TYPE
  28. #define WCHAR_TYPE "short unsigned int"
  29. #undef WCHAR_TYPE_SIZE
  30. #define WCHAR_TYPE_SIZE 16
  31. #undef ASM_SPEC
  32. #define ASM_SPEC \
  33. "%{mtext-section-literals:--text-section-literals} \
  34. %{mno-text-section-literals:--no-text-section-literals} \
  35. %{mtarget-align:--target-align} \
  36. %{mno-target-align:--no-target-align} \
  37. %{mlongcalls:--longcalls} \
  38. %{mno-longcalls:--no-longcalls}"
  39. #undef LIB_SPEC
  40. #define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal"
  41. #undef STARTFILE_SPEC
  42. #define STARTFILE_SPEC \
  43. "crt1-sim%O%s crt0%O%s crti%O%s crtbegin%O%s _vectors%O%s"
  44. #undef ENDFILE_SPEC
  45. #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
  46. #undef LINK_SPEC
  47. #define LINK_SPEC \
  48. "%{shared:-shared} \
  49. %{!shared: \
  50. %{!static: \
  51. %{rdynamic:-export-dynamic} \
  52. %{static:-static}}}"
  53. #undef LOCAL_LABEL_PREFIX
  54. #define LOCAL_LABEL_PREFIX "."
  55. /* Avoid dots for compatibility with VxWorks. */
  56. #undef NO_DOLLAR_IN_LABEL
  57. #define NO_DOT_IN_LABEL
  58. /* Do not force "-fpic" for this target. */
  59. #define XTENSA_ALWAYS_PIC 0
  60. #undef DBX_REGISTER_NUMBER
  61. /* Search for headers in $tooldir/arch/include and for libraries and
  62. startfiles in $tooldir/arch/lib. */
  63. #define GCC_DRIVER_HOST_INITIALIZATION \
  64. do \
  65. { \
  66. char *tooldir, *archdir; \
  67. tooldir = concat (tooldir_base_prefix, spec_machine, \
  68. dir_separator_str, NULL); \
  69. if (!IS_ABSOLUTE_PATH (tooldir)) \
  70. tooldir = concat (standard_exec_prefix, spec_machine, dir_separator_str, \
  71. spec_version, dir_separator_str, tooldir, NULL); \
  72. archdir = concat (tooldir, "arch", dir_separator_str, NULL); \
  73. add_prefix (&startfile_prefixes, \
  74. concat (archdir, "lib", dir_separator_str, NULL), \
  75. "GCC", PREFIX_PRIORITY_LAST, 0, 1); \
  76. add_prefix (&include_prefixes, archdir, \
  77. "GCC", PREFIX_PRIORITY_LAST, 0, 0); \
  78. } \
  79. while (0)