Cargo Features

[dependencies]
syd = { version = "3.18.12", default-features = false, features = ["elf", "log", "mimalloc", "oci", "uring", "utils", "inline-more"] }
default = elf, inline-more, mimalloc, utils

These default features are set whenever syd is added without default-features = false somewhere in the dependency tree.

elf default = glob, goblin

Enables ELF parsing.
Optional because it breaks static linking.
SAFETY: It is recommended to keep this enabled.
If you disable this, dynamic libraries of an executable are not checked for access during Exec and Force sandboxing which provides a way for an attacker to execute denylisted paths.

Affects syd::ldd, syd::current_exe_id

Required by the syd-elf binary

log

Enables debug logging.
Include SYD_LOG=debug,trace

Affects proc::proc_cmdline

mimalloc default = mimalloc2-rust

Enables mimalloc with the secure option.
Adds ~10% overhead but makes your heap secure.

oci = chrono, clap, libcgroups, libcontainer, liboci-cli, oci-spec, tabwriter

Build OCI runtime helper "syd-oci"

Required by the syd-oci binary

uring = io-uring

Enables io-uring based integration tests.
This is not used by the main syd binary.

utils default

Build helper utilities.
No reason to disable this unless you want fast build cycles.

Required by syd-cat, syd-cpu, syd-elf, syd-env, syd-err, syd-fork, syd-hex, syd-ldd, syd-load, syd-lock, syd-log, syd-ls, syd-mdwe, syd-mem, syd-open, syd-path, syd-read, syd-run, syd-sha, syd-size, syd-stat, syd-sys, syd-tick and syd-tty binaries

inline-more default

Used by endorphin to inline more functions.

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

mimalloc2-rust mimalloc
io-uring uring?
goblin elf
glob elf
clap oci?

Enables clap

syd-oci deps.

libcgroups oci?
libcontainer oci?
liboci-cli oci?
oci-spec oci?
tabwriter oci?
chrono oci?