[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