diff options
author | Andy Polyakov <appro@openssl.org> | 2007-11-22 21:21:35 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2007-11-22 21:21:35 +0000 |
commit | c1d2e00ec5d9b9bcfc4731c247c5e1461badeb81 (patch) | |
tree | f11fb600a301bbc8a7c2f495651fa398ca2999dc /crypto/perlasm | |
parent | ad8bd4ece8b4d03b21d9334ae4565283561e109d (diff) |
Synchronize x86nasm.pl with x86unix.pl.
Diffstat (limited to 'crypto/perlasm')
-rw-r--r-- | crypto/perlasm/x86nasm.pl | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/crypto/perlasm/x86nasm.pl b/crypto/perlasm/x86nasm.pl index 68c89e8466..bbfcc81625 100644 --- a/crypto/perlasm/x86nasm.pl +++ b/crypto/perlasm/x86nasm.pl @@ -101,18 +101,21 @@ ___ } sub ::function_begin_B -{ my $func=$under.shift; +{ my $func=shift; + my $begin="${lprfx}_${func}_begin"; my $tmp=<<___; global $func align 16 -$func: +$under$func: +$begin: ___ + $label{$func}=$begin; push(@out,$tmp); $::stack=4; } sub ::function_end_B { my $i; - foreach $i (%label) { undef $label{$i} if ($label{$i} =~ /^$prfx/); } + foreach $i (keys %label) { delete $label{$i} if ($label{$i} =~ /^${lprfx}[0-9]{3}/); } $::stack=0; } @@ -199,8 +202,8 @@ sub ::comment { foreach (@_) { push(@out,"\t; $_\n"); } } sub islabel # see is argument is known label { my $i; - foreach $i (%label) { return $label{$i} if ($label{$i} eq $_[0]); } - undef; + foreach $i (values %label) { return $i if ($i eq $_[0]); } + $label{$_[0]}; # can be undef } sub ::external_label |