cvsuser 01/09/19 12:54:12
Modified: . assemble.pl
Log:
Missed a couple of changes for 64 bit portability.
Revision Changes Path
1.28 +5 -5 parrot/assemble.pl
Index: assemble.pl
===================================================================
RCS file: /home/perlcvs/parrot/assemble.pl,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -w -r1.27 -r1.28
--- assemble.pl 2001/09/19 19:04:20 1.27
+++ assemble.pl 2001/09/19 19:54:12 1.28
@@ -17,7 +17,7 @@
'listing=s'));
if($options{'version'}) {
- print $0,'Version $Id: assemble.pl,v 1.27 2001/09/19 19:04:20 thgibbs Exp $
',"\n";
+ print $0,'Version $Id: assemble.pl,v 1.28 2001/09/19 19:54:12 thgibbs Exp $
',"\n";
exit;
}
@@ -75,7 +75,7 @@
my $line=0;
my %equate=('*'=>sub { return $pc },
'__DATE__'=>'"'.scalar(localtime).'"',
- '__VERSION__'=>'" $Revision: 1.27 $ "',
+ '__VERSION__'=>'" $Revision: 1.28 $ "',
'__LINE__' => sub { return $line });
while(<>) {
$line++;
@@ -103,7 +103,7 @@
while(scalar(@{$local_fixup{$label}})) {
my $op_pc=shift(@{$local_fixup{$label}});
my $offset=shift(@{$local_fixup{$label}});
-
substr($bytecode,$offset,$sizeof{'i'})=pack('l',($pc-$op_pc)/$sizeof{'i'});
+
substr($bytecode,$offset,$sizeof{'i'})=pack($pack_type{'i'},($pc-$op_pc)/$sizeof{'i'});
}
delete($local_fixup{$label});
}
@@ -118,7 +118,7 @@
while(scalar(@{$fixup{$label}})) {
my $op_pc=shift(@{$fixup{$label}});
my $offset=shift(@{$fixup{$label}});
-
substr($bytecode,$offset,$sizeof{'i'})=pack('l',($pc-$op_pc)/$sizeof{'i'});
+
substr($bytecode,$offset,$sizeof{'i'})=pack($pack_type{'i'},($pc-$op_pc)/$sizeof{'i'});
}
delete($fixup{$label});
}
@@ -211,7 +211,7 @@
if (@args != $opcodes{$opcode}{ARGS}) {
error("Wrong arg count--got ".scalar(@args)." needed
".$opcodes{$opcode}{ARGS});
}
- $bytecode .= pack "l", $opcodes{$opcode}{CODE};
+ $bytecode .= pack $pack_type{'i'}, $opcodes{$opcode}{CODE};
$op_pc=$pc;
$pc+=$sizeof{'i'};