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)
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?
Reporter | ||
Comment 1•6 years ago
|
||
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
Comment 2•6 years ago
|
||
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.
Updated•6 years ago
|
Version: Version 3 → 3 Branch
Updated•2 years ago
|
Severity: normal → S3
Assignee | ||
Comment 3•2 years ago
|
||
This reduces the archive size while keeping the compiler functional. This does not impact the quality of debug information of the compiled files
Updated•2 years ago
|
Assignee: nobody → sguelton
Status: NEW → ASSIGNED
Pushed by sguelton@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b1b1638ee418
Strip gcc binaries r=glandium
Comment 5•2 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
status-firefox111:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•