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