]> git.ipfire.org Git - thirdparty/openssl.git/blame - ms/uplink-x86.pl
set exec attribute for .pl files
[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
0a4edb93
RL
9$output = pop;
10open STDOUT,">$output";
11
4c048211
AP
12&asm_init($ARGV[0],"uplink-x86");
13
14&external_label("OPENSSL_Uplink");
15&public_label("OPENSSL_UplinkTable");
16
17for ($i=1;$i<=$N;$i++) {
18&function_begin_B("_\$lazy${i}");
19 &lea ("eax",&DWP(&label("OPENSSL_UplinkTable")));
4c048211 20 &push ($i);
740b2b9a 21 &push ("eax");
4c048211 22 &call (&label("OPENSSL_Uplink"));
4c048211 23 &pop ("eax");
740b2b9a 24 &add ("esp",4);
4c048211
AP
25 &jmp_ptr(&DWP(4*$i,"eax"));
26&function_end_B("_\$lazy${i}");
27}
28
29&dataseg();
30&align(4);
31&set_label("OPENSSL_UplinkTable");
32&data_word($N);
33for ($i=1;$i<=$N;$i++) {
34&data_word(&label("_\$lazy${i}"));
35}
36&asm_finish();
0a4edb93
RL
37
38close OUTPUT;