| Summary: | enable debug compression for compiler flags as default | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Randy MacLeod <randy.macleod> |
| Component: | devtools / tool chain | Assignee: | Sundeep Kokkonda <sundeep.kokkonda> |
| Status: | NEW --- | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | Medium+ | CC: | meta.mr.watcher, meta.watcher, sundeep.kokkonda |
| Version: | 5.3 | ||
| Target Milestone: | 6.1 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Randy MacLeod
2025-02-27 17:09:25 UTC
A quick look at the gcc manual for comparession related flags, reveals:
-gz[=type]
Produce compressed debug sections in DWARF format, if that is
supported. If type is not given, the default type depends on the
capabilities of the assembler and linker used. type may be one of
none (don't compress debug sections), zlib (use zlib compression in
ELF gABI format), or zlib-gnu (use zlib compression in traditional
GNU format). If the linker doesn't support writing compressed
debug sections, the option is rejected. Otherwise, if the
assembler does not support them, -gz is silently ignored when
producing object files.
...
-flto-compression-level=n
This option specifies the level of compression used for
intermediate language written to LTO object files, and is only
meaningful in conjunction with LTO mode (-flto). GCC currently
supports two LTO compression algorithms. For zstd, valid values are
0 (no compression) to 19 (maximum compression), while zlib supports
values from 0 to 9. Values outside this range are clamped to
either minimum or maximum of the supported values. If the option
is not given, a default balanced compression setting is used.
...
-mcompress
Compress all code using the Ft32B code compression scheme.
Ross says we do this for some recipe already. Maybe webkit? Ask Ross if you can't find it. Start with -gz. If we're going to change the default, it should be at the start of a development cycle so moving to 6.1 for now, and 6.0-M1 once those milestones are created. |