summaryrefslogtreecommitdiff
path: root/ext/B
diff options
context:
space:
mode:
Diffstat (limited to 'ext/B')
-rw-r--r--ext/B/B/Bytecode.pm4
-rw-r--r--ext/B/B/Disassembler.pm7
2 files changed, 9 insertions, 2 deletions
diff --git a/ext/B/B/Bytecode.pm b/ext/B/B/Bytecode.pm
index 27003b6bd0..941a818f6b 100644
--- a/ext/B/B/Bytecode.pm
+++ b/ext/B/B/Bytecode.pm
@@ -654,8 +654,8 @@ sub bytecompile_main {
warn "done main program, now walking symbol table\n" if $debug_bc;
my ($pack, %exclude);
foreach $pack (qw(B O AutoLoader DynaLoader XSLoader Config DB VMS strict vars
- FileHandle Exporter Carp UNIVERSAL IO Fcntl Symbol
- SelectSaver blib Cwd))
+ FileHandle Exporter Carp UNIVERSAL IO Fcntl Symbol warnings
+ attributes File::Spec SelectSaver blib Cwd))
{
$exclude{$pack."::"} = 1;
}
diff --git a/ext/B/B/Disassembler.pm b/ext/B/B/Disassembler.pm
index d054a2d164..212532b9ce 100644
--- a/ext/B/B/Disassembler.pm
+++ b/ext/B/B/Disassembler.pm
@@ -31,6 +31,13 @@ sub GET_U16 {
return unpack("n", $str);
}
+sub GET_NV {
+ my $fh = shift;
+ my $str = $fh->readn(8);
+ croak "reached EOF while reading NV" unless length($str) == 8;
+ return unpack("N", $str);
+}
+
sub GET_U32 {
my $fh = shift;
my $str = $fh->readn(4);