From df38aacc02d3a6fb05717430f0d3e3bb43421d9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 15 Aug 2024 16:30:42 +0200 Subject: [PATCH] =?UTF-8?q?gnu:=20make-bootstrap:=20Include=20libdl.a=20an?= =?UTF-8?q?d=20libutil.a=20in=20=E2=80=98glibc-stripped=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- guix/build/make-bootstrap.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/build/make-bootstrap.scm b/guix/build/make-bootstrap.scm index 6cb5262f8e..287e4db2c7 100644 --- a/guix/build/make-bootstrap.scm +++ b/guix/build/make-bootstrap.scm @@ -110,9 +110,11 @@ (define (copy-libc+linux-headers output kernel-headers) (copy-recursively (string-append libc "/include") incdir) (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|\ util).*\\.so(\\..*)?|lib(machuser|hurduser).so.*|(libc(rt|)|libpthread)\ -_nonshared\\.a)$") +_nonshared\\.a|lib(dl|util)\\.a)$") (setvbuf (current-output-port) 'line) (let* ((libdir (string-append output "/lib")))