Index: gcc/config/i386/sol2.h --- gcc/config/i386/sol2.h.orig 2016-03-23 11:55:37.000000000 +0100 +++ gcc/config/i386/sol2.h 2016-04-28 08:42:00.001536070 +0200 @@ -134,6 +134,9 @@ } while (0) #endif +#undef DEFAULT_PCC_STRUCT_RETURN +#define DEFAULT_PCC_STRUCT_RETURN 1 + /* The Solaris assembler wants a .local for non-exported aliases. */ #define ASM_OUTPUT_DEF_FROM_DECLS(FILE, DECL, TARGET) \ do { \ Index: gcc/config/sol2.h --- gcc/config/sol2.h.orig 2016-01-04 15:30:50.000000000 +0100 +++ gcc/config/sol2.h 2016-04-28 08:42:00.001536070 +0200 @@ -332,9 +332,9 @@ "%{h*} %{v:-V} \ %{!shared:%{!static:%{rdynamic: " RDYNAMIC_SPEC "}}} \ %{static:-dn -Bstatic} \ - %{shared:-G -dy %{!mimpure-text:-z text}} " \ + %{shared:-G -dy} " \ LINK_LIBGCC_MAPFILE_SPEC LINK_CLEARCAP_SPEC " \ - %{symbolic:-Bsymbolic -G -dy -z text} \ + %{symbolic:-Bsymbolic -G -dy} \ %(link_arch) \ %{Qy:} %{!Qn:-Qy}" Index: libcpp/charset.c --- libcpp/charset.c.orig 2016-02-05 20:39:48.000000000 +0100 +++ libcpp/charset.c 2016-04-28 08:42:00.001536070 +0200 @@ -74,6 +74,7 @@ #define iconv_open(x, y) (errno = EINVAL, (iconv_t)-1) #define iconv(a,b,c,d,e) (errno = EINVAL, (size_t)-1) #define iconv_close(x) (void)0 +#undef ICONV_CONST #define ICONV_CONST #endif Index: libcpp/internal.h --- libcpp/internal.h.orig 2016-04-06 20:35:16.000000000 +0200 +++ libcpp/internal.h 2016-04-28 08:42:00.011524630 +0200 @@ -28,6 +28,7 @@ #if HAVE_ICONV #include #else +#undef HAVE_ICONV #define HAVE_ICONV 0 typedef int iconv_t; /* dummy */ #endif