Closed Bug 1466973 Opened 6 years ago Closed 2 years ago

GCC toolchain archives contain hundreds of megabytes of debug symbols

Categories

(Firefox Build System :: Toolchains, enhancement)

3 Branch
enhancement

Tracking

(firefox111 fixed)

RESOLVED FIXED
111 Branch
Tracking Status
firefox111 --- fixed

People

(Reporter: gps, Assigned: sergesanspaille)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

At least the GCC 7 toolchain is archiving unstripped binaries. If you run `strip` on all binaries in the archive, the archive size is reduced by a few hundred MB. Do we actually need debug symbols in the toolchain binaries? Or can we strip them (and possibly package debug symbols separately) to cut down on the overhead for downloading and extracting these archives on every task in CI?
Files over 2 MB in the GCC 6.4 toolchain archive: 171490096 gcc/libexec/gcc/x86_64-pc-linux-gnu/6.4.0/cc1plus 161340528 gcc/libexec/gcc/x86_64-pc-linux-gnu/6.4.0/cc1 155140592 gcc/libexec/gcc/x86_64-pc-linux-gnu/6.4.0/lto1 19952928 gcc/lib64/libstdc++.a 15483758 gcc/lib64/libasan.a 15441534 gcc/lib/libbfd.a 11407320 gcc/lib64/libstdc++.so.6.0.22 10847138 gcc/lib32/libstdc++.a 9070616 gcc/lib64/libtsan.a 9017808 gcc/lib64/libasan.so.3.0.0 8989592 gcc/lib32/libstdc++.so.6.0.22 8552383 gcc/bin/ld 8542400 gcc/bin/objdump 8297475 gcc/bin/as 7881758 gcc/lib32/libasan.a 6960836 gcc/bin/objcopy 6960835 gcc/bin/strip 6706230 gcc/lib64/libstdc++fs.a 6524891 gcc/bin/gprof 6511180 gcc/lib32/libasan.so.3.0.0 6260850 gcc/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libgcc.a 6136465 gcc/bin/ranlib 6136442 gcc/bin/ar 6005742 gcc/bin/nm 5961808 gcc/bin/addr2line 5950064 gcc/bin/size 5949256 gcc/bin/strings 5911490 gcc/bin/c++filt 5533856 gcc/lib64/libtsan.so.0.0.0 5216492 gcc/lib/gcc/x86_64-pc-linux-gnu/6.4.0/32/libgcc.a 4541600 gcc/bin/g++ 4537728 gcc/bin/cpp 4534496 gcc/bin/x86_64-pc-linux-gnu-gcc 3978216 gcc/libexec/gcc/x86_64-pc-linux-gnu/6.4.0/lto-wrapper 3732846 gcc/lib64/liblsan.a 3462358 gcc/lib32/libstdc++fs.a 3343560 gcc/libexec/gcc/x86_64-pc-linux-gnu/6.4.0/collect2 3244640 gcc/lib64/libubsan.a 3126256 gcc/bin/gcov 3077256 gcc/bin/gcov-tool 2850976 gcc/bin/gcov-dump 2640252 gcc/lib/libopcodes.a 2310304 gcc/lib64/liblsan.so.0.0.0 2089000 gcc/lib64/libubsan.so.0.0.0
We'd presumably want to keep them in the .a files because those might get linked into binaries we produce, but not in the binaries or shared libs, for sure.
Version: Version 3 → 3 Branch
Severity: normal → S3
Attached file Bug 1466973 - Strip gcc binaries (deleted) —

This reduces the archive size while keeping the compiler functional. This does not impact the quality of debug information of the compiled files

Assignee: nobody → sguelton
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: