ELF::Extract::Sections::Scanner::Objdump - An objdump based section scanner.
This module is a model implementation of a Naive and system reliant ELF Section detector. Its currently highly inefficient due to having to run the entire ELF through a disassembly process to determine the section positions and only guesses at section lengths by advertising that it can't compute sizes.
TO use this module, simply initialise ELF::Extract::Sections as so
my $extractor = ELF::Extract::Sections->new( file => "/path/to/file.so" , scanner => "Objdump", );
Lots of keywords.
Type Constraining Keywords.
File Type Constraints w/ Path::Tiny
Opens the file and assigns our state to that file.
Advances our state to the next section.
Reports the offset of the currently open section
Dies, because this module can't compute section sizes.
Returns the name of the current section
A regular expression for identifying the
Style tokens that denote objdump header names.
Note: This is not XML.
A regular expression for identifying offset blocks in objdump's output.
They look like this:
File Offset: 0xdeadbeef
A regular expression for extracting Headers and Offsets together
<headername> File Offset: 0xdeadbeef
A Path::Tiny reference to a file somewhere on a system
A perl FileHandle that points to the output of objdump for "_file"
Keeps track of what we're doing, and what the next header is to return.
Returns is-set of "_state"
Calls the system
objdump instance for the currently processing file.
Kent Fredric <email@example.com>
This software is copyright (c) 2015 by Kent Fredric <firstname.lastname@example.org>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.