Commit 2613c1fa authored by Ulf Möller's avatar Ulf Möller
Browse files

New option to generate 80386 code.

parent 6d02d8e4
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -5,6 +5,10 @@

 Changes between 0.9.2b and 0.9.3

  *) New config option to avoid instructions that are illegal on the 80386.
     The default code is faster, but requires at least a 486.
     [Ulf Möller]
  
  *) Got rid of old SSL2_CLIENT_VERSION (inconsistently used) and
     SSL2_SERVER_VERSION (not used at all) macros, which are now the
     same as SSL2_VERSION anyway.
+5 −0
Original line number Diff line number Diff line
@@ -272,6 +272,7 @@ my $rc5_enc="rc5_enc.o";
my $md5_obj="";
my $sha1_obj="";
my $rmd160_obj="";
my $processor="";

if ($#ARGV < 0)
	{
@@ -286,6 +287,8 @@ foreach (@ARGV)
	{
	if ($_ =~ /^no-asm$/)
		{ $no_asm=1; }
	elsif ($_ =~ /^386$/)
		{ $processor=386; }
	elsif ($_ =~ /^-/)
		{
		if ($_ =~ /^-[lL](.*)$/)
@@ -389,6 +392,7 @@ while (<IN>)
	s/^MD5_ASM_OBJ=.*$/MD5_ASM_OBJ= $md5_obj/;
	s/^SHA1_ASM_OBJ=.*$/SHA1_ASM_OBJ= $sha1_obj/;
	s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
	s/^PROCESSOR=.*/PROCESSOR= $processor/;
	print OUT $_."\n";
	}
close(IN);
@@ -406,6 +410,7 @@ print "RC5_ENC =$rc5_obj\n";
print "MD5_OBJ_ASM   =$md5_obj\n";
print "SHA1_OBJ_ASM  =$sha1_obj\n";
print "RMD160_OBJ_ASM=$rmd160_obj\n";
print "PROCESSOR     =$processor\n";

my $des_ptr=0;
my $des_risc1=0;
+8 −1
Original line number Diff line number Diff line
@@ -23,10 +23,17 @@

 This will build and install OpenSSL in the default location, which is (for
 historical reasons) /usr/local/ssl. If you want to install it anywhere else,
 do this after running `sh config':
 do this after running `./config':

  $ perl util/ssldir.pl /new/install/path

 There are several options to ./config to customize the build:

  -DRSAref  Build with RSADSI's RSAREF toolkit.
  no-asm    Build with no assembler code.
  386       Use the 80386 instruction set only (the default x86 code is
            more efficient, but requires at least a 486).

 If anything goes wrong, follow the detailed instructions below. If your
 operating system is not (yet) supported by OpenSSL, see the section on
 porting to a new system.
+6 −2
Original line number Diff line number Diff line
@@ -60,6 +60,10 @@ BN_ASM= bn_asm.o
#BN_ASM= asm/x86w16.o   # 16 bit code for Windows 3.1/DOS
#BN_ASM= asm/x86w32.o   # 32 bit code for Windows 3.1

# For x86 assembler: Set PROCESSOR to 386 if you want to support
# the 80386.
PROCESSOR=

# Set DES_ENC to des_enc.o if you want to use the C version
#There are 4 x86 assember options.
DES_ENC= asm/dx86-out.o asm/yx86-out.o
@@ -163,14 +167,14 @@ all: Makefile.ssl
	@for i in $(DIRS) ;\
	do \
	(cd $$i && echo "making all in $$i..." && \
	$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' SDIRS='${SDIRS}' AR='${AR}' all ) || exit 1; \
	$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' SDIRS='${SDIRS}' AR='${AR}' PROCESSOR='$(PROCESSOR)' all ) || exit 1; \
	done;

sub_all:
	@for i in $(DIRS) ;\
	do \
	(cd $$i && echo "making all in $$i..." && \
	$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' all ) || exit 1; \
	$(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='$(PROCESSOR)' all ) || exit 1; \
	done;

Makefile.ssl: Makefile.org
+1 −1
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ asm/bx86bsdi.o: asm/bx86unix.cpp
	$(CPP) -DBSDI asm/bx86unix.cpp | sed 's/ :/:/' | as -o asm/bx86bsdi.o

asm/bx86unix.cpp:
	(cd asm; perl bf-586.pl cpp >bx86unix.cpp)
	(cd asm; perl bf-586.pl cpp $(PROCESSOR) >bx86unix.cpp)

files:
	perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
Loading