build-system/gnu: strip with --strip-unneeded
Apart from debug information, one can also strip some symbols. This can be a significant difference, qtbase:out consists of about 5 MB of those symbols. As per [1], --strip-debug is included in --strip-unneeded, and the debug files created also contain a copy of the information removed by --strip-unneeded. Linux From Scratch suggests that this option shouldn't be used on static libraries [2], however other sources [3] indicate otherwise. Building a toolchain with this patch succeeds, and the result works fine for 'gcc -static hello-world.c'. [1]: https://stackoverflow.com/a/52555093 [2]: http://www.linuxfromscratch.org/lfs/view/9.1/chapter05/stripping.html [3]: https://www.technovelty.org/linux/stripping-shared-libraries.html * guix/build/gnu-build-system.scm (strip): Use --strip-unneeded.
This commit is contained in:
parent
d7f776888b
commit
f32a6055a5
|
@ -425,7 +425,7 @@ (define* (strip #:key target outputs (strip-binaries? #t)
|
||||||
(objcopy-command (if target
|
(objcopy-command (if target
|
||||||
(string-append target "-objcopy")
|
(string-append target "-objcopy")
|
||||||
"objcopy"))
|
"objcopy"))
|
||||||
(strip-flags '("--strip-debug"
|
(strip-flags '("--strip-unneeded"
|
||||||
"--enable-deterministic-archives"))
|
"--enable-deterministic-archives"))
|
||||||
(strip-directories '("lib" "lib64" "libexec"
|
(strip-directories '("lib" "lib64" "libexec"
|
||||||
"bin" "sbin"))
|
"bin" "sbin"))
|
||||||
|
|
Loading…
Reference in a new issue