190075Sobrien/* Definitions for embedded ia64-elf target.  */
290075Sobrien
390075Sobrien/* This macro is a C statement to print on `stderr' a string describing the
490075Sobrien   particular machine description choice.  */
590075Sobrien
690075Sobrien#define TARGET_VERSION fprintf (stderr, " (IA-64) ELF");
790075Sobrien
8132718Skan/* A C string constant that tells the GCC driver program options to pass to
990075Sobrien   the assembler.  It can also specify how to translate options you give to GNU
10132718Skan   CC into options for GCC to pass to the assembler.  */
1190075Sobrien
1290075Sobrien#if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_AS) != 0
1390075Sobrien/* GNU AS.  */
1496263Sobrien#undef  ASM_EXTRA_SPEC
1596263Sobrien#define ASM_EXTRA_SPEC \
1696263Sobrien  "%{mno-gnu-as:-N so} %{!mno-gnu-as:-x}"
1790075Sobrien#else
1890075Sobrien/* Intel ias.  */
1996263Sobrien#undef  ASM_SPEC
2090075Sobrien#define ASM_SPEC \
2190075Sobrien  "%{!mgnu-as:-N so} %{mgnu-as:-x} %{mconstant-gp:-M const_gp}\
2290075Sobrien   %{mauto-pic:-M no_plabel}"
2390075Sobrien#endif
2490075Sobrien
25132718Skan/* A C string constant that tells the GCC driver program options to pass to
26132718Skan   the linker.  It can also specify how to translate options you give to GCC
27132718Skan   into options for GCC to pass to the linker.  */
2890075Sobrien
2990075Sobrien/* The Intel linker does not support dynamic linking, so we need -dn.
3090075Sobrien   The Intel linker gives annoying messages unless -N so is used.  */
3190075Sobrien#if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_LD) != 0
3290075Sobrien/* GNU LD.  */
3390075Sobrien#define LINK_SPEC "%{mno-gnu-ld:-dn -N so}"
3490075Sobrien#else
3590075Sobrien/* Intel ild.  */
3690075Sobrien#define LINK_SPEC "%{!mgnu-ld:-dn -N so}"
3790075Sobrien#endif
3890075Sobrien
3990075Sobrien/* svr4.h links with crti.o/crtn.o, but elfos.h does not.  We override elfos.h
4090075Sobrien   so that we can use the standard ELF Unix method.  */
4190075Sobrien#undef  ENDFILE_SPEC
4290075Sobrien#define ENDFILE_SPEC "crtend.o%s crtn.o%s"
4390075Sobrien
4490075Sobrien#undef	STARTFILE_SPEC
4590075Sobrien#define STARTFILE_SPEC "%{!shared: \
4690075Sobrien			 %{!symbolic: \
4790075Sobrien			  %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
4890075Sobrien			crti.o%s crtbegin.o%s"
4990075Sobrien
5090075Sobrien/* End of elf.h */
51