Hi,

> I am not able to build openssl-1.02.a on Solaris 10:
> 
> # uname -a
> SunOS corona 5.10 Generic_150401-23 i86pc i386 i86pc Solaris
> 
> # ./Configure solaris-x86-gcc --openssldir=/usr/local/openssl-1.0.2a shared
> …
> Configured for solaris-x86-gcc.
> 
> # make
> 
> gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS
> -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -fomit-frame-pointer
> -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM
> -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT
> -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM
> -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -c  -o
> x86cpuid.o x86cpuid.s
> Assembler: x86cpuid.s
>         "x86cpuid.s", line 158 : Illegal subtraction in ...
> "OPENSSL_ia32cap_P - .L009PIC_me_up"
> make[1]: *** [x86cpuid.o] Error 1
> make[1]: Leaving directory
> `/export/home/borut/admin/openssl/openssl-1.0.2a/crypto'
> make: *** [build_crypto] Error 1
> #
> 
> 
> Any idea how to fix this?

Well, we have to rely on working tool-chain, and specifically assembler,
but fixing broken one is beyond our capacity. Actually beyond anybody's
capacity on such old system as SunOS 5.10. Catch there is that it's
likely that your gcc is compiled to use vendor assembler, so that advice
to upgrade assembler is not helpful. Having said this configuring with
no-asm should help to avoid assembler. But it costs a lot of
performance, see if attached patch solves the problem...


diff --git a/Configure b/Configure
index 149e15c..448cfca 100755
--- a/Configure
+++ b/Configure
@@ -223,7 +223,7 @@ my %table=(
 # surrounds it with #APP #NO_APP comment pair which (at least Solaris
 # 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
 # error message.
-"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=pentium -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 -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}-1: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,
_______________________________________________
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to