0
|
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 GCC 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 GCC 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 GCC driver program options to pass to
|
|
26 the linker. It can also specify how to translate options you give to GCC
|
|
27 into options for GCC 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 */
|