diff --git a/GNUmakefile b/GNUmakefile index db1713f6..dc987bce 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -21,6 +21,8 @@ IS_X64 := $(shell uname -m | $(EGREP) -i -c "(_64|d64)") IS_PPC := $(shell uname -m | $(EGREP) -i -c "ppc|power") IS_ARM32 := $(shell uname -m | $(EGREP) -i -c "arm") IS_ARM64 := $(shell uname -m | $(EGREP) -i -c "aarch64") +IS_SPARC := $(shell uname -m | $(EGREP) -i -c "sparc") +IS_SPARC64 := $(shell uname -m | $(EGREP) -i -c "sparc64") IS_SUN := $(shell uname | $(EGREP) -i -c "SunOS") IS_LINUX := $(shell $(CXX) -dumpmachine 2>&1 | $(EGREP) -i -c "Linux") @@ -346,6 +348,10 @@ CXXFLAGS += -KPIC endif # Add to all Solaris CXXFLAGS += -template=no%extdef +# http://github.com/weidai11/cryptopp/issues/403 +ifneq ($(IS_SPARC)$(IS_SPARC64),00) +CXXFLAGS += -xmemalign=4i +endif SUN_CC10_BUGGY := $(shell $(CXX) -V 2>&1 | $(EGREP) -c "CC: Sun .* 5\.10 .* (2009|2010/0[1-4])") ifneq ($(SUN_CC10_BUGGY),0) # -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21 and was fixed in May 2010