Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1754122363, "reponame":"openssl", "desc":"OpenSSL", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://warmcat.com/repo/openssl", "f":3, "items": [ {"schema":"libjg2-1", "cid":"a57f3c535f46171181fdc7b5f16d0cc6", "commit": {"type":"commit", "time": 1488330871, "time_ofs": 18446744073709551316, "oid_tree": { "oid": "43c146b11c54a761d4d0044c4d773fe148cefa96", "alias": []}, "oid":{ "oid": "06611d0a1623a1ce06275b6cdd7a270d9704bf37", "alias": []}, "msg": "Remove OPENSSL_indirect_call()", "sig_commit": { "git_time": { "time": 1488330871, "offset": -300 }, "name": "Rich Salz", "email": "rsalz@openssl.org", "md5": "3ed6b9cf7bbe83902a044f6590346d26" }, "sig_author": { "git_time": { "time": 1488321171, "offset": -360 }, "name": "Benjamin Kaduk", "email": "bkaduk@akamai.com", "md5": "a05981ba89c2b7753f6e41ad2046bdd8" }}, "body": "Remove OPENSSL_indirect_call()\n\nIt's undocumented and unused in the tree. The idea seems to have\nnever gained much traction, and can be removed without breaking\nABI compatibility.\n\nReviewed-by: Andy Polyakov \u003cappro@openssl.org\u003e\nReviewed-by: Rich Salz \u003crsalz@openssl.org\u003e\n(Merged from https://github.com/openssl/openssl/pull/2800)" , "diff": "diff --git a/crypto/x86cpuid.pl b/crypto/x86cpuid.pl\nindex 176e8e3..d3e7ade 100644\n--- a/crypto/x86cpuid.pl\n+++ b/crypto/x86cpuid.pl\n@@ -292,45 +292,6 @@ for (@ARGV) { $sse2\u003d1 if (/-DOPENSSL_IA32_SSE2/); }\n \t\u0026ret\t();\n \u0026function_end_B(\u0022OPENSSL_atomic_add\u0022);\n \n-# This function can become handy under Win32 in situations when\n-# we don't know which calling convention, __stdcall or __cdecl(*),\n-# indirect callee is using. In C it can be deployed as\n-#\n-#ifdef OPENSSL_CPUID_OBJ\n-#\ttype OPENSSL_indirect_call(void *f,...);\n-#\t...\n-#\tOPENSSL_indirect_call(func,[up to $max arguments]);\n-#endif\n-#\n-# (*)\tit's designed to work even for __fastcall if number of\n-#\targuments is 1 or 2!\n-\u0026function_begin_B(\u0022OPENSSL_indirect_call\u0022);\n-\t{\n-\tmy ($max,$i)\u003d(7,);\t# $max has to be chosen as 4*n-1\n-\t\t\t\t# in order to preserve eventual\n-\t\t\t\t# stack alignment\n-\t\u0026push\t(\u0022ebp\u0022);\n-\t\u0026mov\t(\u0022ebp\u0022,\u0022esp\u0022);\n-\t\u0026sub\t(\u0022esp\u0022,$max*4);\n-\t\u0026mov\t(\u0022ecx\u0022,\u0026DWP(12,\u0022ebp\u0022));\n-\t\u0026mov\t(\u0026DWP(0,\u0022esp\u0022),\u0022ecx\u0022);\n-\t\u0026mov\t(\u0022edx\u0022,\u0026DWP(16,\u0022ebp\u0022));\n-\t\u0026mov\t(\u0026DWP(4,\u0022esp\u0022),\u0022edx\u0022);\n-\tfor($i\u003d2;$i\u003c$max;$i++)\n-\t\t{\n-\t\t# Some copies will be redundant/bogus...\n-\t\t\u0026mov\t(\u0022eax\u0022,\u0026DWP(12+$i*4,\u0022ebp\u0022));\n-\t\t\u0026mov\t(\u0026DWP(0+$i*4,\u0022esp\u0022),\u0022eax\u0022);\n-\t\t}\n-\t\u0026call_ptr\t(\u0026DWP(8,\u0022ebp\u0022));# make the call...\n-\t\u0026mov\t(\u0022esp\u0022,\u0022ebp\u0022);\t# ... and just restore the stack pointer\n-\t\t\t\t# without paying attention to what we called,\n-\t\t\t\t# (__cdecl *func) or (__stdcall *one).\n-\t\u0026pop\t(\u0022ebp\u0022);\n-\t\u0026ret\t();\n-\t}\n-\u0026function_end_B(\u0022OPENSSL_indirect_call\u0022);\n-\n \u0026function_begin_B(\u0022OPENSSL_cleanse\u0022);\n \t\u0026mov\t(\u0022edx\u0022,\u0026wparam(0));\n \t\u0026mov\t(\u0022ecx\u0022,\u0026wparam(1));\n","s":{"c":1754122363,"u": 51903}} ],"g": 52940,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}