aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/perlasm
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2004-12-23 21:43:25 +0000
committerAndy Polyakov <appro@openssl.org>2004-12-23 21:43:25 +0000
commitd1df5b4339b465f97f09b77411860c3cb3aedef0 (patch)
treecbab5a17d916f32aa0c573513dc9052f45aa23b2 /crypto/perlasm
parent25558bf7434525099254126119841edbaa155305 (diff)
downloadopenssl-d1df5b4339b465f97f09b77411860c3cb3aedef0.tar.gz
x86 perlasm update to accomodate aes-586.pl.
Diffstat (limited to 'crypto/perlasm')
-rw-r--r--crypto/perlasm/x86ms.pl16
-rw-r--r--crypto/perlasm/x86nasm.pl12
-rw-r--r--crypto/perlasm/x86unix.pl6
3 files changed, 32 insertions, 2 deletions
diff --git a/crypto/perlasm/x86ms.pl b/crypto/perlasm/x86ms.pl
index 4f4a6fea9d..8f77fed81e 100644
--- a/crypto/perlasm/x86ms.pl
+++ b/crypto/perlasm/x86ms.pl
@@ -92,7 +92,7 @@ sub get_mem
$reg2=&conv($1);
$addr="_$2";
}
- elsif ($addr =~ /^[_a-zA-Z]/)
+ elsif ($addr =~ /^[_a-zA-Z]$/)
{
$addr="_$addr";
}
@@ -368,6 +368,12 @@ sub main'comment
}
}
+sub main'public_label
+ {
+ $label{$_[0]}="_$_[0]" if (!defined($label{$_[0]}));
+ push(@out,"PUBLIC\t$label{$_[0]}\n");
+ }
+
sub main'label
{
if (!defined($label{$_[0]}))
@@ -385,10 +391,18 @@ sub main'set_label
$label{$_[0]}="\$${label}${_[0]}";
$label++;
}
+ if ($_[1]!=0 && $_[1]>1)
+ {
+ main'align($_[1]);
+ }
if((defined $_[2]) && ($_[2] == 1))
{
push(@out,"$label{$_[0]}::\n");
}
+ elsif ($label{$_[0]} !~ /^\$/)
+ {
+ push(@out,"$label{$_[0]}\tLABEL PTR\n");
+ }
else
{
push(@out,"$label{$_[0]}:\n");
diff --git a/crypto/perlasm/x86nasm.pl b/crypto/perlasm/x86nasm.pl
index 965bff1bd3..1b6e94c17e 100644
--- a/crypto/perlasm/x86nasm.pl
+++ b/crypto/perlasm/x86nasm.pl
@@ -106,7 +106,7 @@ sub get_mem
$reg2=&conv($1);
$addr="$under$2";
}
- elsif ($addr =~ /^[_a-zA-Z]/)
+ elsif ($addr =~ /^[_a-zA-Z]$/)
{
$addr="$under$addr";
}
@@ -360,6 +360,12 @@ sub main'comment
}
}
+sub main'public_label
+ {
+ $label{$_[0]}="${under}${_[0]}" if (!defined($label{$_[0]}));
+ push(@out,"global\t$label{$_[0]}\n");
+ }
+
sub main'label
{
if (!defined($label{$_[0]}))
@@ -377,6 +383,10 @@ sub main'set_label
$label{$_[0]}="\@${label}${_[0]}";
$label++;
}
+ if ($_[1]!=0 && $_[1]>1)
+ {
+ main'align($_[1]);
+ }
push(@out,"$label{$_[0]}:\n");
}
diff --git a/crypto/perlasm/x86unix.pl b/crypto/perlasm/x86unix.pl
index cdfd740154..59c4fbc083 100644
--- a/crypto/perlasm/x86unix.pl
+++ b/crypto/perlasm/x86unix.pl
@@ -498,6 +498,12 @@ sub main'comment
}
}
+sub main'public_label
+ {
+ $label{$_[0]}="${under}${_[0]}" if (!defined($label{$_[0]}));
+ push(@out,".globl\t$label{$_[0]}\n");
+ }
+
sub main'label
{
if (!defined($label{$_[0]}))