]> git.ipfire.org Git - thirdparty/openssl.git/blame - ms/uplink-x86.pl
x86_64 assembly pack: make it possible to compile with Perl located on
[thirdparty/openssl.git] / ms / uplink-x86.pl
CommitLineData
4c048211
AP
1#!/usr/bin/env perl
2
3$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
4push(@INC, "${dir}.", "${dir}../crypto/perlasm");
5require "x86asm.pl";
6
7require "uplink-common.pl";
8
9&asm_init($ARGV[0],"uplink-x86");
10
11&external_label("OPENSSL_Uplink");
12&public_label("OPENSSL_UplinkTable");
13
14for ($i=1;$i<=$N;$i++) {
15&function_begin_B("_\$lazy${i}");
16 &lea ("eax",&DWP(&label("OPENSSL_UplinkTable")));
17 &push ("eax");
18 &push ($i);
19 &call (&label("OPENSSL_Uplink"));
20 &add ("esp",8);
21 &pop ("eax");
22 &jmp_ptr(&DWP(4*$i,"eax"));
23&function_end_B("_\$lazy${i}");
24}
25
26&dataseg();
27&align(4);
28&set_label("OPENSSL_UplinkTable");
29&data_word($N);
30for ($i=1;$i<=$N;$i++) {
31&data_word(&label("_\$lazy${i}"));
32}
33&asm_finish();