comparison gcc/config/ia64/linux.h @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children 77e2b8dfacca
comparison
equal deleted inserted replaced
-1:000000000000 0:a06113de4d67
1 /* Definitions for ia64-linux 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) Linux");
7
8 /* This is for -profile to use -lc_p instead of -lc. */
9 #undef CC1_SPEC
10 #define CC1_SPEC "%{profile:-p} %{G*}"
11
12 /* Target OS builtins. */
13 #define TARGET_OS_CPP_BUILTINS() \
14 do { \
15 LINUX_TARGET_OS_CPP_BUILTINS(); \
16 builtin_define("_LONGLONG"); \
17 } while (0)
18
19 /* Need to override linux.h STARTFILE_SPEC, since it has crtbeginT.o in. */
20 #undef STARTFILE_SPEC
21 #ifdef HAVE_LD_PIE
22 #define STARTFILE_SPEC \
23 "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
24 crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
25 #else
26 #define STARTFILE_SPEC \
27 "%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}}\
28 crti.o%s %{shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
29 #endif
30
31 /* Similar to standard Linux, but adding -ffast-math support. */
32 #undef ENDFILE_SPEC
33 #define ENDFILE_SPEC \
34 "%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
35 %{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
36
37 /* Define this for shared library support because it isn't in the main
38 linux.h file. */
39
40 #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
41
42 #undef LINK_SPEC
43 #define LINK_SPEC "\
44 %{shared:-shared} \
45 %{!shared: \
46 %{!static: \
47 %{rdynamic:-export-dynamic} \
48 %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
49 %{static:-static}}"
50
51 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
52
53 #define JMP_BUF_SIZE 76
54
55 /* Override linux.h LINK_EH_SPEC definition.
56 Signalize that because we have fde-glibc, we don't need all C shared libs
57 linked against -lgcc_s. */
58 #undef LINK_EH_SPEC
59 #define LINK_EH_SPEC ""
60
61 #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
62
63 /* Put all *tf routines in libgcc. */
64 #undef LIBGCC2_HAS_TF_MODE
65 #define LIBGCC2_HAS_TF_MODE 1
66 #undef LIBGCC2_TF_CEXT
67 #define LIBGCC2_TF_CEXT q
68 #define TF_SIZE 113
69
70 #undef TARGET_INIT_LIBFUNCS
71 #define TARGET_INIT_LIBFUNCS ia64_soft_fp_init_libfuncs