[Pkg-openssl-changes] r264 - in openssl/trunk: . crypto/des/asm crypto/perlasm debian
kroeckx at alioth.debian.org
kroeckx at alioth.debian.org
Fri Nov 2 22:44:26 UTC 2007
Author: kroeckx
Date: 2007-11-02 22:44:26 +0000 (Fri, 02 Nov 2007)
New Revision: 264
Modified:
openssl/trunk/Configure
openssl/trunk/crypto/des/asm/desboth.pl
openssl/trunk/crypto/perlasm/cbc.pl
openssl/trunk/debian/changelog
Log:
cbc.pl: Call functions via the PLT.
desboth.pl: Call DES_encrypt2 via the PLT.
Modified: openssl/trunk/Configure
===================================================================
--- openssl/trunk/Configure 2007-11-02 21:23:49 UTC (rev 263)
+++ openssl/trunk/Configure 2007-11-02 22:44:26 UTC (rev 264)
@@ -114,7 +114,7 @@
my $bits1="THIRTY_TWO_BIT ";
my $bits2="SIXTY_FOUR_BIT ";
-my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o::ax86-elf.o::mx86-elf.o:sx86-elf.o s512sse2-elf.o:cx86-elf.o:rx86-elf.o:rm86-elf.o:r586-elf.o";
+my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o:dx86-elf.o yx86-elf.o:ax86-elf.o:bx86-elf.o:mx86-elf.o:sx86-elf.o s512sse2-elf.o:cx86-elf.o:rx86-elf.o:rm86-elf.o:r586-elf.o";
my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o:dx86-cof.o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-cof.o:rx86-cof.o:rm86-cof.o:r586-cof.o";
my $x86_out_asm="x86cpuid-out.o:bn86-out.o co86-out.o:dx86-out.o yx86-out.o:ax86-out.o:bx86-out.o:mx86-out.o:sx86-out.o s512sse2-out.o:cx86-out.o:rx86-out.o:rm86-out.o:r586-out.o";
Modified: openssl/trunk/crypto/des/asm/desboth.pl
===================================================================
--- openssl/trunk/crypto/des/asm/desboth.pl 2007-11-02 21:23:49 UTC (rev 263)
+++ openssl/trunk/crypto/des/asm/desboth.pl 2007-11-02 22:44:26 UTC (rev 264)
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
$L="edi";
$R="esi";
@@ -16,6 +16,11 @@
&push("edi");
+ &call (&label("pic_point0"));
+ &set_label("pic_point0");
+ &blindpop("ebp");
+ &add ("ebp", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
+
&comment("");
&comment("Load the data words");
&mov($L,&DWP(0,"ebx","",0));
@@ -47,15 +52,21 @@
&mov(&swtmp(2), (DWC(($enc)?"1":"0")));
&mov(&swtmp(1), "eax");
&mov(&swtmp(0), "ebx");
- &call("DES_encrypt2");
+ &exch("ebx", "ebp");
+ &call("DES_encrypt2\@PLT");
+ &exch("ebx", "ebp");
&mov(&swtmp(2), (DWC(($enc)?"0":"1")));
&mov(&swtmp(1), "edi");
&mov(&swtmp(0), "ebx");
- &call("DES_encrypt2");
+ &exch("ebx", "ebp");
+ &call("DES_encrypt2\@PLT");
+ &exch("ebx", "ebp");
&mov(&swtmp(2), (DWC(($enc)?"1":"0")));
&mov(&swtmp(1), "esi");
&mov(&swtmp(0), "ebx");
- &call("DES_encrypt2");
+ &exch("ebx", "ebp");
+ &call("DES_encrypt2\@PLT");
+ &exch("ebx", "ebp");
&stack_pop(3);
&mov($L,&DWP(0,"ebx","",0));
Modified: openssl/trunk/crypto/perlasm/cbc.pl
===================================================================
--- openssl/trunk/crypto/perlasm/cbc.pl 2007-11-02 21:23:49 UTC (rev 263)
+++ openssl/trunk/crypto/perlasm/cbc.pl 2007-11-02 22:44:26 UTC (rev 264)
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
# void des_ncbc_encrypt(input, output, length, schedule, ivec, enc)
# des_cblock (*input);
@@ -122,7 +122,11 @@
&mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call
&mov(&DWP($data_off+4,"esp","",0), "ebx"); #
- &call($enc_func);
+ &call (&label("pic_point0"));
+ &set_label("pic_point0");
+ &blindpop("ebx");
+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
+ &call("$enc_func\@PLT");
&mov("eax", &DWP($data_off,"esp","",0));
&mov("ebx", &DWP($data_off+4,"esp","",0));
@@ -187,7 +191,11 @@
&mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call
&mov(&DWP($data_off+4,"esp","",0), "ebx"); #
- &call($enc_func);
+ &call (&label("pic_point1"));
+ &set_label("pic_point1");
+ &blindpop("ebx");
+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point1") . "]");
+ &call("$enc_func\@PLT");
&mov("eax", &DWP($data_off,"esp","",0));
&mov("ebx", &DWP($data_off+4,"esp","",0));
@@ -220,7 +228,11 @@
&mov(&DWP($data_off,"esp","",0), "eax"); # put back
&mov(&DWP($data_off+4,"esp","",0), "ebx"); #
- &call($dec_func);
+ &call (&label("pic_point2"));
+ &set_label("pic_point2");
+ &blindpop("ebx");
+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point2") . "]");
+ &call("$dec_func\@PLT");
&mov("eax", &DWP($data_off,"esp","",0)); # get return
&mov("ebx", &DWP($data_off+4,"esp","",0)); #
@@ -263,7 +275,11 @@
&mov(&DWP($data_off,"esp","",0), "eax"); # put back
&mov(&DWP($data_off+4,"esp","",0), "ebx"); #
- &call($dec_func);
+ &call (&label("pic_point3"));
+ &set_label("pic_point3");
+ &blindpop("ebx");
+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point3") . "]");
+ &call("$dec_func\@PLT");
&mov("eax", &DWP($data_off,"esp","",0)); # get return
&mov("ebx", &DWP($data_off+4,"esp","",0)); #
Modified: openssl/trunk/debian/changelog
===================================================================
--- openssl/trunk/debian/changelog 2007-11-02 21:23:49 UTC (rev 263)
+++ openssl/trunk/debian/changelog 2007-11-02 22:44:26 UTC (rev 264)
@@ -9,7 +9,8 @@
via the PLT to avoid a relocation.
- x86unix.pl: Call the init function via the PLT, avoiding a relocation
in case of a PIC object.
- - Disable the des en bf assembler versions.
+ - cbc.pl: Call functions via the PLT.
+ - desboth.pl: Call DES_encrypt2 via the PLT.
-- Kurt Roeckx <kurt at roeckx.be> Thu, 25 Oct 2007 23:57:42 +0200
More information about the Pkg-openssl-changes
mailing list