OSDN Git Service

e30090d9c27d10fd9ce9086011d2779cf0bbe3d1
[pf3gnuchains/gcc-fork.git] / gcc / config / ia64 / elf.h
1 /* Definitions for embedded ia64-elf target.  */
2
3 /* This macro is a C statement to print on `stderr' a string describing the
4    particular machine description choice.  */
5
6 #define TARGET_VERSION fprintf (stderr, " (IA-64) ELF");
7
8 /* A C string constant that tells the GNU CC driver program options to pass to
9    the assembler.  It can also specify how to translate options you give to GNU
10    CC into options for GNU CC to pass to the assembler.  */
11
12 #if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_AS) != 0
13 /* GNU AS.  */
14 #undef  ASM_EXTRA_SPEC
15 #define ASM_EXTRA_SPEC \
16   "%{mno-gnu-as:-N so} %{!mno-gnu-as:-x}"
17 #else
18 /* Intel ias.  */
19 #undef  ASM_SPEC
20 #define ASM_SPEC \
21   "%{!mgnu-as:-N so} %{mgnu-as:-x} %{mconstant-gp:-M const_gp}\
22    %{mauto-pic:-M no_plabel}"
23 #endif
24
25 /* A C string constant that tells the GNU CC driver program options to pass to
26    the linker.  It can also specify how to translate options you give to GNU CC
27    into options for GNU CC to pass to the linker.  */
28
29 /* The Intel linker does not support dynamic linking, so we need -dn.
30    The Intel linker gives annoying messages unless -N so is used.  */
31 #if ((TARGET_CPU_DEFAULT | TARGET_DEFAULT) & MASK_GNU_LD) != 0
32 /* GNU LD.  */
33 #define LINK_SPEC "%{mno-gnu-ld:-dn -N so}"
34 #else
35 /* Intel ild.  */
36 #define LINK_SPEC "%{!mgnu-ld:-dn -N so}"
37 #endif
38
39 /* svr4.h links with crti.o/crtn.o, but elfos.h does not.  We override elfos.h
40    so that we can use the standard ELF Unix method.  */
41 #undef  ENDFILE_SPEC
42 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
43
44 #undef  STARTFILE_SPEC
45 #define STARTFILE_SPEC "%{!shared: \
46                          %{!symbolic: \
47                           %{pg:gcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}}\
48                         crti.o%s crtbegin.o%s"
49
50 /* End of elf.h */