Why do existing ELF tools (strip/objcopy) not reduce section and symbol name sizes further?
06:19 23 Jan 2026

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?

assembly elf binutils