Commit Graph

27 Commits

Author SHA1 Message Date
Philip Craig 96d01ab03c macho: add more section kinds 2019-06-23 13:47:13 +10:00
Philip Craig cc830d73f0 Add COFF support 2019-06-06 14:50:22 +10:00
Philip Craig 62edce6bb1 objdump: print symbols 2019-04-21 14:55:32 +10:00
Philip Craig f00f23e1ac Add SymbolIndex
and return it from the iterators
2019-04-21 14:55:32 +10:00
Philip Craig 49142b2367 Add more SectionKind variants 2019-04-21 14:47:26 +10:00
Philip Craig c600365c7c Delete Symbol::section_kind
This didn't map cleanly to all object file formats, and can be obtained
via Symbol::section_index instead.

Also, SymbolKind::Unknown is now used more often, instead of trying to
derive something from the section kind.
2019-04-11 15:04:05 +10:00
Lzu Tao 291157e5e0 Run cargo fix --all --examples --edition-idioms 2019-03-28 00:14:31 +07:00
Lzu Tao 7d33b55ff0 cargo fmt 2019-03-28 00:12:06 +07:00
Lzu Tao d49e87038f Fix(edition) Remove unnecessary use statement 2019-03-27 23:52:18 +07:00
Lzu Tao 271fe01587 fix(edition) extern crate -> use 2019-03-27 21:55:03 +07:00
Lzu Tao 4a79ae900b Modernize nm examples 2019-03-26 10:11:52 +07:00
Philip Craig 7ca60561d1 cargo fmt 2019-03-24 18:38:03 +10:00
Philip Craig ab63dca09c Implement some ELF/Mach-O relocations 2018-10-24 12:53:07 +10:00
Philip Craig 5ce5e494f2 Run rustfmt 0.99.1-stable 2018-10-24 12:53:07 +10:00
Philip Craig 1345d7e078 Implement debug_file_info() for ELF 2018-05-17 12:40:59 +10:00
Philip Craig 07dca655d9 Add Object::dynamic_symbols 2017-12-07 20:29:12 +10:00
Philip Craig a095ee9569 Add symbol iterators and symbol map
Symbol iterators allow reading symbols without a large allocation,
but does not calculate sizes for Mach-O symbols.

The symbol map is suitable for use in addr2line. It does calculate
symbol sizes, and these symbols can be iterated it desired.
2017-12-07 19:29:39 +10:00
Philip Craig 3f58b85480 Add iterator for segments in a file 2017-11-02 18:03:57 +10:00
Philip Craig 1bed32cf64 Change Symbol::name to Option<&str>
Because goblin is already parsing them as str, and for consistency with
section names.
2017-11-01 18:29:23 +10:00
Philip Craig a5181a7fc8 Rename getters in Object trait 2017-11-01 18:05:22 +10:00
Philip Craig 16c26860e2 Add Object trait 2017-10-31 17:54:30 +10:00
Philip Craig eabe3d2d86 Fix clippy warnings 2017-10-31 17:54:30 +10:00
Philip Craig 45e07e62ff Run rustfmt 0.2.13-nightly 2017-10-31 17:54:24 +10:00
Dan Burkert 997706eba5 Update to memmap 0.6
`memmap` 0.6.0 introduces major API changes in anticipation of a 1.0
release. See https://github.com/danburkert/memmap-rs/releases/tag/0.6.0
for more information. CC danburkert/memmap-rs#33.
2017-10-28 22:43:47 -07:00
Jeff Muizelaar d87d56f47f Add an API for iterating over the sections in a file
This adds SectionIterator which has an enum inside which lets
us store more data than using a trait object would. Unfortunatelly,
this solutions ends up a little verbose, but we get nice type safety
out of it. Fixes #16
2017-10-27 00:47:33 -04:00