You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fbuild bloat: rename 'symbols' subcommand + drop flag dependencies (Phase 2 of #434) #438
Phase 2 of #434 (the fbuild bloat meta). Depends on #428 (Phase 1 —
build_info toolchain paths), which lands via #436.
fbuild symbols works but the name is wrong (symbolize in industry
usage means address→symbol resolution for crash dumps). cargo bloat
and Google's bloaty are the de-facto names for per-symbol size
analysis. Align the CLI vocabulary.
What to do
1. Rename Commands::Symbols → Commands::Bloat
crates/fbuild-cli/src/cli/args.rs: rename the variant. Add clap
alias #[command(alias = \"symbols\")] so fbuild symbols ... keeps
working through 2.3.x (hidden from --help).
crates/fbuild-cli/src/cli/dispatch.rs: update the match arm.
crates/fbuild-cli/src/cli/symbols_cmd.rs: rename the module to bloat_cmd.rs; rename run_symbols → run_bloat.
Update crates/fbuild-cli/src/cli/tests.rs and any other call sites.
2. Hide flag dependencies from --help
Today --nm / --cppfilt / --map are advertised. Post-#428 they're
overrides — present but #[arg(hide = true)] so the public surface
becomes just:
Today the input arg is \"ELF or project directory\". Phase 2 keeps
both forms working, but the doc string + --help text leads with the
project-dir form (which auto-resolves the ELF via discover_elf_in_project).
4. Error message wording
When build_info.json is missing the new toolchain fields (older
fbuild emitter), error out with:
run fbuild build first so build_info.json carries nm_path
Same shape as the current resolver's error in crates/fbuild-cli/src/cli/symbols_cmd.rs::run_symbols.
Acceptance
fbuild bloat . works zero-flag against a fbuild-built project on
every supported platform.
fbuild symbols . (legacy alias) still works, prints no
deprecation warning yet (deprecation lands in 2.4.0).
fbuild bloat --help does not mention --nm, --cppfilt, or --map.
Activity
feat(bloat): rename `fbuild symbols` to `fbuild bloat` (#443)
feat(build): default-on post-link bloat report; --no-bloat-report opt…
zackees commentedon Jun 6, 2026
Shipped via merged PR #443.