Binutils-Objdump

 view release on metacpan or  search on metacpan

lib/Binutils/Objdump.pm  view on Meta::CPAN


# The labels and their wrappers, that will be used during
# parsing process.
our %objdumpwrappers = (
    # Dynamic symbol table
    'DYNAMIC SYMBOL TABLE:'               => [sub { __objdumpinfo(['dynamic symbol table'        ] , @_) }], # -T
    # The summary information from the section headers of the object file
    'Sections:'                           => [sub { __objdumpinfo(['sections'                    ] , @_) }], # -h
    # The symbol table entries of the file
    'SYMBOL TABLE:'                       => [sub { __objdumpinfo(['symbol table'                ] , @_) }], # -t
    # The dynamic relocation entries of the file
    'DYNAMIC RELOCATION RECORDS:'         => [sub { __objdumpinfo(['dynamic relocation records'  ] , @_) }], # -R
    # Dump contents of section...
    'Contents of section .interp'         => [sub { __objdumpinfo(['contents' , '.interp'        ] , @_) }],
    'Contents of section .note.ABI-tag'   => [sub { __objdumpinfo(['contents' , '.note.ABI-tag'  ] , @_) }],
    'Contents of section .hash'           => [sub { __objdumpinfo(['contents' , '.hash'          ] , @_) }],
    'Contents of section .gnu.hash'       => [sub { __objdumpinfo(['contents' , '.gnu.hash'      ] , @_) }],
    'Contents of section .dynsym'         => [sub { __objdumpinfo(['contents' , '.dynsym'        ] , @_) }],
    'Contents of section .dynstr'         => [sub { __objdumpinfo(['contents' , '.dynstr'        ] , @_) }],
    'Contents of section .gnu.version'    => [sub { __objdumpinfo(['contents' , '.gnu.version'   ] , @_) }],
    'Contents of section .gnu.version_r'  => [sub { __objdumpinfo(['contents' , '.gnu.version_r' ] , @_) }],
    'Contents of section .rel.dyn'        => [sub { __objdumpinfo(['contents' , '.rel.dyn'       ] , @_) }],

lib/Binutils/Objdump.pm  view on Meta::CPAN

        }
        # Run the last wrapper if such defined...
        do { for (@$wrappers) { $_->(@buff) if defined $_ } } if defined $wrappers;

	push @infos, $info;
    }

    return @infos;
}

sub objdump_dynamic_reloc_info { if (defined (my $lines = $objdumpinfo{'dynamic relocation records'})) { return @$lines } }
sub objdump_symtab { if (defined (my $lines = $objdumpinfo{'symbol table'})) { return @$lines } }
sub objdump_section_headers { if (defined (my $lines = $objdumpinfo{'sections'})) { return @$lines } }
sub objdump_dynamic_symtab { if (defined (my $lines = $objdumpinfo{'dynamic symbol table'})) { return @$lines } }
sub objdump_sec_contents { if (defined $_[0] && defined (my $lines = $objdumpinfo{'contents'}->{$_[0]})) { return @$lines } }
sub objdump_sec_disasm { if (defined $_[0] && defined (my $lines = $objdumpinfo{'disassembly'}->{$_[0]})) { return @$lines } }

1;

__END__

lib/Binutils/Objdump.pm  view on Meta::CPAN


Default wrapper for summary information from the section headers of the object file. 
Returns lines.

=item B<objdump_symtab()>

Default wrapper for symbol table entries of the file. Returns lines.

=item B<objdump_dynamic_reloc_info()>

Default wrapper for dynamic relocation entries of the file. Returns lines.

=item B<objdump_sec_contents($section)>

Default wrapper for contents of section C<$section>. Returns lines for
correspond section.

=item B<objdump_sec_disasm($section)>

Default wrapper for disassembly of section C<$section>. Returns lines for
correspond section.

lib/Binutils/Objdump.pm~  view on Meta::CPAN


