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: default output dir under build tree + path printing on exit (Phase 3 of #434) #439
Today fbuild bloat (formerly symbols) writes to wherever the user
points it with --json / --output-dir. The audit trail in FastLED
#2773 had users hand-typing those paths on every invocation. The TL;DR
example from #434:
$ fbuild bloat .
Building esp32s3 (release)...
Analyzing 4,591 symbols (nm via /home/.../xtensa-esp32s3-elf-nm)...
Demangling via /home/.../xtensa-esp32s3-elf-c++filt...
Bloat report:
Flash: 388,380 B across 3,685 symbols
RAM: 37,460 B across 906 symbols
Written to:
/abs/path/.fbuild/build/esp32s3/bloat-report/report.json
/abs/path/.fbuild/build/esp32s3/bloat-report/report.md
What to do
1. Default output directory
When neither --json nor --output-dir is given, default to:
<project>/.fbuild/build/<env>/bloat-report/
Always write bothreport.json and report.md.
Project + env come from the same build_info.json Phase 1 wired in
(via the env field + the build_info file's containing directory).
For ELF-only inputs (no build_info nearby), fall back to writing into
the ELF's parent directory under bloat-report/.
2. Print absolute paths on exit
Always print both written paths verbatim on stdout, one per line, even
when other output was streamed before. Acceptance:
fbuild bloat . 2>&1 | grep -E \"report\.(json|md)\"
# emits exactly two lines, both absolute paths under .fbuild/build/<env>/bloat-report/
3. Wire fbuild build --bloat (alias of legacy --symbol-analysis)
The existing --symbol-analysis flag morphs into --bloat. Keep the
legacy spelling as a hidden alias.
Acceptance
fbuild bloat . with no flags writes both files to the default
directory and prints absolute paths.
fbuild build --bloat . runs the post-link bloat report.
--symbol-analysis keeps working as a hidden alias.
Activity
feat(bloat): default output dir + path printing on exit; build --bloa…
feat(build): default-on post-link bloat report; --no-bloat-report opt…
zackees commentedon Jun 6, 2026
Shipped via merged PR #445.