author | Yiteng Zhang <yiteng.zhang@oracle.com> |
Tue, 26 Jan 2016 13:08:18 -0800 | |
changeset 5341 | acafdc8d7dfc |
parent 5210 | f83eefca4ec2 |
permissions | -rw-r--r-- |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
# Stefan Teleman <[email protected]> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
# We need to raise a number of macros depending on which Language |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
# Standard we are compiling for. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
# We also need to link in specific *.o's to the Language Standard |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
# we are compiling for. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
--- gcc/config/sol2.h 2014-05-28 04:37:50.000000000 -0700 |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
7 |
+++ gcc/config/sol2.h 2015-12-17 10:34:30.939353421 -0800 |
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
8 |
@@ -89,11 +89,80 @@ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
library. */ \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
if (c_dialect_cxx ()) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
{ \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
+ if ((cxx_dialect == cxx98) || (cxx_dialect == cxx03)) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
+ builtin_define ("__STDC_VERSION__=199409L"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
+ builtin_define ("_XOPEN_SOURCE=500"); \ |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
16 |
+ builtin_define ("_XPG5=1"); \ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
+ else if (cxx_dialect == cxx11) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
+ builtin_define ("__STDC_VERSION__=199901L"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
+ builtin_define ("_STDC_C99=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
+ builtin_define ("__C99FEATURES__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
+ builtin_define ("__XPG7_THREAD_MODEL__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
+ builtin_define ("_XOPEN_SOURCE=700"); \ |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
25 |
+ builtin_define ("_XPG6=1"); \ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
+ builtin_define ("__STDC_ISO_10646__=201011L"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
+ builtin_define ("__STDC_MB_MIGHT_NEQ_WC__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
+ builtin_define ("__STDCPP_STRICT_POINTER_SAFETY__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
+ builtin_define ("__STDCPP_THREADS__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
+ else if ((cxx_dialect > cxx11) || (cxx_dialect == cxx1y)) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
+ builtin_define ("__STDC_VERSION__=201112L"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
+ builtin_define ("_STDC_C99=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
+ builtin_define ("_STDC_C11=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
+ builtin_define ("__C99FEATURES__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
+ builtin_define ("__XPG7_THREAD_MODEL__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
+ builtin_define ("_XOPEN_SOURCE=700"); \ |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
39 |
+ builtin_define ("_XPG7=1"); \ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
+ builtin_define ("__STDC_ISO_10646__=201011L"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
+ builtin_define ("__STDC_MB_MIGHT_NEQ_WC__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
+ builtin_define ("__STDCPP_STRICT_POINTER_SAFETY__=1"); \ |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
43 |
+ builtin_define ("__STDC_LIB_EXT1__=201112L"); \ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
+ builtin_define ("__STDCPP_THREADS__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
+ else \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
builtin_define ("__STDC_VERSION__=199901L");\ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
builtin_define ("_XOPEN_SOURCE=600"); \ |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
50 |
+ builtin_define ("_XPG6=1"); \ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
builtin_define ("_LARGEFILE_SOURCE=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
builtin_define ("_LARGEFILE64_SOURCE=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
- builtin_define ("__EXTENSIONS__"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
+ builtin_define ("_FILE_OFFSET_BITS=64"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
+ builtin_define ("__EXTENSIONS__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
+ builtin_define ("_REENTRANT=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
+ if (c_language == clk_c) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
+ builtin_define ("_LARGEFILE_SOURCE=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
+ builtin_define ("_LARGEFILE64_SOURCE=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
+ builtin_define ("_FILE_OFFSET_BITS=64"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
+ builtin_define ("_REENTRANT=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
+ builtin_define ("__EXTENSIONS__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
+ if (flag_isoc11 == 1) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
+ builtin_define ("_STDC_C11=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
+ builtin_define ("__STDC_ISO_10646__=201011L"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
+ builtin_define ("__STDC_MB_MIGHT_NEQ_WC__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
+ builtin_define ("__STDC_ANALYZABLE=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
+ builtin_define ("__STDC_IEC_559__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
+ builtin_define ("__STDC_IEC_559_COMPLEX__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
+ builtin_define ("__STDC_LIB_EXT1__=201112L"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
+ builtin_define ("__XPG7_THREAD_MODEL__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
+ builtin_define ("_XOPEN_SOURCE=700"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
+ else if (flag_isoc99 == 1) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
+ builtin_define ("__C99FEATURES__=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
+ if (flag_isoc11 == 0) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
+ { \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
+ builtin_define ("_STDC_C99=1"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
+ builtin_define ("_XOPEN_SOURCE=600"); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
+ } \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
TARGET_SUB_OS_CPP_BUILTINS(); \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
} while (0) |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
90 |
@@ -109,7 +178,12 @@ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
#define ASM_SPEC_BASE \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
"%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s %(asm_cpu)" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
+/* GAS wants -KPIC, Sun as wants -K PIC */ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
+#ifdef USE_GAS |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
#define ASM_PIC_SPEC " %{fpic|fpie|fPIC|fPIE:-K PIC}" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
+#else |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
+#define ASM_PIC_SPEC " %{fpic|fpie|fPIC|fPIE:-K PIC}" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
#undef LIB_SPEC |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
#define LIB_SPEC \ |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
103 |
@@ -127,8 +201,62 @@ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
#undef STARTFILE_ARCH32_SPEC |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
-#define STARTFILE_ARCH32_SPEC "%{ansi:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
- %{!ansi:values-Xa.o%s}" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
+#define STARTFILE_ARCH32_SPEC "%{std=c++0x:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
+ %{std=c++0x:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
+ %{std=c++14:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
+ %{std=c++14:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
+ %{std=c++11:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
+ %{std=c++11:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
+ %{std=c11:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
+ %{std=c11:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
+ %{std=c1x:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
+ %{std=c1x:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
+ %{std=c99:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
+ %{std=c99:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
+ %{std=c9x:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
+ %{std=c9x:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
+ %{std=gnu++0x:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
+ %{std=gnu++0x:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
+ %{std=gnu++14:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
+ %{std=gnu++14:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
+ %{std=gnu++11:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
+ %{std=gnu++11:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
+ %{std=gnu11:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
+ %{std=gnu11:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
+ %{std=gnu1x:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
+ %{std=gnu1x:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
+ %{std=gnu99:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
+ %{std=gnu99:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
+ %{std=gnu9x:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
+ %{std=gnu9x:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
+ %{std=f2003:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
+ %{std=f2003:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
+ %{std=f2008:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
+ %{std=f2008:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
+ %{std=f2008ts:values-Xc.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
+ %{std=f2008ts:values-xpg6.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
+ %{std=f95:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
+ %{std=f95:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
+ %{std=gnu:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
+ %{std=gnu:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
+ %{std=legacy:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
+ %{std=legacy:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
+ %{std=c++03:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
+ %{std=c++03:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
151 |
+ %{std=c++98:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
152 |
+ %{std=c++98:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
153 |
+ %{std=c89:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
154 |
+ %{std=c89:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
155 |
+ %{std=c90:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
156 |
+ %{std=c90:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
157 |
+ %{std=gnu++03:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
158 |
+ %{std=gnu++03:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
159 |
+ %{std=gnu++98:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
160 |
+ %{std=gnu++98:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
161 |
+ %{std=gnu89:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
162 |
+ %{std=gnu89:values-xpg4.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
163 |
+ %{std=gnu90:values-Xa.o%s} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
164 |
+ %{std=gnu90:values-xpg4.o%s}" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
165 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
166 |
#undef STARTFILE_ARCH_SPEC |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
167 |
#define STARTFILE_ARCH_SPEC STARTFILE_ARCH32_SPEC |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
168 |
@@ -154,8 +282,8 @@ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
169 |
"%{G:-G} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
170 |
%{YP,*} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
171 |
%{R*} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
172 |
- %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/lib:%R/usr/lib} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
173 |
- %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/lib:%R/usr/lib}}}" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
174 |
+ %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp:%R/lib:%R/usr/lib} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
175 |
+ %{!p:%{!pg:-Y P,%R/lib:%R/usr/lib}}}" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
176 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
177 |
#undef LINK_ARCH32_SPEC |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
178 |
#define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
179 |
@@ -191,6 +319,10 @@ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
180 |
#define LINK_CLEARCAP_SPEC "" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
181 |
#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
182 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
183 |
+/* |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
184 |
+ * Change -z textwarn to -z text after clearing that [-fpie|-fPIE] |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
185 |
+ * no longer generates any text relocation warnings. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
186 |
+ */ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
187 |
#undef LINK_SPEC |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
188 |
#define LINK_SPEC \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
189 |
"%{h*} %{v:-V} \ |
5210
f83eefca4ec2
22386263 GCC 4.9.3 in Solaris 11 needs more XPG
Stefan Teleman <stefan.teleman@oracle.com>
parents:
5205
diff
changeset
|
190 |
@@ -199,6 +331,8 @@ |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
191 |
%{shared:-G -dy %{!mimpure-text:-z text}} " \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
192 |
LINK_LIBGCC_MAPFILE_SPEC LINK_CLEARCAP_SPEC " \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
193 |
%{symbolic:-Bsymbolic -G -dy -z text} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
194 |
+ %{fpie:-Qy -z direct -z textwarn -z type=pie -z aslr=enable} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
195 |
+ %{fPIE:-Qy -z direct -z textwarn -z type=pie -z aslr=enable} \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
196 |
%(link_arch) \ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
197 |
%{Qy:} %{!Qn:-Qy}" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
198 |