# The labels and their wrappers, that will be used during
# parsing process.
our %objdumpwrappers = (
    # Dynamic symbol table
    'DYNAMIC SYMBOL TABLE:'               => [sub { __objdumpinfo(['dynamic symbol table'        ] , @_) }], # -T
    # The summary information from the section headers of the object file
    'Sections:'                           => [sub { __objdumpinfo(['sections'                    ] , @_) }], # -h
    # The symbol table entries of the file
    'SYMBOL TABLE:'                       => [sub { __objdumpinfo(['symbol table'                ] , @_) }], # -t
    # The dynamic relocation entries of the file
    'DYNAMIC RELOCATION RECORDS:'         => [sub { __objdumpinfo(['dynamic relocation records'  ] , @_) }], # -R
    # Dump contents of section...
    'Contents of section .interp'         => [sub { __objdumpinfo(['contents' , '.interp'        ] , @_) }],
    'Contents of section .note.ABI-tag'   => [sub { __objdumpinfo(['contents' , '.note.ABI-tag'  ] , @_) }],
    'Contents of section .hash'           => [sub { __objdumpinfo(['contents' , '.hash'          ] , @_) }],
    'Contents of section .gnu.hash'       => [sub { __objdumpinfo(['contents' , '.gnu.hash'      ] , @_) }],
    'Contents of section .dynsym'         => [sub { __objdumpinfo(['contents' , '.dynsym'        ] , @_) }],
    'Contents of section .dynstr'         => [sub { __objdumpinfo(['contents' , '.dynstr'        ] , @_) }],
    'Contents of section .gnu.version'    => [sub { __objdumpinfo(['contents' , '.gnu.version'   ] , @_) }],
    'Contents of section .gnu.version_r'  => [sub { __objdumpinfo(['contents' , '.gnu.version_r' ] , @_) }],
    'Contents of section .rel.dyn'        => [sub { __objdumpinfo(['contents' , '.rel.dyn'       ] , @_) }],

lib/Binutils/Objdump.pm~  view on Meta::CPAN

	  }
      } if (scalar(keys %passed_labels) < scalar(keys %objdumpwrappers));
      push @buff, $line;
  }
    # Run the last wrapper if such defined...
    do { for (@$wrappers) { $_->(@buff) if defined $_ } } if defined $wrappers;
    
    return $info;
}

sub objdump_dynamic_reloc_info { if (defined (my $lines = $objdumpinfo{'dynamic relocation records'})) { return @$lines } }
sub objdump_symtab { if (defined (my $lines = $objdumpinfo{'symbol table'})) { return @$lines } }
sub objdump_section_headers { if (defined (my $lines = $objdumpinfo{'sections'})) { return @$lines } }
sub objdump_dynamic_symtab { if (defined (my $lines = $objdumpinfo{'dynamic symbol table'})) { return @$lines } }
sub objdump_sec_contents { if (defined $_[0] && defined (my $lines = $objdumpinfo{'contents'}->{$_[0]})) { return @$lines } }
sub objdump_sec_disasm { if (defined $_[0] && defined (my $lines = $objdumpinfo{'disassembly'}->{$_[0]})) { return @$lines } }

1;

__END__

lib/Binutils/Objdump.pm~  view on Meta::CPAN


Default wrapper for summary information from the section headers of the object file. 
Returns lines.

=item B<objdump_symtab()>

Default wrapper for symbol table entries of the file. Returns lines.

=item B<objdump_dynamic_reloc_info()>

Default wrapper for dynamic relocation entries of the file. Returns lines.

=item B<objdump_sec_contents($section)>

Default wrapper for contents of section C<$section>. Returns lines for
correspond section.

=item B<objdump_sec_disasm($section)>

Default wrapper for disassembly of section C<$section>. Returns lines for
correspond section.



( run in 0.953 second using v1.01-cache-2.11-cpan-71847e10f99 )