1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! FASM symbolic-dump loader for radare2.
//!
//! # What this crate is
//!
//! FASM can write a proprietary `.fas` file with `fasm source.s -s dump.fas`.
//! radare2 does not understand that format. This crate is a **core plugin**
//! (`core_fas.so`) that parses the dump and feeds r2 the same things DWARF
//! would have provided: named flags, source line maps (`CL`), comments, data
//! sizes, and function starts.
//!
//! After `make install`, opening a FASM binary whose sibling dump exists is
//! enough:
//!
//! ```text
//! fasm hello.asm -s hello.fas
//! r2 -d ./hello
//! # pd @ start already shows names and hello.asm:line
//! ```
//!
//! **Caution:** this crate is totally vibecoded. Use it with caution.
//! Authors: Hamid R. K. Pishghadam and Cursor AI.
//!
//! Autoload looks next to the binary for `*.fas`, the same sidecar idea as
//! `pdb.autoload`, but on by default.
//!
//! # Crate layout
//!
//! - [`fas`] — pure parser (no r2 types); safe to unit-test
//! - [`session`] — debugger-facing labels / addrline derived from a parse
//! - [`discover`] — sibling-file search
//! - `apply` / `plugin` — radare2 integration (crate feature `plugin`, on by default)
//!
//! # Building documentation
//!
//! ```text
//! cargo doc --document-private-items --no-deps --open
//! ```
pub use ;
pub use FasFile;
pub use DebugInfo;
/// Keep the cdylib from stripping the radare2 entry symbol.
static _RADARE_PLUGIN: &LibraryPlugin = &radare_plugin;