Hi,

I thought it was just me going mad, but a quick glance at
http://people.apache.org/~sebor/stdcxx/results/solaris-10-amd64-sunpro-64b-5.8-12S-solaris-553686-log.gz.txt
confirms that I'm right.

After configuring as: gmake builddir
BUILDMODE=threads,archive,optimized,wide CONFIG=sunpro.config

I see command-lines like this:
CC -c -mt -D_RWSTD_SOLARIS_THREADS -I$(TOPDIR)/include
-I$(BUILDDIR)/include  -library=%none -O   +w
$(TOPDIR)/src/assert.cpp

Note that on Solaris CXXFLAGS.wide is supposed to be -xarch=amd64, but
this is not being used by the build system.

Hunting this down, it seems that sunpro.config expects "uname -p" to
return amd64 on 64 bit Solaris/Intel. This is not true, it returns
i386.

The following patch fixes this for Solaris only - I don't run Sun
Studio on Linux, so I don't know if this is broken there or not.

Michael

Index: etc/config/sunpro.config
===================================================================
--- etc/config/sunpro.config    (revision 554241)
+++ etc/config/sunpro.config    (working copy)
@@ -89,6 +89,9 @@
else
    # wide (64-bit) flags -- must be set explicitly
    # narrow (32-bit) flags are implicit on AMD64
+    ifeq ($(OSNAME),SunOS)
+        arch=$(shell /usr/bin/optisa amd64)
+    endif
    ifeq ($(arch),amd64)
        wide_flags     = -xarch=amd64
        narrow_flags   =

Reply via email to