Bloat Bdscr | Best Pick |

Always audit your linker scripts and descriptor data structures – especially when porting code across different flash architectures or toolchains.

bloaty -d sections firmware.elf | grep bdscr Bloat in bdscr is a subtle but impactful inefficiency in embedded and low-level software. It stems from over-alignment, static allocation, and leftover debug structures. Detecting it requires basic binary inspection tools; fixing it yields measurable gains in size, speed, and maintainability. bloat bdscr

bdscr_t blocks[256]; // 256 * 32 bytes = 8KB Use: Always audit your linker scripts and descriptor data

.bdscr : KEEP(*(.bdscr)) . = ALIGN(4096); // Over-alignment > FLASH With: and maintainability. bdscr_t blocks[256]

.bdscr : ALIGN(4) KEEP(*(.bdscr)) > FLASH Instead of:

Example bloaty command: