rc4/asm/rc4-586.pl: allow for 386-only build.
(cherry picked from commit f861b1d4335d4017953938160c7e4e0df9af5a7b)
This commit is contained in:
parent
4bf6d66e67
commit
1f59eb5f11
@ -42,7 +42,7 @@ lib: $(LIBOBJ)
|
|||||||
@touch lib
|
@touch lib
|
||||||
|
|
||||||
rc4-586.s: asm/rc4-586.pl ../perlasm/x86asm.pl
|
rc4-586.s: asm/rc4-586.pl ../perlasm/x86asm.pl
|
||||||
$(PERL) asm/rc4-586.pl $(PERLASM_SCHEME) $(CFLAGS) > $@
|
$(PERL) asm/rc4-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
|
||||||
|
|
||||||
rc4-x86_64.s: asm/rc4-x86_64.pl
|
rc4-x86_64.s: asm/rc4-x86_64.pl
|
||||||
$(PERL) asm/rc4-x86_64.pl $(PERLASM_SCHEME) > $@
|
$(PERL) asm/rc4-x86_64.pl $(PERLASM_SCHEME) > $@
|
||||||
|
@ -60,7 +60,7 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
|
|||||||
push(@INC,"${dir}","${dir}../../perlasm");
|
push(@INC,"${dir}","${dir}../../perlasm");
|
||||||
require "x86asm.pl";
|
require "x86asm.pl";
|
||||||
|
|
||||||
&asm_init($ARGV[0],"rc4-586.pl");
|
&asm_init($ARGV[0],"rc4-586.pl",$x86only = $ARGV[$#ARGV] eq "386");
|
||||||
|
|
||||||
$xx="eax";
|
$xx="eax";
|
||||||
$yy="ebx";
|
$yy="ebx";
|
||||||
@ -184,8 +184,11 @@ if ($alt=0) {
|
|||||||
&and ($ty,-4); # how many 4-byte chunks?
|
&and ($ty,-4); # how many 4-byte chunks?
|
||||||
&jz (&label("loop1"));
|
&jz (&label("loop1"));
|
||||||
|
|
||||||
&test ($ty,-8);
|
|
||||||
&mov (&wparam(3),$out); # $out as accumulator in these loops
|
&mov (&wparam(3),$out); # $out as accumulator in these loops
|
||||||
|
if ($x86only) {
|
||||||
|
&jmp (&label("go4loop4"));
|
||||||
|
} else {
|
||||||
|
&test ($ty,-8);
|
||||||
&jz (&label("go4loop4"));
|
&jz (&label("go4loop4"));
|
||||||
|
|
||||||
&picmeup($out,"OPENSSL_ia32cap_P");
|
&picmeup($out,"OPENSSL_ia32cap_P");
|
||||||
@ -228,6 +231,7 @@ if ($alt=0) {
|
|||||||
&cmp ($inp,&wparam(1)); # compare to input+len
|
&cmp ($inp,&wparam(1)); # compare to input+len
|
||||||
&je (&label("done"));
|
&je (&label("done"));
|
||||||
&jmp (&label("loop1"));
|
&jmp (&label("loop1"));
|
||||||
|
}
|
||||||
|
|
||||||
&set_label("go4loop4",16);
|
&set_label("go4loop4",16);
|
||||||
&lea ($ty,&DWP(-4,$inp,$ty));
|
&lea ($ty,&DWP(-4,$inp,$ty));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user