OpenSSL CVS Repository
http://cvs.openssl.org/
____________________________________________________________
________________
Server: cvs.openssl.org Name: Andy
Polyakov
Root: /v/openssl/cvs Email: appro openssl.org
Module: openssl Date:
17-Oct-2006 08:43:11
Branch: HEAD Handle:
2006101707431100
Modified files:
openssl/crypto/perlasm ppc-xlate.pl x86_64-xlate.pl
x86asm.pl
Log:
Support for .asciz directive in perlasm modules.
Summary:
Revision Changes Path
1.6 +8 -0
openssl/crypto/perlasm/ppc-xlate.pl
1.11 +8 -0
openssl/crypto/perlasm/x86_64-xlate.pl
1.15 +2 -0 openssl/crypto/perlasm/x86asm.pl
____________________________________________________________
________________
patch -p0 <<' .'
Index: openssl/crypto/perlasm/ppc-xlate.pl
============================================================
================
$ cvs diff -u -r1.5 -r1.6 ppc-xlate.pl
--- openssl/crypto/perlasm/ppc-xlate.pl 5 Jun 2006
09:42:31 -0000 1.5
+++ openssl/crypto/perlasm/ppc-xlate.pl 17 Oct 2006
06:43:11 -0000 1.6
 -64,6 +64,14 
}
".machine $arch";
};
+my $asciz = sub {
+ shift;
+ my $line = join(",", _);
+ if ($line =~ /^"(.*)"$/)
+ { ".byte " .
join(",",unpack("C*",$1),0); }
+ else
+ { ""; }
+};
############################################################
####
# simplified mnemonics not handled by at least one
assembler
 .
patch -p0 <<' .'
Index: openssl/crypto/perlasm/x86_64-xlate.pl
============================================================
================
$ cvs diff -u -r1.10 -r1.11 x86_64-xlate.pl
--- openssl/crypto/perlasm/x86_64-xlate.pl 9 Nov 2005
17:20:26 -0000 1.10
+++ openssl/crypto/perlasm/x86_64-xlate.pl 17 Oct 2006
06:43:11 -0000 1.11
 -323,6 +323,8 
$line =~ s/ function.*/ function/;
if ($line =~ /.picmeups+(%r[w]+)/i) {
$self-> = sprintf
"t.longt0x%x,0x90000000",$opcode{$1};
+ } elsif ($line =~ /.ascizs+"(.*)"$/) {
+ $self-> =
".bytet".join(",",unpack("C*"
,$1),0);
} else {
$self-> = $line;
}
 -378,6 +380,12 
/.picmeup/ && do { $self-> =
sprintf"tDDt 0%Xh,090000000h",$opcode{$line};
last;
};
+ /.asciz/ && do { if ($line =~
/^"(.*)"$/) {
+ $self-> = "DBt"
+ .join(",",unpack("C*",$1),0);
+ }
+ last;
+ };
}
$line = "";
}
 .
patch -p0 <<' .'
Index: openssl/crypto/perlasm/x86asm.pl
============================================================
================
$ cvs diff -u -r1.14 -r1.15 x86asm.pl
--- openssl/crypto/perlasm/x86asm.pl 18 Sep 2006 19:17:08
-0000 1.14
+++ openssl/crypto/perlasm/x86asm.pl 17 Oct 2006 06:43:11
-0000 1.15
 -94,6 +94,8 
$stack+=16; # readjust esp as if we didn't pop
anything
}
+sub ::asciz { foreach ( _) {
&data_byte(unpack("C*",$_[0]),0); } }
+
sub ::asm_finish
{ &file_end();
print out;
 .
____________________________________________________________
__________
OpenSSL Project http://www.openssl.org
CVS Repository Commit List
openssl-cvs openssl.org
Automated List Manager
majordomo openssl.org
|