build-system/gnu: strip with --strip-unneeded [v2]
[Accidentally pushed patch v1, this commit contains the rest of the changes. Revised commit message follows.] Apart from debug information, one can also strip some symbols. This can be a significant difference, the closure of gcc-toolchain@7 got reduced by 15 MB in my tests. 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. * guix/build-system/gnu.scm (static-package, gnu-build, gnu-cross-build): Likewise.
This commit is contained in:
parent
f32a6055a5
commit
e0f31baacc
1 changed files with 3 additions and 3 deletions
|
@ -215,7 +215,7 @@ (define* (static-package p #:key (strip-all? #t))
|
|||
(arguments
|
||||
(let ((a (default-keyword-arguments (package-arguments p)
|
||||
'(#:configure-flags '()
|
||||
#:strip-flags '("--strip-debug")))))
|
||||
#:strip-flags '("--strip-unneeded")))))
|
||||
(substitute-keyword-arguments a
|
||||
((#:configure-flags flags)
|
||||
`(cons* "--disable-shared" "LDFLAGS=-static" ,flags))
|
||||
|
@ -337,7 +337,7 @@ (define* (gnu-build store name input-drvs
|
|||
(parallel-tests? #t)
|
||||
(patch-shebangs? #t)
|
||||
(strip-binaries? #t)
|
||||
(strip-flags ''("--strip-debug"
|
||||
(strip-flags ''("--strip-unneeded"
|
||||
"--enable-deterministic-archives"))
|
||||
(strip-directories ''("lib" "lib64" "libexec"
|
||||
"bin" "sbin"))
|
||||
|
@ -492,7 +492,7 @@ (define* (gnu-cross-build store name
|
|||
(parallel-build? #t) (parallel-tests? #t)
|
||||
(patch-shebangs? #t)
|
||||
(strip-binaries? #t)
|
||||
(strip-flags ''("--strip-debug"
|
||||
(strip-flags ''("--strip-unneeded"
|
||||
"--enable-deterministic-archives"))
|
||||
(strip-directories ''("lib" "lib64" "libexec"
|
||||
"bin" "sbin"))
|
||||
|
|
Loading…
Reference in a new issue