diff options
author | Daniel Bertalan <dani@danielbertalan.dev> | 2021-10-28 12:26:24 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-11-08 01:39:07 +0100 |
commit | 20bea3feff7f15f413b9b9d6610aef87efa32557 (patch) | |
tree | f04b35638befb40be2aecfef9f035884d21269bd /Userland/Libraries/LibSymbolication | |
parent | 05cb72e2c32c7535fec0bfce71256f2d958ebf73 (diff) | |
download | serenity-20bea3feff7f15f413b9b9d6610aef87efa32557.zip |
LibC: Fix huge libc.a file size due to the use of `llvm-ar -q`
Before this change, we would generate the static C library by running
the command `ar -qcs` to collect the various `*.o` files into a single
archive.
The `q` option stands for "quick append", which simply appends new files
to the archive, without replacing any pre-existing entries for the same
file. The problem with this is obvious: each LibC rebuild would add
approximately 1 MB (the size of a cleanly built libc.a) to the size of
the file. It got so bad on my machine that the total file size ended up
being 3 gigabytes.
Note that this did not affect the GNU toolchain, because, as the `ar(1)`
manpage says:
> Note - GNU ar treats the command qs as a synonym for r - replacing
> already existing files in the archive and appending new ones at the
> end.
Diffstat (limited to 'Userland/Libraries/LibSymbolication')
0 files changed, 0 insertions, 0 deletions