elf.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* Definitions for embedded ia64-elf target.
  2. Copyright (C) 2000-2015 Free Software Foundation, Inc.
  3. This file is part of GCC.
  4. GCC is free software; you can redistribute it and/or modify it under
  5. the terms of the GNU General Public License as published by the Free
  6. Software Foundation; either version 3, or (at your option) any later
  7. version.
  8. GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  9. WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  11. for more details.
  12. Under Section 7 of GPL version 3, you are granted additional
  13. permissions described in the GCC Runtime Library Exception, version
  14. 3.1, as published by the Free Software Foundation.
  15. You should have received a copy of the GNU General Public License and
  16. a copy of the GCC Runtime Library Exception along with this program;
  17. see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
  18. <http://www.gnu.org/licenses/>. */
  19. /* A C string constant that tells the GCC driver program options to pass to
  20. the assembler. It can also specify how to translate options you give to GNU
  21. CC into options for GCC to pass to the assembler. */
  22. #if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_AS) != 0
  23. /* GNU AS. */
  24. #undef ASM_EXTRA_SPEC
  25. #define ASM_EXTRA_SPEC \
  26. "%{mno-gnu-as:-N so} %{!mno-gnu-as:-x}"
  27. #else
  28. /* Intel ias. */
  29. #undef ASM_SPEC
  30. #define ASM_SPEC \
  31. "%{!mgnu-as:-N so} %{mgnu-as:-x} %{mconstant-gp:-M const_gp}\
  32. %{mauto-pic:-M no_plabel}"
  33. #endif
  34. /* A C string constant that tells the GCC driver program options to pass to
  35. the linker. It can also specify how to translate options you give to GCC
  36. into options for GCC to pass to the linker. */
  37. /* The Intel linker does not support dynamic linking, so we need -dn.
  38. The Intel linker gives annoying messages unless -N so is used. */
  39. #if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_LD) != 0
  40. /* GNU LD. */
  41. #define LINK_SPEC "%{mno-gnu-ld:-dn -N so}"
  42. #else
  43. /* Intel ild. */
  44. #define LINK_SPEC "%{!mgnu-ld:-dn -N so}"
  45. #endif
  46. /* elfos.h does not link with crti.o/crtn.o. We override elfos.h so
  47. that we can use the standard ELF Unix method. */
  48. #undef ENDFILE_SPEC
  49. #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
  50. #undef STARTFILE_SPEC
  51. #define STARTFILE_SPEC "%{!shared: \
  52. %{!symbolic: \
  53. %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
  54. crti.o%s crtbegin.o%s"
  55. #define IA64_NO_LIBGCC_TFMODE
  56. /* End of elf.h */