diff options
author | Andy Polyakov <appro@openssl.org> | 2005-12-06 18:43:59 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2005-12-06 18:43:59 +0000 |
commit | 3ebf898e88f1f3c9347bba11e8a6ee2bdb83dded (patch) | |
tree | 89c85766ce467847bc6328349a859a5e2260a5c1 /crypto/perlasm/x86nasm.pl | |
parent | a4c886e4c87c56dc9fb184f0e2992e95a29857d5 (diff) |
Support for indirect calls in x86 assembler modules.
Diffstat (limited to 'crypto/perlasm/x86nasm.pl')
-rw-r--r-- | crypto/perlasm/x86nasm.pl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/perlasm/x86nasm.pl b/crypto/perlasm/x86nasm.pl index 78b1f94c07..b6dfcbdf02 100644 --- a/crypto/perlasm/x86nasm.pl +++ b/crypto/perlasm/x86nasm.pl @@ -184,6 +184,7 @@ sub main'popf { &out0("popfd"); $stack-=4; } sub main'bswap { &out1("bswap",@_); &using486(); } sub main'not { &out1("not",@_); } sub main'call { &out1("call",($_[0]=~/^\@L/?'':$under).$_[0]); } +sub main'call_ptr { &out1p("call",@_); } sub main'ret { &out0("ret"); } sub main'nop { &out0("nop"); } sub main'test { &out2("test",@_); } @@ -422,7 +423,7 @@ sub out1p my($name,$p1)=@_; my($l,$t); - push(@out,"\t$name\t ".&conv($p1)."\n"); + push(@out,"\t$name\t".&conv($p1)."\n"); } sub main'picmeup @@ -439,7 +440,7 @@ sub main'initseg if ($main'win32) { local($tmp)=<<___; -segment .CRT\$XIU data +segment .CRT\$XCU data extern $under$f DD $under$f ___ |