blazesym 0.2.1

blazesym is a library for address symbolization and related tasks.
Documentation
[[bench]]
harness = false
name = "main"
path = "benches/main.rs"
required-features = ["test"]

[dependencies.cpp_demangle]
optional = true
version = "0.5"

[dependencies.gimli]
optional = true
version = "0.32"

[dependencies.libc]
version = "0.2"

[dependencies.memmap2]
default-features = false
version = "0.9"

[dependencies.miniz_oxide]
default-features = false
features = ["simd", "with-alloc"]
optional = true
version = "0.8"

[dependencies.nom]
optional = true
version = "7"

[dependencies.rustc-demangle]
optional = true
version = "0.1"

[dependencies.tracing]
default-features = false
features = ["attributes"]
optional = true
version = "0.1.38"

[dependencies.zstd]
default-features = false
optional = true
version = "0.13.3"

[dev-dependencies.addr2line]
version = "=0.25.1"

[dev-dependencies.anyhow]
version = "1.0"

[dev-dependencies.criterion]
default-features = false
features = ["rayon", "cargo_bench_support"]
version = "0.7"

[dev-dependencies.rand]
default-features = false
features = ["std", "thread_rng"]
version = "0.9"

[dev-dependencies.scopeguard]
version = "1.2"

[dev-dependencies.stats_alloc]
features = ["nightly"]
version = "0.1.1"

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.test-fork]
version = "0.1"

[dev-dependencies.test-log]
default-features = false
features = ["trace"]
version = "0.2.18"

[dev-dependencies.test-tag]
version = "0.1.3"

[[example]]
name = "addr2ln"
path = "examples/addr2ln.rs"

[[example]]
name = "addr2ln_pid"
path = "examples/addr2ln_pid.rs"

[[example]]
name = "backtrace"
path = "examples/backtrace.rs"

[[example]]
name = "inspect-mangled"
path = "examples/inspect-mangled.rs"
required-features = ["demangle", "blazesym-dev/generate-unit-test-files"]

[[example]]
name = "normalize-virt-offset"
path = "examples/normalize-virt-offset.rs"

[features]
apk = []
backtrace = []
bpf = []
breakpad = ["dep:nom"]
default = ["backtrace", "demangle", "dwarf", "zlib"]
demangle = ["dep:cpp_demangle", "dep:rustc-demangle"]
dwarf = ["dep:gimli"]
gsym = []
nightly = []
test = []
tracing = ["dep:tracing"]
zlib = ["dep:miniz_oxide"]
zstd = ["dep:zstd"]

[lib]
name = "blazesym"
path = "src/lib.rs"

[lints.clippy]
absolute-paths = "warn"
allow-attributes = "warn"
clone-on-ref-ptr = "warn"
collapsible-else-if = "allow"
collapsible-if = "allow"
dbg-macro = "warn"
doc-markdown = "warn"
fn-to-numeric-cast = "allow"
join-absolute-paths = "warn"
large-enum-variant = "warn"
let-and-return = "allow"
let-unit-value = "allow"
module-inception = "allow"
redundant-closure-for-method-calls = "warn"
type-complexity = "allow"
unchecked-duration-subtraction = "warn"
uninlined-format-args = "warn"
wildcard-imports = "warn"

[lints.rust]
deprecated-safe = "warn"
future-incompatible = "warn"
keyword-idents = "warn"
let-underscore = "warn"
missing-debug-implementations = "warn"
missing-docs = "warn"
trivial-numeric-casts = "warn"
unsafe-op-in-unsafe-fn = "warn"
unused = "warn"

[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(has_procmap_query_ioctl)", "cfg(has_large_test_files)"]
level = "warn"
priority = 0

[package]
authors = ["Daniel Müller <deso@posteo.net>", "Kui-Feng <thinker.li@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = "build.rs"
categories = ["algorithms", "api-bindings", "development-tools::debugging", "os::unix-apis", "value-formatting"]
description = "blazesym is a library for address symbolization and related tasks."
documentation = "https://docs.rs/blazesym"
edition = "2021"
exclude = ["data/kallsyms.xz"]
homepage = "https://github.com/libbpf/blazesym"
keywords = ["dwarf", "elf", "gsym", "stacktrace", "tracing"]
license = "BSD-3-Clause"
name = "blazesym"
readme = "README.md"
repository = "https://github.com/libbpf/blazesym"
rust-version = "1.75"
version = "0.2.1"

[package.metadata.docs.rs]
features = ["apk", "backtrace", "breakpad", "demangle", "dwarf", "gsym"]
rustdoc-args = ["--cfg", "docsrs"]

[profile.bench]
codegen-units = 256
lto = false

[profile.release]
codegen-units = 1
debug = 2
lto = true
opt-level = 3

[target.'cfg(target_os = "linux")'.dev-dependencies]

[[test]]
name = "allocs"
path = "tests/allocs.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"
required-features = ["test"]