1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

build/gnu: Do not attempt to strip Guile byte-compiled files.

This fails and produces noise and spurious debug files.

* guix/build/gnu-build-system.scm (strip) <guile-bytecode?>: New predicate.
Use it to filter out .go files from the files to be stripped.

Change-Id: I3063083a7d04d903d85d28d9526fdec079914fce
This commit is contained in:
Maxim Cournoyer
2025-10-21 19:55:54 +09:00
parent 86b4c975e9
commit 2ac2a4877d

View File

@@ -518,6 +518,12 @@ makefiles."
(debug-file file))
file))
(define (guile-bytecode? file)
(and (string-suffix? ".go" file)
(elf-section-by-name
(parse-elf (call-with-input-file file get-bytevector-all))
".guile.procprops")))
(define (strip-dir dir)
(format #t "stripping binaries in ~s with ~s and flags ~s~%"
dir strip-command strip-flags)
@@ -526,7 +532,11 @@ makefiles."
debug-output objcopy-command))
(for-each (lambda (file)
(when (or (elf-file? file) (ar-file? file))
(when (and (or (elf-file? file) (ar-file? file))
;; XXX: 'strip' (and 'objdump') choke on the Guile
;; byte-compiled objects, with errors like "Unable
;; to recognise the format of the input file".
(not (guile-bytecode? file)))
;; If an error occurs while processing a file, issue a
;; warning and continue to the next file.
(guard (c ((invoke-error? c)