--- a/components/bison/patches/shared-ly.patch Thu Aug 04 19:59:04 2011 -0700
+++ b/components/bison/patches/shared-ly.patch Fri Aug 05 09:14:45 2011 -0700
@@ -7,7 +7,7 @@
am_liby_a_OBJECTS = main.$(OBJEXT) yyerror.$(OBJEXT)
liby_a_OBJECTS = $(am_liby_a_OBJECTS)
+
-+ main.o yyerror.o : CFLAGS += -DPIC -KPIC -xregs=no%appl
++ main.o yyerror.o : CFLAGS += -DPIC -KPIC -Qoption cg -xregs=no%appl
+
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
--- a/components/fastcgi/Makefile Thu Aug 04 19:59:04 2011 -0700
+++ b/components/fastcgi/Makefile Fri Aug 05 09:14:45 2011 -0700
@@ -41,7 +41,7 @@
CONFIGURE_OPTIONS += --with-pic
CONFIGURE_OPTIONS += --includedir=$(CONFIGURE_INCLUDEDIR)/fastcgi
CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
-CONFIGURE_OPTIONS += CXXFLAGS="$(CFLAGS)"
+CONFIGURE_OPTIONS += CXXFLAGS="$(CFLAGS) $(studio_XREGS)"
# common targets
build: $(BUILD_32_and_64)
--- a/components/flex/patches/000-flex-2.5.35.Makefile.in.patch Thu Aug 04 19:59:04 2011 -0700
+++ b/components/flex/patches/000-flex-2.5.35.Makefile.in.patch Fri Aug 05 09:14:45 2011 -0700
@@ -17,7 +17,7 @@
- -fPIC \
+ -DPIC \
+ -KPIC \
-+ -xregs=no%appl \
++ -Qoption cg -xregs=no%appl \
$(AM_CFLAGS)
noinst_HEADERS = \
--- a/components/openssl/openssl-0.9.8-fips-140/patches/18-compiler_opts.patch Thu Aug 04 19:59:04 2011 -0700
+++ b/components/openssl/openssl-0.9.8-fips-140/patches/18-compiler_opts.patch Fri Aug 05 09:14:45 2011 -0700
@@ -20,8 +20,8 @@
+#### Solaris configs, used for OpenSSL as delivered by OpenSolaris
+"solaris-x86-cc-sunw","cc:-m32 -xO3 -xspace -g -Xa::-D_REENTRANT::-lsocket -lnsl -lc -R /lib/openssl/fips-140:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${x86_elf_asm_sunw}:dlfcn:solaris-shared:-KPIC:-m32 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign -M/usr/lib/ld/map.noexdata:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris64-x86_64-cc-sunw","cc:-xO3 -m64 -g -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -lc -R /lib/openssl/fips-140/64:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK BF_PTR DES_PTR DES_INT DES_UNROLL:${x86_64_asm_sunw}:dlfcn:solaris-shared:-KPIC:-m64 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign -M/usr/lib/ld/map.noexdata:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"solaris-sparcv8-cc-sunw","cc:-m32 -xregs=no%appl -xO5 -g -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -lc -R /lib/openssl/fips-140:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::sparcv8plus.o::::::::::dlfcn:solaris-shared:-KPIC:-m32 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-+"solaris64-sparcv9-cc-sunw","cc:-m64 -xregs=no%appl -xO5 -g -xstrconst -xdepend -xspace -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -lc -R /lib/openssl/fips-140/64:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::::::::::dlfcn:solaris-shared:-KPIC:-m64 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs",
++"solaris-sparcv8-cc-sunw","cc:-m32 -Qoption cg -xregs=no%appl -xO5 -g -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -lc -R /lib/openssl/fips-140:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::sparcv8plus.o::::::::::dlfcn:solaris-shared:-KPIC:-m32 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"solaris64-sparcv9-cc-sunw","cc:-m64 -Qoption cg -xregs=no%appl -xO5 -g -xstrconst -xdepend -xspace -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -lc -R /lib/openssl/fips-140/64:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::::::::::dlfcn:solaris-shared:-KPIC:-m64 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs",
+
#### IRIX 5.x configs
# -mips2 flag is added by ./config when appropriate.
--- a/components/openssl/openssl-1.0.0/patches/18-compiler_opts.patch Thu Aug 04 19:59:04 2011 -0700
+++ b/components/openssl/openssl-1.0.0/patches/18-compiler_opts.patch Fri Aug 05 09:14:45 2011 -0700
@@ -9,9 +9,9 @@
+#
+"solaris64-x86_64-cc-sunw","cc:-xO3 -m64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -lc:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR DES_PTR DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:solaris-shared:-KPIC:-m64 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign -M/usr/lib/ld/map.noexdata:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+#
-+"solaris-sparcv9-cc-sunw","cc:-xtarget=ultra -m32 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -lc:BN_LLONG RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-m32 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
++"solaris-sparcv9-cc-sunw","cc:-xtarget=ultra -m32 -Qoption cg -xregs=no%appl -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -lc:BN_LLONG RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-m32 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+#
-+"solaris64-sparcv9-cc-sunw","cc:-xtarget=ultra -m64 -xregs=no%appl -xO5 -xstrconst -xdepend -xspace -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -lc:BN_LLONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-m64 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs::/64",
++"solaris64-sparcv9-cc-sunw","cc:-xtarget=ultra -m64 -Qoption cg -xregs=no%appl -xO5 -xstrconst -xdepend -xspace -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -lc:BN_LLONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-KPIC:-m64 -G -dy -z text -zdefs -Bdirect -zignore -M/usr/lib/ld/map.pagealign:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs::/64",
+
#### IRIX 5.x configs
# -mips2 flag is added by ./config when appropriate.
--- a/components/stdcxx/Makefile Thu Aug 04 19:59:04 2011 -0700
+++ b/components/stdcxx/Makefile Fri Aug 05 09:14:45 2011 -0700
@@ -78,7 +78,7 @@
FLAGS_i386 = -m32 -xarch=386
FLAGS_amd64 = -m64 -xarch=generic
CFLAGS_sparc = -Xc -features=extinl -xvis=yes
-CFLAGS_sparc += -xregs=no%appl -xbuiltin=%none -xO4 $(PICFLAG)
+CFLAGS_sparc += -Qoption cg -xregs=no%appl -xbuiltin=%none -xO4 $(PICFLAG)
CFLAGS_i386 = -Xc -features=extinl -xregs=no%frameptr
CFLAGS_i386 += -xO3 -xbuiltin=%none $(PICFLAG)
--- a/components/wxwidgets/Makefile Thu Aug 04 19:59:04 2011 -0700
+++ b/components/wxwidgets/Makefile Fri Aug 05 09:14:45 2011 -0700
@@ -45,6 +45,8 @@
LDFLAGS += $(studio_NORUNPATH)
LDFLAGS += $(CC_BITS)
+CXXFLAGS += $(studio_XREGS)
+
CONFIGURE_OPTIONS += --with-gtk
CONFIGURE_OPTIONS += --enable-gtk2
CONFIGURE_OPTIONS += --enable-unicode
--- a/make-rules/shared-macros.mk Thu Aug 04 19:59:04 2011 -0700
+++ b/make-rules/shared-macros.mk Fri Aug 05 09:14:45 2011 -0700
@@ -423,10 +423,20 @@
# Control register usage for generated code. SPARC ABI requires system
# libraries not to use application registers. x86 requires 'no%frameptr' at
# x04 or higher.
-studio_XREGS.sparc = -xregs=no%appl,float
+
+# We should just use -xregs but we need to workaround 7030022. Note
+# that we can't use the (documented) -Wc,-xregs workaround because
+# libtool really hates -Wc and thinks it should be -Wl. Instead
+# we use an (undocumented) option which actually happens to be what
+# CC would use.
+studio_XREGS.sparc = -Qoption cg -xregs=no%appl
studio_XREGS.i386 = -xregs=no%frameptr
studio_XREGS = $(studio_XREGS.$(MACH))
+gcc_XREGS.sparc = -mno-app-regs
+gcc_XREGS.i386 =
+gcc_XREGS = $(gcc_XREGS.$(MACH))
+
# Set data alignment on sparc to reasonable values, 8 byte alignment for 32 bit
# objects and 16 byte alignment for 64 bit objects. This is added to CFLAGS by
# default.
@@ -479,6 +489,7 @@
# should not be necessary to add CFLAGS to any environment other than the
# configure environment.
CFLAGS.gcc += $(gcc_OPT)
+CFLAGS.gcc += $(gcc_XREGS)
# Build 32 or 64 bit objects.