Change 13830 by jhi@alpha on 2001/12/21 13:42:31
packing I32 with L is not nice, need l; from Wolfgang Laun.
Affected files ...
.... //depot/perl/ext/B/B/Assembler.pm#13 edit
.... //depot/perl/ext/B/B/Disassembler.pm#8 edit
.... //depot/perl/ext/B/t/assembler.t#2 edit
Differences ...
==== //depot/perl/ext/B/B/Assembler.pm#13 (text) ====
Index: perl/ext/B/B/Assembler.pm
--- perl/ext/B/B/Assembler.pm.~1~ Fri Dec 21 06:45:06 2001
+++ perl/ext/B/B/Assembler.pm Fri Dec 21 06:45:06 2001
@@ -72,7 +72,7 @@
}
sub B::Asmdata::PUT_I32 {
my $arg = limcheck( $_[0], -0x80000000, 0x7fffffff, 'I32' );
- pack("L", $arg);
+ pack("l", $arg);
}
sub B::Asmdata::PUT_NV { sprintf("%s\0", $_[0]) } # "%lf" looses precision and
pack('d',...)
# may not even be portable between
compilers
==== //depot/perl/ext/B/B/Disassembler.pm#8 (text) ====
Index: perl/ext/B/B/Disassembler.pm
--- perl/ext/B/B/Disassembler.pm.~1~ Fri Dec 21 06:45:06 2001
+++ perl/ext/B/B/Disassembler.pm Fri Dec 21 06:45:06 2001
@@ -56,7 +56,7 @@
my $fh = shift;
my $str = $fh->readn(4);
croak "reached EOF while reading I32" unless length($str) == 4;
- return cast_I32(unpack("L", $str));
+ return unpack("l", $str);
}
sub GET_objindex {
==== //depot/perl/ext/B/t/assembler.t#2 (text) ====
Index: perl/ext/B/t/assembler.t
--- perl/ext/B/t/assembler.t.~1~ Fri Dec 21 06:45:06 2001
+++ perl/ext/B/t/assembler.t Fri Dec 21 06:45:06 2001
@@ -197,7 +197,7 @@
#
sub gen_type($$$){
my( $href, $descref, $text ) = @_;
- for my $odt ( keys( %opsByType ) ){
+ for my $odt ( sort( keys( %opsByType ) ) ){
my $opcode = $opsByType{$odt}->[0];
my $sel = $odt;
$sel =~ s/^GET_//;
End of Patch.