[gold][patch] Add option to strip LTO sections from output
Ian Lance Taylor
iant@google.com
Fri Dec 5 05:32:00 GMT 2008
Cary Coutant <ccoutant@google.com> writes:
> This patch adds a --strip-lto-sections option to gold, which tells it
> to ignore any PROGBITS section where SHF_ALLOC is not set and whose
> name begins with ".gnu.lto_".
>
> It may be worth making this the default behavior.
I agree that it seems simpler to make this the default behaviour.
Does anybody see a problem with that?
Really we should modify gas to always recognize 'e' as a section flag
setting SHF_EXCLUDE, and modify ld and gold to always recognize
SHF_EXCLUDE. That flag seems generically useful, and given its use by
several targets it seems quite unlikely that it will ever get another
meaning for generic ELF.
> + // Ignore LTO sections containing intermediate code if requested.
> + if (parameters->options().strip_lto_sections()
> + && shdr.get_sh_type() == elfcpp::SHT_PROGBITS
> + && (shdr.get_sh_flags() & elfcpp::SHF_ALLOC) == 0)
> + {
> + const char* const lto_prefix = ".gnu.lto_";
> + if (strncmp(name, lto_prefix, strlen(lto_prefix)) == 0)
> + omit[i] = true;
> + }
Please do this in Layout::include_section instead, like
--strip-debug-gdb, etc.
Ian
More information about the Binutils
mailing list