When working with very small ELF binaries (hand-written assembly, -nostdlib),
I noticed that tools like strip only remove symbols entirely,
but do not attempt to shorten remaining section or symbol names.
For example:
- section names like ".text", ".rodata"
- local symbol names kept for relocations or debugging
My question is not about obfuscation, but about size constraints.
Are there technical, ABI, or tooling reasons why:
- section names are not minimized (e.g. renamed to 1–2 bytes)?
- local symbol names are not rewritten to shorter identifiers post-link?
Specifically:
- would this violate the ELF specification?
- would it break loaders, debuggers, or relocation handling?
- or is it simply not a common enough use case for existing tools?