gnu: make-bootstrap: Include libdl.a and libutil.a in ‘glibc-stripped’.

As of glibc 2.39, libdl.so and libutil.so are gone (they are part of
libc proper since 2.34), but empty .a files are provided for backward
compatibility with code using -ldl and -lutil.  Keep them.

* guix/build/make-bootstrap.scm (make-stripped-libc)[%libc-object-files-rx]:
Mach libdl.a and libutil.a.

Change-Id: I967c6f34a443366224293362b8a2302fe86fd5a0
This commit is contained in:
Ludovic Courtès 2024-08-15 16:30:42 +02:00
parent 8b6f33a4d9
commit df38aacc02
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -110,9 +110,11 @@ (define (copy-libc+linux-headers output kernel-headers)
(copy-recursively (string-append libc "/include") incdir) (copy-recursively (string-append libc "/include") incdir)
(copy-linux-headers output kernel-headers))) (copy-linux-headers output kernel-headers)))
;; Include *.so, *.so.*, but also empty ar archives provided for backward
;; compatibility as of libc 2.39: libdl.a and libutil.a.
(define %libc-object-files-rx "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|\ (define %libc-object-files-rx "^(crt.*|ld.*|lib(c|m|dl|rt|pthread|nsl|\
util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\ util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\
_nonshared\\.a)$") _nonshared\\.a|lib(dl|util)\\.a)$")
(setvbuf (current-output-port) 'line) (setvbuf (current-output-port) 'line)
(let* ((libdir (string-append output "/lib"))) (let* ((libdir (string-append output "/lib")))