etc/services - sync with NetBSD-8
[minix.git] / crypto / external / bsd / openssl / dist / ms / uplink-x86.pl
blob0dffc14fcd2ead24fc4c110b928ac17cc3c4b18f
1 #!/usr/bin/env perl
3 $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
4 push(@INC, "${dir}.", "${dir}../crypto/perlasm");
5 require "x86asm.pl";
7 require "uplink-common.pl";
9 &asm_init($ARGV[0],"uplink-x86");
11 &external_label("OPENSSL_Uplink");
12 &public_label("OPENSSL_UplinkTable");
14 for ($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}");
26 &dataseg();
27 &align(4);
28 &set_label("OPENSSL_UplinkTable");
29 &data_word($N);
30 for ($i=1;$i<=$N;$i++) {
31 &data_word(&label("_\$lazy${i}"));
33 &asm_finish();