summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorappro <appro>2007-11-22 21:21:35 +0000
committerappro <appro>2007-11-22 21:21:35 +0000
commitd38a90a41d1e4ab7dc00e68ab7b56ec9912b4710 (patch)
tree2d91a52b9febd050a2c5ba7a5becc82a1932e444
parent61ffb7af986dc8af732a80805482024349233be2 (diff)
downloadopenssl-d38a90a41d1e4ab7dc00e68ab7b56ec9912b4710.tar.gz
Synchronize x86nasm.pl with x86unix.pl.
-rw-r--r--crypto/perlasm/x86nasm.pl13
1 files changed, 8 insertions, 5 deletions
diff --git a/crypto/perlasm/x86nasm.pl b/crypto/perlasm/x86nasm.pl
index 68c89e846..bbfcc8162 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