Extend Solaris x86 support to amd64.
This commit is contained in:
parent
e5dbccc182
commit
0abfd60604
11
Configure
11
Configure
@ -185,8 +185,19 @@ my %table=(
|
|||||||
# 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
|
# 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
|
||||||
# error message.
|
# error message.
|
||||||
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
# -shared -static-libgcc might appear controversial, but modules taken
|
||||||
|
# from static libgcc do not have relocations and linking them into our
|
||||||
|
# shared objects doesn't have any negative side-effects. On the contrary,
|
||||||
|
# doing so makes it possible to use gcc shared build with Sun C. Given
|
||||||
|
# that gcc generates faster code [thanks to inline assembler], I would
|
||||||
|
# actually recommend to consider using gcc shared build even with vendor
|
||||||
|
# compiler:-)
|
||||||
|
# <appro@fy.chalmers.se>
|
||||||
|
"solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### Solaris x86 with Sun C setups
|
#### Solaris x86 with Sun C setups
|
||||||
"solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
"solaris64-x86_64-cc","cc:-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${no_asm}:dlfcn:solaris-shared:-KPIC:-xarch=amd64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
|
||||||
#### SPARC Solaris with GNU C setups
|
#### SPARC Solaris with GNU C setups
|
||||||
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
"solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
||||||
|
@ -141,7 +141,7 @@ DO_GNU_SO=$(CALC_VERSIONS); \
|
|||||||
LIBDEPS="$(LIBDEPS)"; \
|
LIBDEPS="$(LIBDEPS)"; \
|
||||||
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
||||||
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
||||||
SHAREDFLAGS="$(CFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-rpath,$(LIBRPATH)"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-rpath,$(LIBRPATH)"; \
|
||||||
SHAREDCMD='$(CC)'
|
SHAREDCMD='$(CC)'
|
||||||
DO_GNU_APP=LDCMD=$(CC);\
|
DO_GNU_APP=LDCMD=$(CC);\
|
||||||
LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"; \
|
LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"; \
|
||||||
@ -457,7 +457,7 @@ link_o.solaris:
|
|||||||
LIBDEPS="$(LIBDEPS)"; \
|
LIBDEPS="$(LIBDEPS)"; \
|
||||||
ALLSYMSFLAGS="$${MINUSZ}allextract"; \
|
ALLSYMSFLAGS="$${MINUSZ}allextract"; \
|
||||||
NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
|
NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
|
||||||
SHAREDFLAGS="$(CFLAGS) -G -dy -z text -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -R $(LIBRPATH) -Wl,-Bsymbolic"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -G -dy -z text -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -R $(LIBRPATH) -Wl,-Bsymbolic"; \
|
||||||
SHAREDCMD='$(CC)'; \
|
SHAREDCMD='$(CC)'; \
|
||||||
fi; \
|
fi; \
|
||||||
$(LINK_SO_O)
|
$(LINK_SO_O)
|
||||||
@ -473,7 +473,7 @@ link_a.solaris:
|
|||||||
LIBDEPS="$(LIBDEPS)"; \
|
LIBDEPS="$(LIBDEPS)"; \
|
||||||
ALLSYMSFLAGS="$${MINUSZ}allextract"; \
|
ALLSYMSFLAGS="$${MINUSZ}allextract"; \
|
||||||
NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
|
NOALLSYMSFLAGS="$${MINUSZ}defaultextract"; \
|
||||||
SHAREDFLAGS="$(CFLAGS) -G -dy -z text -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -R $(LIBRPATH) -Wl,-Bsymbolic"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -G -dy -z text -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -R $(LIBRPATH) -Wl,-Bsymbolic"; \
|
||||||
SHAREDCMD='$(CC)'; \
|
SHAREDCMD='$(CC)'; \
|
||||||
fi; \
|
fi; \
|
||||||
$(LINK_SO_A)
|
$(LINK_SO_A)
|
||||||
|
58
TABLE
58
TABLE
@ -314,7 +314,7 @@ $md5_obj = mx86-cof.o
|
|||||||
$sha1_obj = sx86-cof.o s512sse2-cof.o
|
$sha1_obj = sx86-cof.o s512sse2-cof.o
|
||||||
$cast_obj = cx86-cof.o
|
$cast_obj = cx86-cof.o
|
||||||
$rc4_obj = rx86-cof.o
|
$rc4_obj = rx86-cof.o
|
||||||
$rmd160_obj = /rm86-cof.o
|
$rmd160_obj = rm86-cof.o
|
||||||
$rc5_obj = r586-cof.o
|
$rc5_obj = r586-cof.o
|
||||||
$dso_scheme = dlfcn
|
$dso_scheme = dlfcn
|
||||||
$shared_target= cygwin-shared
|
$shared_target= cygwin-shared
|
||||||
@ -3095,7 +3095,7 @@ $md5_obj = mx86-cof.o
|
|||||||
$sha1_obj = sx86-cof.o s512sse2-cof.o
|
$sha1_obj = sx86-cof.o s512sse2-cof.o
|
||||||
$cast_obj = cx86-cof.o
|
$cast_obj = cx86-cof.o
|
||||||
$rc4_obj = rx86-cof.o
|
$rc4_obj = rx86-cof.o
|
||||||
$rmd160_obj = /rm86-cof.o
|
$rmd160_obj = rm86-cof.o
|
||||||
$rc5_obj = r586-cof.o
|
$rc5_obj = r586-cof.o
|
||||||
$dso_scheme = win32
|
$dso_scheme = win32
|
||||||
$shared_target= cygwin-shared
|
$shared_target= cygwin-shared
|
||||||
@ -3807,6 +3807,60 @@ $shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
|
|||||||
$ranlib =
|
$ranlib =
|
||||||
$arflags =
|
$arflags =
|
||||||
|
|
||||||
|
*** solaris64-x86_64-cc
|
||||||
|
$cc = cc
|
||||||
|
$cflags = -fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN
|
||||||
|
$unistd =
|
||||||
|
$thread_cflag = -D_REENTRANT
|
||||||
|
$sys_id =
|
||||||
|
$lflags = -lsocket -lnsl -ldl
|
||||||
|
$bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL
|
||||||
|
$cpuid_obj =
|
||||||
|
$bn_obj =
|
||||||
|
$des_obj =
|
||||||
|
$aes_obj =
|
||||||
|
$bf_obj =
|
||||||
|
$md5_obj =
|
||||||
|
$sha1_obj =
|
||||||
|
$cast_obj =
|
||||||
|
$rc4_obj =
|
||||||
|
$rmd160_obj =
|
||||||
|
$rc5_obj =
|
||||||
|
$dso_scheme = dlfcn
|
||||||
|
$shared_target= solaris-shared
|
||||||
|
$shared_cflag = -KPIC
|
||||||
|
$shared_ldflag = -xarch=amd64
|
||||||
|
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
|
||||||
|
$ranlib =
|
||||||
|
$arflags =
|
||||||
|
|
||||||
|
*** solaris64-x86_64-gcc
|
||||||
|
$cc = gcc
|
||||||
|
$cflags = -m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int
|
||||||
|
$unistd =
|
||||||
|
$thread_cflag = -D_REENTRANT
|
||||||
|
$sys_id =
|
||||||
|
$lflags = -lsocket -lnsl -ldl
|
||||||
|
$bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL
|
||||||
|
$cpuid_obj = amd64cpuid.o
|
||||||
|
$bn_obj = x86_64-gcc.o
|
||||||
|
$des_obj =
|
||||||
|
$aes_obj =
|
||||||
|
$bf_obj =
|
||||||
|
$md5_obj =
|
||||||
|
$sha1_obj =
|
||||||
|
$cast_obj =
|
||||||
|
$rc4_obj = rc4-amd64.o
|
||||||
|
$rmd160_obj =
|
||||||
|
$rc5_obj =
|
||||||
|
$dso_scheme = dlfcn
|
||||||
|
$shared_target= solaris-shared
|
||||||
|
$shared_cflag = -fPIC
|
||||||
|
$shared_ldflag = -m64 -shared -static-libgcc
|
||||||
|
$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR)
|
||||||
|
$ranlib =
|
||||||
|
$arflags =
|
||||||
|
|
||||||
*** sunos-gcc
|
*** sunos-gcc
|
||||||
$cc = gcc
|
$cc = gcc
|
||||||
$cflags = -O3 -mv8 -Dssize_t=int
|
$cflags = -O3 -mv8 -Dssize_t=int
|
||||||
|
11
config
11
config
@ -442,7 +442,7 @@ if [ "$SYSTEM" = "SunOS" ]; then
|
|||||||
egrep -e '^cc: .* C [0-9]\.[0-9]' | \
|
egrep -e '^cc: .* C [0-9]\.[0-9]' | \
|
||||||
sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
|
sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
|
||||||
CCVER=${CCVER:-0}
|
CCVER=${CCVER:-0}
|
||||||
if [ $CCVER -gt 40 ]; then
|
if [ $MACHINE != i86pc -a $CCVER -gt 40 ]; then
|
||||||
CC=cc # overrides gcc!!!
|
CC=cc # overrides gcc!!!
|
||||||
if [ $CCVER -eq 50 ]; then
|
if [ $CCVER -eq 50 ]; then
|
||||||
echo "WARNING! Detected WorkShop C 5.0. Do make sure you have"
|
echo "WARNING! Detected WorkShop C 5.0. Do make sure you have"
|
||||||
@ -638,7 +638,14 @@ case "$GUESSOS" in
|
|||||||
sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
||||||
sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
|
||||||
sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
|
sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
|
||||||
*86*-*-solaris2) OUT="solaris-x86-$CC" ;;
|
*86*-*-solaris2)
|
||||||
|
ISA64=`(isalist) 2>/dev/null | grep amd64`
|
||||||
|
if [ "$ISA64" != "" ]; then
|
||||||
|
OUT="solaris64-x86_64-$CC"
|
||||||
|
else
|
||||||
|
OUT="solaris-x86-$CC"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
*-*-sunos4) OUT="sunos-$CC" ;;
|
*-*-sunos4) OUT="sunos-$CC" ;;
|
||||||
|
|
||||||
*86*-*-bsdi4) OUT="bsdi-elf-gcc" ;;
|
*86*-*-bsdi4) OUT="bsdi-elf-gcc" ;;
|
||||||
|
@ -89,6 +89,7 @@ sparcv8plus.o: asm/sparcv8plus.S
|
|||||||
mips3.o: asm/mips3.s
|
mips3.o: asm/mips3.s
|
||||||
|
|
||||||
x86_64-gcc.o: asm/x86_64-gcc.c
|
x86_64-gcc.o: asm/x86_64-gcc.c
|
||||||
|
$(CC) $(CFLAGS) -c -o $@ asm/x86_64-gcc.c
|
||||||
|
|
||||||
bn-ia64.s: asm/ia64.S
|
bn-ia64.s: asm/ia64.S
|
||||||
$(CC) $(CFLAGS) -E asm/ia64.S > $@
|
$(CC) $(CFLAGS) -E asm/ia64.S > $@
|
||||||
|
@ -58,7 +58,7 @@ rx86-cof.s: asm/rc4-586.pl ../perlasm/x86asm.pl
|
|||||||
rx86-out.s: asm/rc4-586.pl ../perlasm/x86asm.pl
|
rx86-out.s: asm/rc4-586.pl ../perlasm/x86asm.pl
|
||||||
(cd asm; $(PERL) rc4-586.pl a.out $(CFLAGS) > ../$@)
|
(cd asm; $(PERL) rc4-586.pl a.out $(CFLAGS) > ../$@)
|
||||||
|
|
||||||
rc4-amd64.s: asm/rc4-amd64.pl; $(PERL) $< $@
|
rc4-amd64.s: asm/rc4-amd64.pl; $(PERL) asm/rc4-amd64.pl $@
|
||||||
|
|
||||||
rc4-ia64.s: asm/rc4-ia64.S
|
rc4-ia64.s: asm/rc4-ia64.S
|
||||||
$(CC) $(CFLAGS) -E asm/rc4-ia64.S > $@
|
$(CC) $(CFLAGS) -E asm/rc4-ia64.S > $@
|
||||||
|
Loading…
Reference in New Issue
Block a user