[openssl-commits] [openssl] master update

Rich Salz rsalz at openssl.org
Wed Mar 1 01:22:07 UTC 2017


The branch master has been updated
       via  06611d0a1623a1ce06275b6cdd7a270d9704bf37 (commit)
      from  5c6c4c5c333c8ac469e53521cf747ff527b8813a (commit)


- Log -----------------------------------------------------------------
commit 06611d0a1623a1ce06275b6cdd7a270d9704bf37
Author: Benjamin Kaduk <bkaduk at akamai.com>
Date:   Tue Feb 28 16:32:51 2017 -0600

    Remove OPENSSL_indirect_call()
    
    It's undocumented and unused in the tree.  The idea seems to have
    never gained much traction, and can be removed without breaking
    ABI compatibility.
    
    Reviewed-by: Andy Polyakov <appro at openssl.org>
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/2800)

-----------------------------------------------------------------------

Summary of changes:
 crypto/x86cpuid.pl | 39 ---------------------------------------
 1 file changed, 39 deletions(-)

diff --git a/crypto/x86cpuid.pl b/crypto/x86cpuid.pl
index 176e8e3..d3e7ade 100644
--- a/crypto/x86cpuid.pl
+++ b/crypto/x86cpuid.pl
@@ -292,45 +292,6 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
 	&ret	();
 &function_end_B("OPENSSL_atomic_add");
 
-# This function can become handy under Win32 in situations when
-# we don't know which calling convention, __stdcall or __cdecl(*),
-# indirect callee is using. In C it can be deployed as
-#
-#ifdef OPENSSL_CPUID_OBJ
-#	type OPENSSL_indirect_call(void *f,...);
-#	...
-#	OPENSSL_indirect_call(func,[up to $max arguments]);
-#endif
-#
-# (*)	it's designed to work even for __fastcall if number of
-#	arguments is 1 or 2!
-&function_begin_B("OPENSSL_indirect_call");
-	{
-	my ($max,$i)=(7,);	# $max has to be chosen as 4*n-1
-				# in order to preserve eventual
-				# stack alignment
-	&push	("ebp");
-	&mov	("ebp","esp");
-	&sub	("esp",$max*4);
-	&mov	("ecx",&DWP(12,"ebp"));
-	&mov	(&DWP(0,"esp"),"ecx");
-	&mov	("edx",&DWP(16,"ebp"));
-	&mov	(&DWP(4,"esp"),"edx");
-	for($i=2;$i<$max;$i++)
-		{
-		# Some copies will be redundant/bogus...
-		&mov	("eax",&DWP(12+$i*4,"ebp"));
-		&mov	(&DWP(0+$i*4,"esp"),"eax");
-		}
-	&call_ptr	(&DWP(8,"ebp"));# make the call...
-	&mov	("esp","ebp");	# ... and just restore the stack pointer
-				# without paying attention to what we called,
-				# (__cdecl *func) or (__stdcall *one).
-	&pop	("ebp");
-	&ret	();
-	}
-&function_end_B("OPENSSL_indirect_call");
-
 &function_begin_B("OPENSSL_cleanse");
 	&mov	("edx",&wparam(0));
 	&mov	("ecx",&wparam(1));


More information about the openssl-commits mailing list