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


- Log -----------------------------------------------------------------
commit 06611d0a1623a1ce06275b6cdd7a270d9704bf37
Author: Benjamin Kaduk <bka...@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 <ap...@openssl.org>
    Reviewed-by: Rich Salz <rs...@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));
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to