diff -r 499ba999c1ee -r 338aea22bf22 components/gcc49/patches/000-sol2.h.patch --- a/components/gcc49/patches/000-sol2.h.patch Tue Jul 05 09:31:58 2016 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,198 +0,0 @@ -# Stefan Teleman -# We need to raise a number of macros depending on which Language -# Standard we are compiling for. -# We also need to link in specific *.o's to the Language Standard -# we are compiling for. ---- gcc/config/sol2.h 2014-05-28 04:37:50.000000000 -0700 -+++ gcc/config/sol2.h 2015-12-17 10:34:30.939353421 -0800 -@@ -89,11 +89,80 @@ - library. */ \ - if (c_dialect_cxx ()) \ - { \ -+ if ((cxx_dialect == cxx98) || (cxx_dialect == cxx03)) \ -+ { \ -+ builtin_define ("__STDC_VERSION__=199409L"); \ -+ builtin_define ("_XOPEN_SOURCE=500"); \ -+ builtin_define ("_XPG5=1"); \ -+ } \ -+ else if (cxx_dialect == cxx11) \ -+ { \ -+ builtin_define ("__STDC_VERSION__=199901L"); \ -+ builtin_define ("_STDC_C99=1"); \ -+ builtin_define ("__C99FEATURES__=1"); \ -+ builtin_define ("__XPG7_THREAD_MODEL__=1"); \ -+ builtin_define ("_XOPEN_SOURCE=700"); \ -+ builtin_define ("_XPG6=1"); \ -+ builtin_define ("__STDC_ISO_10646__=201011L"); \ -+ builtin_define ("__STDC_MB_MIGHT_NEQ_WC__=1"); \ -+ builtin_define ("__STDCPP_STRICT_POINTER_SAFETY__=1"); \ -+ builtin_define ("__STDCPP_THREADS__=1"); \ -+ } \ -+ else if ((cxx_dialect > cxx11) || (cxx_dialect == cxx1y)) \ -+ { \ -+ builtin_define ("__STDC_VERSION__=201112L"); \ -+ builtin_define ("_STDC_C99=1"); \ -+ builtin_define ("_STDC_C11=1"); \ -+ builtin_define ("__C99FEATURES__=1"); \ -+ builtin_define ("__XPG7_THREAD_MODEL__=1"); \ -+ builtin_define ("_XOPEN_SOURCE=700"); \ -+ builtin_define ("_XPG7=1"); \ -+ builtin_define ("__STDC_ISO_10646__=201011L"); \ -+ builtin_define ("__STDC_MB_MIGHT_NEQ_WC__=1"); \ -+ builtin_define ("__STDCPP_STRICT_POINTER_SAFETY__=1"); \ -+ builtin_define ("__STDC_LIB_EXT1__=201112L"); \ -+ builtin_define ("__STDCPP_THREADS__=1"); \ -+ } \ -+ else \ -+ { \ - builtin_define ("__STDC_VERSION__=199901L");\ - builtin_define ("_XOPEN_SOURCE=600"); \ -+ builtin_define ("_XPG6=1"); \ -+ } \ - builtin_define ("_LARGEFILE_SOURCE=1"); \ - builtin_define ("_LARGEFILE64_SOURCE=1"); \ -- builtin_define ("__EXTENSIONS__"); \ -+ builtin_define ("_FILE_OFFSET_BITS=64"); \ -+ builtin_define ("__EXTENSIONS__=1"); \ -+ builtin_define ("_REENTRANT=1"); \ -+ } \ -+ if (c_language == clk_c) \ -+ { \ -+ builtin_define ("_LARGEFILE_SOURCE=1"); \ -+ builtin_define ("_LARGEFILE64_SOURCE=1"); \ -+ builtin_define ("_FILE_OFFSET_BITS=64"); \ -+ builtin_define ("_REENTRANT=1"); \ -+ builtin_define ("__EXTENSIONS__=1"); \ -+ if (flag_isoc11 == 1) \ -+ { \ -+ builtin_define ("_STDC_C11=1"); \ -+ builtin_define ("__STDC_ISO_10646__=201011L"); \ -+ builtin_define ("__STDC_MB_MIGHT_NEQ_WC__=1"); \ -+ builtin_define ("__STDC_ANALYZABLE=1"); \ -+ builtin_define ("__STDC_IEC_559__=1"); \ -+ builtin_define ("__STDC_IEC_559_COMPLEX__=1"); \ -+ builtin_define ("__STDC_LIB_EXT1__=201112L"); \ -+ builtin_define ("__XPG7_THREAD_MODEL__=1"); \ -+ builtin_define ("_XOPEN_SOURCE=700"); \ -+ } \ -+ else if (flag_isoc99 == 1) \ -+ { \ -+ builtin_define ("__C99FEATURES__=1"); \ -+ if (flag_isoc11 == 0) \ -+ { \ -+ builtin_define ("_STDC_C99=1"); \ -+ builtin_define ("_XOPEN_SOURCE=600"); \ -+ } \ -+ } \ - } \ - TARGET_SUB_OS_CPP_BUILTINS(); \ - } while (0) -@@ -109,7 +178,12 @@ - #define ASM_SPEC_BASE \ - "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} -s %(asm_cpu)" - -+/* GAS wants -KPIC, Sun as wants -K PIC */ -+#ifdef USE_GAS - #define ASM_PIC_SPEC " %{fpic|fpie|fPIC|fPIE:-K PIC}" -+#else -+#define ASM_PIC_SPEC " %{fpic|fpie|fPIC|fPIE:-K PIC}" -+#endif - - #undef LIB_SPEC - #define LIB_SPEC \ -@@ -127,8 +201,62 @@ - #endif - - #undef STARTFILE_ARCH32_SPEC --#define STARTFILE_ARCH32_SPEC "%{ansi:values-Xc.o%s} \ -- %{!ansi:values-Xa.o%s}" -+#define STARTFILE_ARCH32_SPEC "%{std=c++0x:values-Xc.o%s} \ -+ %{std=c++0x:values-xpg6.o%s} \ -+ %{std=c++14:values-Xc.o%s} \ -+ %{std=c++14:values-xpg6.o%s} \ -+ %{std=c++11:values-Xc.o%s} \ -+ %{std=c++11:values-xpg6.o%s} \ -+ %{std=c11:values-Xc.o%s} \ -+ %{std=c11:values-xpg6.o%s} \ -+ %{std=c1x:values-Xc.o%s} \ -+ %{std=c1x:values-xpg6.o%s} \ -+ %{std=c99:values-Xc.o%s} \ -+ %{std=c99:values-xpg6.o%s} \ -+ %{std=c9x:values-Xc.o%s} \ -+ %{std=c9x:values-xpg6.o%s} \ -+ %{std=gnu++0x:values-Xc.o%s} \ -+ %{std=gnu++0x:values-xpg6.o%s} \ -+ %{std=gnu++14:values-Xc.o%s} \ -+ %{std=gnu++14:values-xpg6.o%s} \ -+ %{std=gnu++11:values-Xc.o%s} \ -+ %{std=gnu++11:values-xpg6.o%s} \ -+ %{std=gnu11:values-Xc.o%s} \ -+ %{std=gnu11:values-xpg6.o%s} \ -+ %{std=gnu1x:values-Xc.o%s} \ -+ %{std=gnu1x:values-xpg6.o%s} \ -+ %{std=gnu99:values-Xc.o%s} \ -+ %{std=gnu99:values-xpg6.o%s} \ -+ %{std=gnu9x:values-Xc.o%s} \ -+ %{std=gnu9x:values-xpg6.o%s} \ -+ %{std=f2003:values-Xc.o%s} \ -+ %{std=f2003:values-xpg6.o%s} \ -+ %{std=f2008:values-Xc.o%s} \ -+ %{std=f2008:values-xpg6.o%s} \ -+ %{std=f2008ts:values-Xc.o%s} \ -+ %{std=f2008ts:values-xpg6.o%s} \ -+ %{std=f95:values-Xa.o%s} \ -+ %{std=f95:values-xpg4.o%s} \ -+ %{std=gnu:values-Xa.o%s} \ -+ %{std=gnu:values-xpg4.o%s} \ -+ %{std=legacy:values-Xa.o%s} \ -+ %{std=legacy:values-xpg4.o%s} \ -+ %{std=c++03:values-Xa.o%s} \ -+ %{std=c++03:values-xpg4.o%s} \ -+ %{std=c++98:values-Xa.o%s} \ -+ %{std=c++98:values-xpg4.o%s} \ -+ %{std=c89:values-Xa.o%s} \ -+ %{std=c89:values-xpg4.o%s} \ -+ %{std=c90:values-Xa.o%s} \ -+ %{std=c90:values-xpg4.o%s} \ -+ %{std=gnu++03:values-Xa.o%s} \ -+ %{std=gnu++03:values-xpg4.o%s} \ -+ %{std=gnu++98:values-Xa.o%s} \ -+ %{std=gnu++98:values-xpg4.o%s} \ -+ %{std=gnu89:values-Xa.o%s} \ -+ %{std=gnu89:values-xpg4.o%s} \ -+ %{std=gnu90:values-Xa.o%s} \ -+ %{std=gnu90:values-xpg4.o%s}" - - #undef STARTFILE_ARCH_SPEC - #define STARTFILE_ARCH_SPEC STARTFILE_ARCH32_SPEC -@@ -154,8 +282,8 @@ - "%{G:-G} \ - %{YP,*} \ - %{R*} \ -- %{!YP,*:%{p|pg:-Y P,%R/usr/ccs/lib/libp:%R/usr/lib/libp:%R/usr/ccs/lib:%R/lib:%R/usr/lib} \ -- %{!p:%{!pg:-Y P,%R/usr/ccs/lib:%R/lib:%R/usr/lib}}}" -+ %{!YP,*:%{p|pg:-Y P,%R/usr/lib/libp:%R/lib:%R/usr/lib} \ -+ %{!p:%{!pg:-Y P,%R/lib:%R/usr/lib}}}" - - #undef LINK_ARCH32_SPEC - #define LINK_ARCH32_SPEC LINK_ARCH32_SPEC_BASE -@@ -191,6 +319,10 @@ - #define LINK_CLEARCAP_SPEC "" - #endif - -+/* -+ * Change -z textwarn to -z text after clearing that [-fpie|-fPIE] -+ * no longer generates any text relocation warnings. -+ */ - #undef LINK_SPEC - #define LINK_SPEC \ - "%{h*} %{v:-V} \ -@@ -199,6 +331,8 @@ - %{shared:-G -dy %{!mimpure-text:-z text}} " \ - LINK_LIBGCC_MAPFILE_SPEC LINK_CLEARCAP_SPEC " \ - %{symbolic:-Bsymbolic -G -dy -z text} \ -+ %{fpie:-Qy -z direct -z textwarn -z type=pie -z aslr=enable} \ -+ %{fPIE:-Qy -z direct -z textwarn -z type=pie -z aslr=enable} \ - %(link_arch) \ - %{Qy:} %{!Qn:-Qy}" -