From unknown Fri Jun 20 07:13:44 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#54728 <54728@debbugs.gnu.org> To: bug#54728 <54728@debbugs.gnu.org> Subject: Status: Valgrind not working out of the box due to stripped ld.so Reply-To: bug#54728 <54728@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:13:44 +0000 retitle 54728 Valgrind not working out of the box due to stripped ld.so reassign 54728 guix submitter 54728 Denis 'GNUtoo' Carikli severity 54728 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 05 11:00:55 2022 Received: (at submit) by debbugs.gnu.org; 5 Apr 2022 15:00:55 +0000 Received: from localhost ([127.0.0.1]:55824 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nbkfu-0001Xd-MU for submit@debbugs.gnu.org; Tue, 05 Apr 2022 11:00:55 -0400 Received: from lists.gnu.org ([209.51.188.17]:34500) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nbkfn-0001XK-HH for submit@debbugs.gnu.org; Tue, 05 Apr 2022 11:00:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44040) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nbkfn-0007zl-9q for bug-guix@gnu.org; Tue, 05 Apr 2022 11:00:47 -0400 Received: from cyberdimension.org ([80.67.179.20]:54558 helo=gnutoo.cyberdimension.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1nbkfl-00080T-A1 for bug-guix@gnu.org; Tue, 05 Apr 2022 11:00:47 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id cc8907d8 for ; Tue, 5 Apr 2022 14:57:59 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id a6ef30ed for ; Tue, 5 Apr 2022 14:57:59 +0000 (UTC) Date: Tue, 5 Apr 2022 17:01:32 +0200 From: Denis 'GNUtoo' Carikli To: bug-guix@gnu.org Subject: Valgrind not working out of the box due to stripped ld.so Message-ID: <20220405170132.49b23163@primarylaptop.localdomain> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/XXdpK=.Y5jQ=5sWjHB3JNJN"; protocol="application/pgp-signature"; micalg=pgp-sha256 Received-SPF: pass client-ip=80.67.179.20; envelope-from=GNUtoo@cyberdimension.org; helo=gnutoo.cyberdimension.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --Sig_/XXdpK=.Y5jQ=5sWjHB3JNJN Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi, The fact that Valgrind doesn't work out of the box seems to already be known[1] but I didn't find any bugreports on it. The workaround[1] mentioned is extremely useful but it's far from ideal. For instance if you have a software that uses Valgrind in its tests (for instance in 'make check') you end up having to add something like that in the native-inputs to refer to the right glibc debug symbols directory: > ("libc:debug", (@@ (gnu packages commencement) glibc-final) "debug") In my case I'm using guix and a guix.scm for testing the build of a library I maintain and I also wanted to automatically check for memory safety. I was helped a lot on #guix to solve the issue I had, and during that mjw suggested to fix the root issue by keeping "the .symtab in ld.so" without the full debug info (to save space) and if I understood right mjw is a valgrind contributor. According to mjw that could be done with strip -g or strip -d or -strip -S. Reference: ---------- [1]https://lists.gnu.org/archive/html/help-guix/2022-03/msg00036.html Denis. --Sig_/XXdpK=.Y5jQ=5sWjHB3JNJN Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJMWc0ACgkQX138wUF3 4mNUiA//VmQ6ebtuslIgtGLVAsMvcBvQkte6ANrJOVazIiVda5TcvYaApmLYrznl DsDtWhvEO/S0ZgQsKxbTliY6Yr0gPJAkRUtOvlQmysN0AEyhvg/GQxMT/CJz7lFM YYuaCciKKkOzB/HPW9Ft0OwKA1Q8ZgFMd8/uB8tQ8PO9SH9Pqbw+Ahqql20jXLKn zBpkinmD0CmRFauaLgH+WGyk4pp2ePMzg6XH7vaIy9qNFgBiHoNAy2zsRc05/VSP XUXUAwMkqyv1UIvZ3XW7ZcVr2Se+4H8Tg+Rklk4viNkhmqgfIGIQO2X0zxVCg8bY fUxhtT3WYgZNw29oiU+fmnLqZXLTt56AxIN7AU2Q1lDW9VzVWO2/Z2UxIl7BqR+M 1VChnbFkDSJcun2wr09Jee7HgW4O+Yv5BUFcDHtYinHD0KiQTbfHSzy+ILA7OqSo uQW0IexVI36qrsgASnBh4mxzgIpzR26m4eR34nPyvCoEOOPDaqxU8Gun2R6LphHs t7xp1J9CVFoz8Rew7mJWBjh3ZAFCjdIRH5spijDJeViHjgoD4qXv+o1ekFLZqZfT axYLPuHbWjKqNp/sScjtQypHlaylSeUSd1UUaaScNqgsYJeO/6ZyHMOapCiV68RL GNEPoR45rin15Wjq5qbTe8k3TudxAqQyANlZH+6yxKZOOChD7l4= =41RV -----END PGP SIGNATURE----- --Sig_/XXdpK=.Y5jQ=5sWjHB3JNJN-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 07 12:40:39 2022 Received: (at 54728) by debbugs.gnu.org; 7 Apr 2022 16:40:39 +0000 Received: from localhost ([127.0.0.1]:33234 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ncVBX-0002VH-1B for submit@debbugs.gnu.org; Thu, 07 Apr 2022 12:40:39 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46316) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ncVBU-0002V0-LT for 54728@debbugs.gnu.org; Thu, 07 Apr 2022 12:40:37 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:51718) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ncVBM-0007rR-3f; Thu, 07 Apr 2022 12:40:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=4xCL30Zm7GgIVJiXMxNHE4Xe0VQ0rKzXZF1dALukt+Q=; b=ND+2F7n8lHgBbeb5zf4T J8Kxfb20v/5gfdxpyvi31us2eh1Zf/X4TvEVUEbWqkEwjREnVk5+UAfA0Qa/YSfKOXZdF0Lqgv0bm XaZyM8kXE4bgBAXIOQ7VHgy9T9f/5EBbslYeyeK0OxCNqHjmWZqcYnoDoomqgPk1XstRs+jQ0oyfG AT76bX/787Uy/Qt5YS/n5VxFDVk3hgm2XKT6fUq3f1SfC4fFcmT0LjuN8vi+UxgrMscCX5IESY53c 0swlzuXvQH467jRFlcDd2E9SV4pEYGtlYdI0BUkjqOBKN1I2XZcsN7tRbDxQKgL1YRKEDhBH4uDzI 0kJG3FyO/Zpj/Q==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:61412 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ncVB5-0003jb-2O; Thu, 07 Apr 2022 12:40:27 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Denis 'GNUtoo' Carikli Subject: Re: bug#54728: Valgrind not working out of the box due to stripped ld.so References: <20220405170132.49b23163@primarylaptop.localdomain> Date: Thu, 07 Apr 2022 18:40:08 +0200 In-Reply-To: <20220405170132.49b23163@primarylaptop.localdomain> (Denis Carikli's message of "Tue, 5 Apr 2022 17:01:32 +0200") Message-ID: <87mtgwetjr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54728 Cc: 54728@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi, Denis 'GNUtoo' Carikli skribis: > The fact that Valgrind doesn't work out of the box seems to already be > known[1] but I didn't find any bugreports on it. Indeed. Fixed in 6b6fb78724869c03394d0e6dc2f50f0777f6d467 on =E2=80=98core-updates=E2=80=99 as discussed with Mark (mjw) a couple of day= s ago on IRC. Unfortunately, until that branch is merge (most likely a few months from now), we=E2=80=99ll have to use the workaround you mentioned. Alternatively, maybe we could temporarily patch the =E2=80=98valgrind=E2=80= =99 package such that it has =E2=80=98--extra-debuginfo-path=3D=E2=80=A6=E2=80=99 by de= fault. Would you like to give it a try? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 14 19:25:27 2022 Received: (at 54728) by debbugs.gnu.org; 14 Apr 2022 23:25:27 +0000 Received: from localhost ([127.0.0.1]:57592 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nf8q7-0007GR-19 for submit@debbugs.gnu.org; Thu, 14 Apr 2022 19:25:27 -0400 Received: from cyberdimension.org ([80.67.179.20]:60332 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nf8q5-0007GG-M2 for 54728@debbugs.gnu.org; Thu, 14 Apr 2022 19:25:26 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id f0a969ad; Thu, 14 Apr 2022 23:21:09 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 470c9680; Thu, 14 Apr 2022 23:21:09 +0000 (UTC) Date: Fri, 15 Apr 2022 01:26:11 +0200 From: Denis 'GNUtoo' Carikli To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= Subject: Re: bug#54728: Valgrind not working out of the box due to stripped ld.so Message-ID: <20220415012611.6edbf92c@primarylaptop.localdomain> In-Reply-To: <87mtgwetjr.fsf@gnu.org> References: <20220405170132.49b23163@primarylaptop.localdomain> <87mtgwetjr.fsf@gnu.org> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/XMMjosmcAIC6WmFJIINTcOg"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 Cc: 54728@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/XMMjosmcAIC6WmFJIINTcOg Content-Type: multipart/mixed; boundary="MP_/k=WCScshnOW.NNp/=Hcc31M" --MP_/k=WCScshnOW.NNp/=Hcc31M Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Thu, 07 Apr 2022 18:40:08 +0200 Ludovic Court=C3=A8s wrote: > Hi, Hi, > Unfortunately, until that branch is merge (most likely a few months > from now), we=E2=80=99ll have to use the workaround you mentioned. >=20 > Alternatively, maybe we could temporarily patch the =E2=80=98valgrind=E2= =80=99 package > such that it has =E2=80=98--extra-debuginfo-path=3D=E2=80=A6=E2=80=99 by = default. Would you > like to give it a try? That is a good idea. As I need it anyway[1], I've actually worked on doing that through patching Valgrind source code to use better defaults than /usr/lib/debug but there is a couple of things I'm unsure with my patch: - First it works fine in 'guix shell -C' but it still fails in packages. Maybe I didn't patch the right Valgrind? - Then for some reasons guix style messes up the whitespaces with the following command: $ ./pre-inst-env guix style -e \ '(@@ (gnu packages valgrind) valgrind/interactive)'; So I did the style by hand instead, so it might contain mistakes. - And finally I'm not comfortable enough with Valgrind or how it's been used in Guix. As I understand from the comment in the first Valgrind being defined in valgrind.scm, it seems to be depended on by a lot of packages. In addition I've not looked why there is a valgrind/interactive or how it works yet, so someone would need to double check my patch carefuly. I've attached a libsamsung-ipc.scm file as I used that for testing my patch (in addition of just running Valgrind in a Guix shell container and while building this package it fails. I'll send the patch as a response to this mail. References: ----------- [1] At the end of the day I need it to work in both standalone mode and also in package builds as I use a guix.scm to run various compilation and runtime for libsamsung-ipc before pushing patches to the main branch. Denis. --MP_/k=WCScshnOW.NNp/=Hcc31M Content-Type: text/x-scheme Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=libsamsung-ipc.scm ;;; Copyright =C2=A9 2022 Denis Carikli ;;; ;;; This file is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; This file is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License. ;;; If not, see . ;;; ;;; This file is meant to test valgrind support in Guix. ;;; ;;; The libsamsung-ipc library is not ready to be packaged in general ;;; purpose distributions as right now as it requires either a vendor ;;; kernel or the compbinaison of a recent upstream kernel with on top ;;; work in progress out of tree modem drivers, out of tree ;;; libsamsung-ipc code to support theses drivers and kernel patches ;;; to support the nonfree bootloader of the Galaxy SIII ;;; (GT-I9300). Beside the library, the tools are of very limited use ;;; beside testing or reverse engineering. (use-modules (ice-9 popen) (ice-9 rdelim) (sxml ssax input-parse) ((guix licenses) #:prefix license:) (guix build-system android-ndk) (guix build-system gnu) (guix gexp) (guix git-download) (guix packages) (gnu packages android) (gnu packages autotools) (gnu packages commencement) (gnu packages curl) (gnu packages disk) (gnu packages linux) (gnu packages llvm) (gnu packages pkg-config) (gnu packages python) (gnu packages python-xyz) (gnu packages tls) (gnu packages valgrind)) (define-public libsamsung-ipc (package (name "libsamsung-ipc") ;; we use a work in progress version that has support for --with-valgri= nd-tests (version (git-version "0.0" "HEAD" "4d3062db15783c188d6952f7b9b794b65cd= 93f66")) (source (origin (method git-fetch) (uri (git-reference (url "https://git.replicant.us/replicant-next/hardware_replicant_l= ibsamsung-ipc") (commit "4d3062db15783c188d6952f7b9b794b65cd93f66"))) (sha256 (base32 "1jzv9z5rkgcx394akf2svja586z54vhd46pvdmzm3ilmspnvjcdx")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs `(("autoreconf" ,autoconf) ("aclocal" ,automake) ("libcurl" ,curl) ("ddrescue", ddrescue) ;; ("libc:debug", (@@ (gnu packages commencement) glibc-final) "debu= g") ("libtool" ,libtool) ("pkgconfig" ,pkg-config) ("python" ,python) ("python-sh" ,python-sh) ("valgrind" ,valgrind))) (inputs `(("openssl" ,openssl))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'build 'patch-python (lambda _ (substitute* (find-files "." ".*\\.py$") (("/usr/bin/env python") (which "python3"))) #t)) (add-after 'patch-python 'fix-valgrind (lambda _ (substitute* (find-files "." ".*\\.py$") (("'--leak-check=3Dfull',") "'-v', '--leak-check=3Dfull',")) #t)) ;; (add-after 'patch-python 'fix-valgrind ;; (lambda _ ;; (substitute* (find-files "." ".*\\.py$") ;; (("'--leak-check=3Dfull',") ;; (string-append ;; "'--leak-check=3Dfull', '--extra-debuginfo-p= ath=3D" ;; (assoc-ref %build-inputs "libc:debug") ;; "/lib/debug',"))) ;; #t)) ) #:configure-flags (list "--enable-debug" "--enable-valgrind-tests"))) (synopsis "libsamsung-ipc is a free software implementation of the Sams= ung IPC modem protocol") (description "libsamsung-ipc is a free software implementation of the Samsung IPC m= odem protocol, found in many Samsung smartphones and tablets.") (home-page "https://www.replicant.us") (license license:gpl2+))) (list libsamsung-ipc) --MP_/k=WCScshnOW.NNp/=Hcc31M-- --Sig_/XMMjosmcAIC6WmFJIINTcOg Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJYrZMACgkQX138wUF3 4mN2CQ/+No31c3weO3B+yyBBA/iShQrAKv+RYIhT/q+echeLljF5mFMInis0pa5s 31l1BP2AWYaf6sQHuw6ZTcqW46Cm8xQZwk+QzWaD9aRr7hDVlWYzmRFvOwBujuoJ AYCd0TEB2DaaKszhxOh4doyMItRS7ozKmyand2rMiDPIOetHE6TyGQ0K0y8gXhAd V4BtrFUGCOR5M7aJ2TpA2nBRRAeao1A9ncfbAXyCQ5L5X9cXIluyC9VgdyBM/eEi WZ945rTJaMAMEmvCSsCRvkm/ssJ3DLqwfRSYK39jQzsZJE7qP0Z8flEQKc5EItFz iB4Jov/bcdGC3/XKOgCyhA8R8W1WrTzuuLMdNOiQ95Pja6LiMlxIwZCxrotIVSmg GDkw+yfc3ivlvitfaEbbD55Pyp8ylqNdLUs7dJ8+CVrTr8Eh18qIzt9pr+Bv32KD fcWQ17ri8FkK7tDw3dORtgFPWQPZOecrOJs7l1wYL6mvl/b6y1XTW1VgaoBQ5O4V 0+rYFjQlRKrLNJfB1qcTt6VoLCnFNyg7+KWcPhbRRrU64/EaVgmTLsvZWLleb2gy qk+3jCiGrKI+UcTE7IFeH8ii+kTNodiSaGVrEajyEBa75+r8dJBrrFsNXOq/EUkP XngySueC6wngXhwB4RmuTinAQciG8pDkQPJD4roR+tW/AG/PrNI= =l1aH -----END PGP SIGNATURE----- --Sig_/XMMjosmcAIC6WmFJIINTcOg-- From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 14 19:29:10 2022 Received: (at 54728) by debbugs.gnu.org; 14 Apr 2022 23:29:10 +0000 Received: from localhost ([127.0.0.1]:57598 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nf8th-0007MJ-PA for submit@debbugs.gnu.org; Thu, 14 Apr 2022 19:29:09 -0400 Received: from cyberdimension.org ([80.67.179.20]:60334 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nf8tf-0007M4-S8 for 54728@debbugs.gnu.org; Thu, 14 Apr 2022 19:29:08 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 33c8ac34; Thu, 14 Apr 2022 23:24:52 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 09f7b48f; Thu, 14 Apr 2022 23:24:51 +0000 (UTC) From: Denis 'GNUtoo' Carikli To: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Subject: [PATCH 1/2] gnu: valgrind: impots: sort imports alphabetically Date: Fri, 15 Apr 2022 01:30:11 +0200 Message-Id: <20220414233012.13243-1-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220415012611.6edbf92c@primarylaptop.localdomain> References: <20220415012611.6edbf92c@primarylaptop.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 Cc: Denis 'GNUtoo' Carikli , 54728@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/valgrind.scm: sort imports alphabetically Signed-off-by: Denis 'GNUtoo' Carikli --- gnu/packages/valgrind.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 1cdc0f3b71..6648f17dfa 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016, 2020, 2022 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2022 Denis Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,13 +23,13 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages valgrind) - #:use-module (guix packages) - #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix download) #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (gnu packages) #:use-module (gnu packages gdb) - #:use-module (gnu packages perl) - #:use-module (gnu packages)) + #:use-module (gnu packages perl)) (define-public valgrind (package -- 2.35.1 From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 14 19:29:14 2022 Received: (at 54728) by debbugs.gnu.org; 14 Apr 2022 23:29:14 +0000 Received: from localhost ([127.0.0.1]:57600 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nf8tm-0007MU-1B for submit@debbugs.gnu.org; Thu, 14 Apr 2022 19:29:14 -0400 Received: from cyberdimension.org ([80.67.179.20]:60334 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nf8tg-0007M4-QC for 54728@debbugs.gnu.org; Thu, 14 Apr 2022 19:29:09 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 80faa889; Thu, 14 Apr 2022 23:24:52 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 47db66d8; Thu, 14 Apr 2022 23:24:51 +0000 (UTC) From: Denis 'GNUtoo' Carikli To: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Subject: [PATCH 2/2] gnu: valgrind: fix ld.so symbols not found Date: Fri, 15 Apr 2022 01:30:12 +0200 Message-Id: <20220414233012.13243-2-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220414233012.13243-1-GNUtoo@cyberdimension.org> References: <20220415012611.6edbf92c@primarylaptop.localdomain> <20220414233012.13243-1-GNUtoo@cyberdimension.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 Cc: Denis 'GNUtoo' Carikli , 54728@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/valgrind.scm (valgrind/interactive)[native-inputs]: Add libc:debug [arguments]: Add patch-default-debuginfo-path phase * gnu/packages/commencement.scm (glibc-final): Export variable. Signed-off-by: Denis 'GNUtoo' Carikli --- gnu/packages/commencement.scm | 2 +- gnu/packages/valgrind.scm | 66 +++++++++++++++++++++++++++++++---- 2 files changed, 61 insertions(+), 7 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index e8b47fbeab..c2de02411c 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3381,7 +3381,7 @@ (define gettext-boot0 (("^PROGRAMS =.*$") "PROGRAMS =\n"))))))))) -(define glibc-final +(define-public glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. (package/inherit diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 6648f17dfa..a09721071d 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -25,8 +25,10 @@ (define-module (gnu packages valgrind) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages gdb) #:use-module (gnu packages perl)) @@ -91,12 +93,64 @@ (define-public valgrind (properties '((hidden? . #t))))) (define-public valgrind/interactive - (package/inherit - valgrind - (inputs - ;; GDB is needed to provide a sane default for `--db-command'. - `(("gdb" ,gdb))) - (properties '()))) + (package/inherit valgrind + (inputs + ;; GDB is needed to provide a sane default for `--db-command'. + `(("gdb" ,gdb) + ("libc:debug" ,(@@ (gnu packages commencement) glibc-final) "debug"))) + (arguments + (substitute-keyword-arguments (package-arguments valgrind) + ((#:phases those-phases #~%standard-phases) + #~(let* ((those-phases #$those-phases) + (unpack (assoc-ref those-phases 'unpack))) + (modify-phases those-phases + (add-before 'build 'patch-default-debuginfo-path + (lambda _ + ;; This helps Valgrind find the debug symbols of ld.so. + ;; Without it, Valgrind does not work in a Guix shell + ;; container and cannot be used as-is during packages tests + ;; phases + (substitute* ' + ("coregrind/m_debuginfo/readelf.c" + "docs/xml/manual-core-adv.xml" + "docs/xml/manual-core.xml") + (("/usr/lib/debug") + (string-append + (assoc-ref %build-inputs "libc:debug") + "/lib/debug"))) + ;; We also need to account for the bigger path in + ;; the malloc-ed variables + (substitute* ' + ("coregrind/m_debuginfo/readelf.c") + (("VG_\\(strlen\\)\\(buildid\\) \\+ 33") + (string-append + "VG_(strlen)(buildid) + " + (number->string + (+ (string-length + (string-append + (assoc-ref %build-inputs "libc:debug") + "/lib/debug")) + (string-length "/.build-id//.debug") + 1))))) + (substitute* ' + ("coregrind/m_debuginfo/readelf.c") + ((string-append + "VG_\\(strlen\\)\\(objdir\\) \\+ " + "VG_\\(strlen\\)\\(debugname\\) \\+ 64") + (string-append + "VG_(strlen)(objdir) + VG_(strlen)(debugname) + " + (number->string + (+ (string-length + (string-append + (assoc-ref + %build-inputs + "libc:debug") + "/lib/debug")) + (string-length + "/usr/lib/debug") + 1))))) + #t))))))) + (properties '()))) (define-public valgrind-3.18 (package -- 2.35.1 From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 15 12:21:44 2022 Received: (at 54728) by debbugs.gnu.org; 15 Apr 2022 16:21:44 +0000 Received: from localhost ([127.0.0.1]:60172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfOhc-0002bl-HO for submit@debbugs.gnu.org; Fri, 15 Apr 2022 12:21:44 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46446) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfOhZ-0002bR-Kj for 54728@debbugs.gnu.org; Fri, 15 Apr 2022 12:21:43 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58900) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nfOhT-0005hp-VC; Fri, 15 Apr 2022 12:21:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=jF2C2MoEd5W52aB9xLof0cALg4HWvRz3cgWHRJT+wqM=; b=oltnfzwhvwGv8kwexHi/ 2h+hc63A+aHKEsCYho1m9dEcIc4jlHHMlK59v5S8OD4YoT54chF9AiBME8BSahJYcfdrnqPbdoW2P GTmXl/DSGO4lTLHkBL9FeNay6mCmoO1Z2lIjUVuvPZms7qrzqJuqIDYonLR60kqfJg77ohWeD8GUD pIsOu99yTns0etTaLb9b0ZwkWEakQK8MUSKP1jEmgcog3njmWgUDfNaqeW26MQ63Jsur113kAuzZ3 Sv6EwZJmgN6mHRdurW/glpLvxQ3IQOCkwOqiaedsiFhWYvTjih0KCa+Gt1qflWX5tYRA0zWI/knxy dYSFIWTDJNBy4w==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:55935 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nfOhT-0001Pz-IR; Fri, 15 Apr 2022 12:21:35 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Denis 'GNUtoo' Carikli Subject: Re: [PATCH 2/2] gnu: valgrind: fix ld.so symbols not found References: <20220415012611.6edbf92c@primarylaptop.localdomain> <20220414233012.13243-1-GNUtoo@cyberdimension.org> <20220414233012.13243-2-GNUtoo@cyberdimension.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 26 Germinal an 230 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 15 Apr 2022 18:21:33 +0200 In-Reply-To: <20220414233012.13243-2-GNUtoo@cyberdimension.org> (Denis Carikli's message of "Fri, 15 Apr 2022 01:30:12 +0200") Message-ID: <87czhi48s2.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54728 Cc: 54728@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello! Denis 'GNUtoo' Carikli skribis: > (define-public valgrind/interactive > - (package/inherit > - valgrind > - (inputs > - ;; GDB is needed to provide a sane default for `--db-command'. > - `(("gdb" ,gdb))) > - (properties '()))) > + (package/inherit valgrind > + (inputs > + ;; GDB is needed to provide a sane default for `--db-command'. > + `(("gdb" ,gdb) > + ("libc:debug" ,(@@ (gnu packages commencement) glibc-final) "debu= g"))) Rather: ("libc:debug" ,(canonical-package glibc) "debug"). > + (arguments > + (substitute-keyword-arguments (package-arguments valgrind) > + ((#:phases those-phases #~%standard-phases) > + #~(let* ((those-phases #$those-phases) > + (unpack (assoc-ref those-phases 'unpack))) > + (modify-phases those-phases > + (add-before 'build 'patch-default-debuginfo-path > + (lambda _ > + ;; This helps Valgrind find the debug symbols of ld.so. > + ;; Without it, Valgrind does not work in a Guix shell > + ;; container and cannot be used as-is during packages = tests > + ;; phases > + (substitute* ' > + ("coregrind/m_debuginfo/readelf.c" > + "docs/xml/manual-core-adv.xml" > + "docs/xml/manual-core.xml") > + (("/usr/lib/debug") > + (string-append > + (assoc-ref %build-inputs "libc:debug") > + "/lib/debug"))) > + ;; We also need to account for the bigger path in > + ;; the malloc-ed variables > + (substitute* ' > + ("coregrind/m_debuginfo/readelf.c") > + (("VG_\\(strlen\\)\\(buildid\\) \\+ 33") > + (string-append > + "VG_(strlen)(buildid) + " > + (number->string > + (+ (string-length > + (string-append > + (assoc-ref %build-inputs "libc:debug") > + "/lib/debug")) > + (string-length "/.build-id//.debug") > + 1))))) > + (substitute* ' > + ("coregrind/m_debuginfo/readelf.c") > + ((string-append > + "VG_\\(strlen\\)\\(objdir\\) \\+ " > + "VG_\\(strlen\\)\\(debugname\\) \\+ 64") > + (string-append > + "VG_(strlen)(objdir) + VG_(strlen)(debugname) + " > + (number->string > + (+ (string-length > + (string-append > + (assoc-ref > + %build-inputs > + "libc:debug") > + "/lib/debug")) > + (string-length > + "/usr/lib/debug") > + 1))))) I find this patch-as-code snippet rather difficult to follow; it might also break easily if minor things change in those C files. How about making it an actual patch? In the patch, you=E2=80=99d have placeholders for the store file names, like @LIBC_DEBUG_DIRECTORY@; the phase would replace those placeholders with =E2=80=98substitute*=E2=80=99. How does that sound? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 25 12:38:12 2022 Received: (at 54728) by debbugs.gnu.org; 25 Apr 2022 16:38:12 +0000 Received: from localhost ([127.0.0.1]:35957 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nj1j1-0008Et-RW for submit@debbugs.gnu.org; Mon, 25 Apr 2022 12:38:12 -0400 Received: from cyberdimension.org ([80.67.179.20]:60756 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nj1iz-0008Ej-1K for 54728@debbugs.gnu.org; Mon, 25 Apr 2022 12:38:09 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 3d49c523; Mon, 25 Apr 2022 16:32:06 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id a4c484d3; Mon, 25 Apr 2022 16:32:06 +0000 (UTC) Date: Mon, 25 Apr 2022 18:39:09 +0200 From: Denis 'GNUtoo' Carikli To: Ludovic =?UTF-8?B?Q291cnTDqHM=?= Subject: Re: [PATCH 2/2] gnu: valgrind: fix ld.so symbols not found Message-ID: <20220425183909.0cbc7cd0@primarylaptop.localdomain> In-Reply-To: <87czhi48s2.fsf@gnu.org> References: <20220415012611.6edbf92c@primarylaptop.localdomain> <20220414233012.13243-1-GNUtoo@cyberdimension.org> <20220414233012.13243-2-GNUtoo@cyberdimension.org> <87czhi48s2.fsf@gnu.org> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/TySRXghSpvskmfmISUZfp3m"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 Cc: 54728@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/TySRXghSpvskmfmISUZfp3m Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Fri, 15 Apr 2022 18:21:33 +0200 Ludovic Court=C3=A8s wrote: > Hello! Hi, [...] > I find this patch-as-code snippet rather difficult to follow; it might > also break easily if minor things change in those C files. >=20 > How about making it an actual patch? In the patch, you=E2=80=99d have > placeholders for the store file names, like @LIBC_DEBUG_DIRECTORY@; > the phase would replace those placeholders with =E2=80=98substitute*=E2= =80=99. Thanks, I've done that and now the code is much easier to read. > Rather: ("libc:debug" ,(canonical-package glibc) "debug"). The issue with that is that importing "gnu packages commencement" fails with the following error: > $ ./pre-inst-env guix build hello > error: tcc: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: googletest: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: bzip2: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: binutils: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: gcc-4.9: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: xz: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: gnu-make: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: binutils: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: perl: unbound variable > hint: Did you forget a `use-modules' form? >=20 > error: coreutils: unbound variable > hint: Did you forget a `use-modules' form? >=20 > Throw to key `unbound-variable' with args `("resolve-interface" "no > binding `~A' in module ~A" (python (gnu packages python)) #f)'. > Backtrace: In guix/store.scm: > 658:37 19 (thunk) > 1320:8 18 (call-with-build-handler # > ?) In guix/scripts/build.scm: > 499:2 17 (_) > In srfi/srfi-1.scm: > 673:15 16 (append-map _ _ . _) > 586:17 15 (map1 ((argument . "hello") (build-mode . 0) (# . #t) ?)) > In guix/scripts/build.scm: > 519:31 14 (_ _) > In gnu/packages.scm: > 480:2 13 (%find-package "hello" "hello" #f) > 365:6 12 (find-best-packages-by-name _ _) > 295:56 11 (_ "hello" _) > In unknown file: > 10 (force # gnu/packages.sc?>) In gnu/packages.scm: > 242:33 9 (fold-packages # > ?) In guix/discovery.scm: > 159:11 8 (all-modules _ #:warn _) > In srfi/srfi-1.scm: > 460:18 7 (fold # > ?) In guix/discovery.scm: > 149:19 6 (_ _ ()) > 116:5 5 (scheme-modules _ _ #:warn _) > In srfi/srfi-1.scm: > 691:23 4 (filter-map # . > #) In guix/discovery.scm: > 124:24 3 (_ . _) > In guix/ui.scm: > 319:2 2 (report-unbound-variable-error _ #:frame _) > In ice-9/boot-9.scm: > 1685:16 1 (raise-exception _ #:continuable? _) > 1685:16 0 (raise-exception _ #:continuable? _) >=20 > ice-9/boot-9.scm:1685:16: In procedure raise-exception: > Throw to key `match-error' with args `("match" "no matching pattern" > (unbound-variable "resolve-interface" "no binding `~A' in module ~A" > (python (gnu packages python)) #f))'. So I need to not import gnu packages commencement globally. I can also do something like that instead:=20 > ("glibc:debug" > ,((@@ (gnu packages commencement) canonical-package) > (@@ (gnu packages commencement) glibc)) "debug") Which form is the best? Beside the glibc:debug input, the new patch is ready to be sent. I also successfully managed to run tests that use valgrind transparently (by using valgrind/interactive in the native inputs). Denis. --Sig_/TySRXghSpvskmfmISUZfp3m Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJmzq4ACgkQX138wUF3 4mPpeg/+LA9MHXMp7RlYwjHeAg9zMWOdUiLknWq6BXJ632CwUeXskeL9x0x0Baki qwRv3wc5QfK9CipBTRLkX8065jPG4kP8IYLuEUKrEBo+00HKmDBPXC+cAw7YGk2H +U69V1DWpDPThE6vwy0GOmFYXNUo2aMhnSpvV9jBYTKc4U/zsMueB/blp238Bol6 NzC+pgKHEywGdcKcxzoTN7/FQHco/BcmrZfO0VgfzWhcmNBNZOZetFZDgL8A5lMJ iEFUTXXUhGl6W3Xp5PmjAwBVSUNIYS7lFUqlU3Wp/qV15HmYo+rrApht7e/pEv3k 752A47lO9JJMGHlvfFARBKyXucUSalw25j0eZDElnQMj8aFsnRE/zFlMGLBqFfl2 uIoh1G/kEQV6oJgdPF08sP8nIAOhYWOuv8vj2Xjx/ix/86qeBjQnKDIjjV2nyZJA mI3+6ZEZfmU9eHe9Z7u1LEgJZ9cVd504Hwsiy+OpKYoPkBG3JpRH0/YUr6uh4T7V XYpcqKv1xD99hUhbOlOJkC5OszEOzrD1swCn+GzU0juLg2zbFMnVPGbSaWqTgfaA Z74EP3XijcHWOfSJi4AKJU36n3vj8LnrAjekFHDMWBzBsPRPFfiubc9UCJ4g31Rp +dBQa1IrT7desPpvzUauuUfvIr4bBczELM2IsPd2kWp1CapMklk= =Y/3V -----END PGP SIGNATURE----- --Sig_/TySRXghSpvskmfmISUZfp3m-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 25 13:41:21 2022 Received: (at 54728) by debbugs.gnu.org; 25 Apr 2022 17:41:21 +0000 Received: from localhost ([127.0.0.1]:35982 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nj2i9-0001Lr-F9 for submit@debbugs.gnu.org; Mon, 25 Apr 2022 13:41:21 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:54908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nj2i7-0001Lc-3C for 54728@debbugs.gnu.org; Mon, 25 Apr 2022 13:41:20 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by laurent.telenet-ops.be with bizsmtp id P5hG270074UW6Th015hGB3; Mon, 25 Apr 2022 19:41:17 +0200 Message-ID: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> Subject: Re: bug#54728: [PATCH 2/2] gnu: valgrind: fix ld.so symbols not found From: Maxime Devos To: Denis 'GNUtoo' Carikli , Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Mon, 25 Apr 2022 19:41:12 +0200 In-Reply-To: <20220425183909.0cbc7cd0@primarylaptop.localdomain> References: <20220415012611.6edbf92c@primarylaptop.localdomain> <20220414233012.13243-1-GNUtoo@cyberdimension.org> <20220414233012.13243-2-GNUtoo@cyberdimension.org> <87czhi48s2.fsf@gnu.org> <20220425183909.0cbc7cd0@primarylaptop.localdomain> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-/dSFfAXirg7be8U/Ku2k" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1650908477; bh=Ez3NClhvXPpwCu345nP9u7HLVzu1OtvLCUjoWf/uwIg=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=AKH0l0D45lS2trPn1t+dNR7SIMbQfXyNWy9p02DLk1tfvEK95z5aTsOWah/DGi2yk vYP/EjnCiMYTti6tICkXEoy1ZiPQX1X4FHlVSnfY05wP2QvHZBrjORb9Iz77VIc40x SuqlwO8hm53/P/iSCUbbF6JbbcWb8m3NYwdYgt4+FgAdd1E1MimbQigxjs8ZeNqOGl J4r1QyPlgdl9vq2fZB4Dgipz4j860ilmAJ7gde+X6arN07aasIou5BzY3ntbpnwXLR aVB65Mfz91ZMR/St7whDUJHNkn+xw2LfzlVYWugfKEwoxAwRgzeBfzXX0sqi0jq0wV IVEYZqbvGjAgQ== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 Cc: 54728@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-/dSFfAXirg7be8U/Ku2k Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Denis 'GNUtoo' Carikli schreef op ma 25-04-2022 om 18:39 [+0200]: > The issue with that is that importing "gnu packages commencement" > fails > with the following error: This does not work (due to import cycles I think)? =46rom (gnu packages commencement) ;;; To avoid circular dependencies, this module should not be imported ;;; directly from anywhere. Instead, try using the 'canonical-package' defined in (gnu packages base). Greetings, Maxime. --=-/dSFfAXirg7be8U/Ku2k Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYmbdOBccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7jDCAP4lNHz5/MgaYjFJWBQo0y/NLhVH G0Y2VAh/6G4h4BpMqgEAsyiPi9pZIF3OD0vSQe3OpGG5uvEi8661BSljCVveWws= =gSty -----END PGP SIGNATURE----- --=-/dSFfAXirg7be8U/Ku2k-- From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 25 21:38:02 2022 Received: (at 54728) by debbugs.gnu.org; 26 Apr 2022 01:38:02 +0000 Received: from localhost ([127.0.0.1]:36468 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njA9S-0006yK-CE for submit@debbugs.gnu.org; Mon, 25 Apr 2022 21:38:02 -0400 Received: from cyberdimension.org ([80.67.179.20]:60772 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njA9Q-0006xv-Vt for 54728@debbugs.gnu.org; Mon, 25 Apr 2022 21:38:01 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 20eb9008; Tue, 26 Apr 2022 01:31:54 +0000 (UTC) Received: from localhost.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 28a17dd9; Tue, 26 Apr 2022 01:31:54 +0000 (UTC) From: Denis 'GNUtoo' Carikli To: 54728@debbugs.gnu.org, ludo@gnu.org, maximedevos@telenet.be Subject: Re: bug#54728: [PATCH 2/2] gnu: valgrind: fix ld.so symbols not found Date: Tue, 26 Apr 2022 03:39:11 +0200 Message-Id: <20220426013913.20117-1-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> References: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, I've now managed to make a proper patch. I've used 'v2' for more clarity. I'll send the files used to test them in a subsequent mails. As for the tests, I've done them in Guix system, once installed valgrind works fine: > $ make check > valgrind -v --leak-check=full ./main > ==20324== Memcheck, a memory error detector > ==20324== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. > ==20324== Using Valgrind-3.18.1-42b08ed5bd-20211015 and LibVEX; rerun with -h for copyright info > ==20324== Command: ./main > ==20324== > --20324-- Valgrind options: > --20324-- -v > --20324-- --leak-check=full > --20324-- Contents of /proc/version: > --20324-- Linux version 5.16.20-gnu (guix@guix) (gcc (GCC) 10.3.0, GNU ld (GNU Binutils) 2.37) #1 SMP PREEMPT 1 > --20324-- > --20324-- Arch and hwcaps: X86, LittleEndian, x86-mmxext-sse1-sse2-sse3 > --20324-- Page sizes: currently 4096, max supported 4096 > --20324-- Valgrind library directory: /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind > --20324-- Reading syms from /gnu/store/0iapawfss4xnxls622g23qpk4mwb9ihp-glibc-2.33/lib/ld-2.33.so > --20324-- Considering /gnu/store/wznq4d1i3znqjhcribfr2m9ljyyrsdyd-glibc-2.33-debug/lib/debug/gnu/store/0iapawfss4xnxls622g23qpk4mwb9ihp-glibc-2.33/lib/ld-2.33.so.debug .. > --20324-- .. CRC is valid > --20324-- Reading syms from /home/gnutoo/work/projects/guix/valgrind-test/main > --20324-- Reading syms from /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind/memcheck-x86-linux > --20324-- object doesn't have a symbol table > --20324-- object doesn't have a dynamic symbol table > --20324-- Scheduler: using generic scheduler lock implementation. > --20324-- Reading suppressions file: /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind/default.supp > ==20324== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-20324-by-gnutoo-on-??? > ==20324== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-20324-by-gnutoo-on-??? > ==20324== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-20324-by-gnutoo-on-??? > ==20324== > ==20324== TO CONTROL THIS PROCESS USING vgdb (which you probably > ==20324== don't want to do, unless you know exactly what you're doing, > ==20324== or are doing some strange experiment): > ==20324== /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind/../../bin/vgdb --pid=20324 ...command... > ==20324== > ==20324== TO DEBUG THIS PROCESS USING GDB: start GDB like this > ==20324== /path/to/gdb ./main > ==20324== and then give GDB the following command > ==20324== target remote | /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind/../../bin/vgdb --pid=20324 > ==20324== --pid is optional if only one valgrind process is running > ==20324== > --20324-- REDIR: 0x4021570 (ld-linux.so.2:strlen) redirected to 0x580a1f4a (???) > --20324-- REDIR: 0x40212d0 (ld-linux.so.2:index) redirected to 0x580a1f25 (???) > --20324-- Reading syms from /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind/vgpreload_core-x86-linux.so > --20324-- object doesn't have a symbol table > --20324-- Reading syms from /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind/vgpreload_memcheck-x86-linux.so > --20324-- object doesn't have a symbol table > ==20324== WARNING: new redirection conflicts with existing -- ignoring it > --20324-- old: 0x04021570 (strlen ) R-> (0000.0) 0x580a1f4a ??? > --20324-- new: 0x04021570 (strlen ) R-> (2007.0) 0x04043ca0 strlen > --20324-- Reading syms from /gnu/store/r7n4snily34ld9nm4crzc0z65jr2y26c-gcc-10.3.0-lib/lib/libgcc_s.so.1 > --20324-- object doesn't have a symbol table > --20324-- Reading syms from /gnu/store/0iapawfss4xnxls622g23qpk4mwb9ihp-glibc-2.33/lib/libc-2.33.so > --20324-- Considering /gnu/store/wznq4d1i3znqjhcribfr2m9ljyyrsdyd-glibc-2.33-debug/lib/debug/gnu/store/0iapawfss4xnxls622g23qpk4mwb9ihp-glibc-2.33/lib/libc-2.33.so.debug .. > --20324-- .. CRC is valid > ==20324== WARNING: new redirection conflicts with existing -- ignoring it > --20324-- old: 0x040f08c0 (memalign ) R-> (1011.0) 0x04043084 memalign > --20324-- new: 0x040f08c0 (memalign ) R-> (1017.0) 0x0404303d aligned_alloc > ==20324== WARNING: new redirection conflicts with existing -- ignoring it > --20324-- old: 0x040f08c0 (memalign ) R-> (1011.0) 0x04043084 memalign > --20324-- new: 0x040f08c0 (memalign ) R-> (1017.0) 0x04042ff6 aligned_alloc > ==20324== WARNING: new redirection conflicts with existing -- ignoring it > --20324-- old: 0x040f08c0 (memalign ) R-> (1011.0) 0x04043084 memalign > --20324-- new: 0x040f08c0 (memalign ) R-> (1017.0) 0x0404303d aligned_alloc > ==20324== WARNING: new redirection conflicts with existing -- ignoring it > --20324-- old: 0x040f08c0 (memalign ) R-> (1011.0) 0x04043084 memalign > --20324-- new: 0x040f08c0 (memalign ) R-> (1017.0) 0x04042ff6 aligned_alloc > --20324-- REDIR: 0x40f49e0 (libc.so.6:strncasecmp) redirected to 0x40351e6 (_vgnU_ifunc_wrapper) > --20324-- REDIR: 0x40fa870 (libc.so.6:memrchr) redirected to 0x40351e6 (_vgnU_ifunc_wrapper) > --20324-- REDIR: 0x410df30 (libc.so.6:wcslen) redirected to 0x40351e6 (_vgnU_ifunc_wrapper) > --20324-- REDIR: 0x410d5c0 (libc.so.6:__GI_strrchr) redirected to 0x4043730 (__GI_strrchr) > --20324-- REDIR: 0x410da60 (libc.so.6:__GI_strlen) redirected to 0x4043c20 (__GI_strlen) > --20324-- REDIR: 0x40efb60 (libc.so.6:malloc) redirected to 0x403e5ae (malloc) > Hello world > --20324-- REDIR: 0x40f0190 (libc.so.6:free) redirected to 0x40409fc (free) > ==20324== > ==20324== HEAP SUMMARY: > ==20324== in use at exit: 0 bytes in 0 blocks > ==20324== total heap usage: 1 allocs, 1 frees, 1,024 bytes allocated > ==20324== > ==20324== All heap blocks were freed -- no leaks are possible > ==20324== > ==20324== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 5 from 5) > --20324-- > --20324-- used_suppression: 5 dl-hack3-cond-1 /gnu/store/gkrqxqxs20mzxwxqpasy1q3w7a1v42w6-valgrind-3.18.1/libexec/valgrind/default.supp:1232 > ==20324== > ==20324== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 5 from 5) In addition it also works fine with either valgrind/interactive or valgrind-3.18 as dependency, when it is used in the tests of a package. I've used the 'make && ./pre-inst-env guix build -f libsamsung-ipc.scm' command for that (with a libsamsung-ipc.scm that is slightly modified since last time). Denis. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 25 21:38:10 2022 Received: (at 54728) by debbugs.gnu.org; 26 Apr 2022 01:38:10 +0000 Received: from localhost ([127.0.0.1]:36471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njA9Z-0006yl-SQ for submit@debbugs.gnu.org; Mon, 25 Apr 2022 21:38:10 -0400 Received: from cyberdimension.org ([80.67.179.20]:60772 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njA9S-0006xv-02 for 54728@debbugs.gnu.org; Mon, 25 Apr 2022 21:38:03 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id da356fe0; Tue, 26 Apr 2022 01:31:54 +0000 (UTC) Received: from localhost.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 9fd2979d; Tue, 26 Apr 2022 01:31:54 +0000 (UTC) From: Denis 'GNUtoo' Carikli To: 54728@debbugs.gnu.org, ludo@gnu.org, maximedevos@telenet.be Subject: [PATCH v2 1/2] gnu: valgrind: impots: sort imports alphabetically Date: Tue, 26 Apr 2022 03:39:12 +0200 Message-Id: <20220426013913.20117-2-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220426013913.20117-1-GNUtoo@cyberdimension.org> References: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> <20220426013913.20117-1-GNUtoo@cyberdimension.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 Cc: Denis 'GNUtoo' Carikli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/valgrind.scm: sort imports alphabetically Signed-off-by: Denis 'GNUtoo' Carikli --- gnu/packages/valgrind.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 1cdc0f3b71..6648f17dfa 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2016, 2020, 2022 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2022 Denis Carikli ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,13 +23,13 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages valgrind) - #:use-module (guix packages) - #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix download) #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (gnu packages) #:use-module (gnu packages gdb) - #:use-module (gnu packages perl) - #:use-module (gnu packages)) + #:use-module (gnu packages perl)) (define-public valgrind (package -- 2.35.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 25 21:38:11 2022 Received: (at 54728) by debbugs.gnu.org; 26 Apr 2022 01:38:11 +0000 Received: from localhost ([127.0.0.1]:36473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njA9a-0006yn-8w for submit@debbugs.gnu.org; Mon, 25 Apr 2022 21:38:10 -0400 Received: from cyberdimension.org ([80.67.179.20]:60772 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njA9T-0006xv-FX for 54728@debbugs.gnu.org; Mon, 25 Apr 2022 21:38:04 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id fed584e9; Tue, 26 Apr 2022 01:31:55 +0000 (UTC) Received: from localhost.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id 4898a77f; Tue, 26 Apr 2022 01:31:54 +0000 (UTC) From: Denis 'GNUtoo' Carikli To: 54728@debbugs.gnu.org, ludo@gnu.org, maximedevos@telenet.be Subject: [PATCH v2 2/2] gnu: valgrind: fix ld.so symbols not found Date: Tue, 26 Apr 2022 03:39:13 +0200 Message-Id: <20220426013913.20117-3-GNUtoo@cyberdimension.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220426013913.20117-1-GNUtoo@cyberdimension.org> References: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> <20220426013913.20117-1-GNUtoo@cyberdimension.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 Cc: Denis 'GNUtoo' Carikli X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * gnu/packages/valgrind.scm (valgrind/interactive)[native-inputs]: Add libc:debug [arguments]: Add patch-default-debuginfo-path phase [source]: Add patch. (valgrind-3.18)[source]: Add patch. * gnu/packages/commencement.scm (glibc-final): Export variable. Signed-off-by: Denis 'GNUtoo' Carikli --- gnu/local.mk | 3 +- gnu/packages/commencement.scm | 2 +- .../valgrind-fix-default-debuginfo-path.patch | 100 ++++++++++++++++++ gnu/packages/valgrind.scm | 67 +++++++++++- 4 files changed, 168 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9bad87710c..c28efcab32 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1919,7 +1919,8 @@ dist_patch_DATA = \ %D%/packages/patches/util-linux-tests.patch \ %D%/packages/patches/util-linux-CVE-2021-3995.patch \ %D%/packages/patches/util-linux-CVE-2021-3996.patch \ - %D%/packages/patches/valgrind-enable-arm.patch \ + %D%/packages/patches/valgrind-enable-arm.patch \ + %D%/packages/patches/valgrind-fix-default-debuginfo-path.patch \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \ %D%/packages/patches/vboot-utils-skip-test-workbuf.patch \ diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 1fed8bcd6e..769139e779 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -3381,7 +3381,7 @@ (define gettext-boot0 (("^PROGRAMS =.*$") "PROGRAMS =\n"))))))))) -(define glibc-final +(define-public glibc-final ;; The final glibc, which embeds the statically-linked Bash built above. ;; Use 'package/inherit' so we get the 'replacement' of 'glibc', if any. (package/inherit diff --git a/gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch b/gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch new file mode 100644 index 0000000000..f78dec02dc --- /dev/null +++ b/gnu/packages/patches/valgrind-fix-default-debuginfo-path.patch @@ -0,0 +1,100 @@ +From a7f17b57a94e9cde6d7fa96ac86be5c4fc4f9211 Mon Sep 17 00:00:00 2001 +From: Denis 'GNUtoo' Carikli +Date: Sun, 24 Apr 2022 22:20:50 +0200 +Subject: [PATCH] valgrind: fix default debuginfo path + +Description: Workaround for missing symbol in Guix's ld.so. The + correct fix (not stripping all the ld.so symbols) will be done in the + next Guix release as it requires to recompile a lot of packages. + +Forwarded: not-needed +Bug-Guix: https://issues.guix.gnu.org/54728 +Author: Denis 'GNUtoo' Carikli +--- + coregrind/m_debuginfo/readelf.c | 11 ++++++----- + docs/xml/manual-core-adv.xml | 4 ++-- + docs/xml/manual-core.xml | 2 +- + 3 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c +index c586e3f33..947fcc500 100644 +--- a/coregrind/m_debuginfo/readelf.c ++++ b/coregrind/m_debuginfo/readelf.c +@@ -1509,9 +1509,9 @@ DiImage* find_debug_file( struct _DebugInfo* di, + + if (buildid != NULL) { + debugpath = ML_(dinfo_zalloc)("di.fdf.1", +- VG_(strlen)(buildid) + 33); ++ VG_(strlen)(buildid) + DEBUGPATH_EXTRA_BYTES_1); + +- VG_(sprintf)(debugpath, "/usr/lib/debug/.build-id/%c%c/%s.debug", ++ VG_(sprintf)(debugpath, "DEFAULT_DEBUGINFO_PATH/.build-id/%c%c/%s.debug", + buildid[0], buildid[1], buildid + 2); + + dimg = open_debug_file(debugpath, buildid, 0, rel_ok, NULL); +@@ -1536,7 +1536,8 @@ DiImage* find_debug_file( struct _DebugInfo* di, + + debugpath = ML_(dinfo_zalloc)( + "di.fdf.3", +- VG_(strlen)(objdir) + VG_(strlen)(debugname) + 64 ++ VG_(strlen)(objdir) + VG_(strlen)(debugname) ++ + VG_(strlen)("DEFAULT_DEBUGINFO_PATH/") + 1 + + (extrapath ? VG_(strlen)(extrapath) : 0) + + (serverpath ? VG_(strlen)(serverpath) : 0)); + +@@ -1561,7 +1562,7 @@ DiImage* find_debug_file( struct _DebugInfo* di, + + TRY_OBJDIR_USRMERGE_OBJDIR("%s/%s"); + TRY_OBJDIR_USRMERGE_OBJDIR("%s/.debug/%s"); +- TRY_OBJDIR_USRMERGE_OBJDIR("/usr/lib/debug%s/%s"); ++ TRY_OBJDIR_USRMERGE_OBJDIR("DEFAULT_DEBUGINFO_PATH%s/%s"); + + if (extrapath) { + TRY_OBJDIR("%s%s/%s", extrapath, objdir, debugname); +@@ -1631,7 +1632,7 @@ DiImage* find_debug_file_ad_hoc( const DebugInfo* di, + + debugpath = ML_(dinfo_zalloc)( + "di.fdfah.3", +- VG_(strlen)(objdir) + 64 ++ VG_(strlen)(objdir) + DEBUGPATH_EXTRA_BYTES_2 + + (extrapath ? VG_(strlen)(extrapath) : 0) + + (serverpath ? VG_(strlen)(serverpath) : 0)); + +diff --git a/docs/xml/manual-core-adv.xml b/docs/xml/manual-core-adv.xml +index 1fa801edc..a7c01d5e6 100644 +--- a/docs/xml/manual-core-adv.xml ++++ b/docs/xml/manual-core-adv.xml +@@ -447,7 +447,7 @@ Valgrind embedded gdbserver: + Remote debugging using | vgdb + relaying data between gdb and process 2418 + Reading symbols from /lib/ld-linux.so.2...done. +-Reading symbols from /usr/lib/debug/lib/ld-2.11.2.so.debug...done. ++Reading symbols from DEFAULT_DEBUGINFO_PATH/lib/ld-2.11.2.so.debug...done. + Loaded symbols for /lib/ld-linux.so.2 + [Switching to Thread 2418] + 0x001f2850 in _start () from /lib/ld-linux.so.2 +@@ -475,7 +475,7 @@ Remote communication error: Resource temporarily unavailable. + Remote debugging using | vgdb --pid=2479 + relaying data between gdb and process 2479 + Reading symbols from /lib/ld-linux.so.2...done. +-Reading symbols from /usr/lib/debug/lib/ld-2.11.2.so.debug...done. ++Reading symbols from DEFAULT_DEBUGINFO_PATH/lib/ld-2.11.2.so.debug...done. + Loaded symbols for /lib/ld-linux.so.2 + [Switching to Thread 2479] + 0x001f2850 in _start () from /lib/ld-linux.so.2 +diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml +index dc33e1269..f6eb60086 100644 +--- a/docs/xml/manual-core.xml ++++ b/docs/xml/manual-core.xml +@@ -1409,7 +1409,7 @@ that can report errors, e.g. Memcheck, but not Cachegrind. + + By default Valgrind searches in several well-known paths + for debug objects, such +- as /usr/lib/debug/. ++ as DEFAULT_DEBUGINFO_PATH/. + + However, there may be scenarios where you may wish to put + debug objects at an arbitrary location, such as external storage +-- +2.35.1 + diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 6648f17dfa..1269e07593 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -25,9 +25,12 @@ (define-module (gnu packages valgrind) #:use-module (guix build-system gnu) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages gdb) #:use-module (gnu packages perl)) @@ -93,9 +96,68 @@ (define-public valgrind (define-public valgrind/interactive (package/inherit valgrind + (version "3.17.0") + (source (origin + (method url-fetch) + (uri (list (string-append "https://sourceware.org/pub/valgrind" + "/valgrind-" version ".tar.bz2") + (string-append "ftp://sourceware.org/pub/valgrind" + "/valgrind-" version ".tar.bz2"))) + (sha256 + (base32 + "18l5jbk301j3462gipqn9bkfx44mdmwn0pwr73r40gl1irkfqfmd")) + (patches (search-patches + "valgrind-enable-arm.patch" + "valgrind-fix-default-debuginfo-path.patch")))) (inputs ;; GDB is needed to provide a sane default for `--db-command'. - `(("gdb" ,gdb))) + `(("gdb" ,gdb) + ("glibc:debug" ,(canonical-package glibc) "debug"))) + (arguments + (substitute-keyword-arguments (package-arguments valgrind) + ((#:phases those-phases #~%standard-phases) + #~(let* ((those-phases #$those-phases) + (unpack (assoc-ref those-phases 'unpack))) + (modify-phases + those-phases + (add-before 'configure 'patch-default-debuginfo-path + (lambda _ + ;; This helps Valgrind find the debug symbols of ld.so. + ;; Without it, Valgrind does not work in a Guix shell + ;; container and cannot be used as-is during packages tests + ;; phases + (substitute* ' + ("coregrind/m_debuginfo/readelf.c" + "docs/xml/manual-core-adv.xml" + "docs/xml/manual-core.xml") + (("DEFAULT_DEBUGINFO_PATH") + (string-append (assoc-ref %build-inputs "glibc:debug") + "/lib/debug"))) + ;; We also need to account for the bigger path in + ;; the malloc-ed variables + (substitute* ' + ("coregrind/m_debuginfo/readelf.c") + (("DEBUGPATH_EXTRA_BYTES_1") + (number->string + (+ (string-length + (string-append + (assoc-ref %build-inputs "glibc:debug") + "/lib/debug")) + (string-length "/.build-id//.debug") + 1)))) + (substitute* ' + ("coregrind/m_debuginfo/readelf.c") + (("DEBUGPATH_EXTRA_BYTES_2") + (number->string + (+ (string-length + (string-append + (assoc-ref + %build-inputs + "glibc:debug") + "/lib/debug")) + (string-length + "/usr/lib/debug") + 1))))))))))) (properties '()))) (define-public valgrind-3.18 @@ -111,4 +173,5 @@ (define-public valgrind-3.18 (sha256 (base32 "1xgph509i6adv9w2glviw3xrmlz0dssg8992hbvxsbkp7ahrm180")) - (patches (search-patches "valgrind-enable-arm.patch")))))) + (patches (search-patches "valgrind-enable-arm.patch" + "valgrind-fix-default-debuginfo-path.patch")))))) -- 2.35.1 From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 26 18:36:12 2022 Received: (at 54728) by debbugs.gnu.org; 26 Apr 2022 22:36:12 +0000 Received: from localhost ([127.0.0.1]:40718 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njTn2-00039k-CU for submit@debbugs.gnu.org; Tue, 26 Apr 2022 18:36:12 -0400 Received: from cyberdimension.org ([80.67.179.20]:60816 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1njTmv-00039K-0H for 54728@debbugs.gnu.org; Tue, 26 Apr 2022 18:36:10 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id 7135eefe; Tue, 26 Apr 2022 22:29:49 +0000 (UTC) Received: from primary_laptop (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id f53ef4f2; Tue, 26 Apr 2022 22:29:49 +0000 (UTC) Date: Wed, 27 Apr 2022 00:37:17 +0200 From: Denis 'GNUtoo' Carikli To: 54728@debbugs.gnu.org, ludo@gnu.org, maximedevos@telenet.be Subject: Re: [PATCH v2 2/2] gnu: valgrind: fix ld.so symbols not found Message-ID: <20220427003717.7106b97a@primary_laptop> In-Reply-To: <20220426013913.20117-3-GNUtoo@cyberdimension.org> References: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> <20220426013913.20117-1-GNUtoo@cyberdimension.org> <20220426013913.20117-3-GNUtoo@cyberdimension.org> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.30; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/Y+ckcCOqyLwr6e5ba7j+kIg"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/Y+ckcCOqyLwr6e5ba7j+kIg Content-Type: multipart/mixed; boundary="MP_/ialc+p5Qr/Lb=tZ8Ukkz.P0" --MP_/ialc+p5Qr/Lb=tZ8Ukkz.P0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-Disposition: inline For some reasons I didn't receive a copy of the cover letter patch I sent with git-send-email yet, so I can't reply to the cover letter, so I'm replying to the patch instead. In any case the patches and the cover letter are in the bug[1] report and so as promised here's the libsamsung-ipc.scm I used for the tests. References: ----------- [1]https://issues.guix.gnu.org/54728#8 Denis. --MP_/ialc+p5Qr/Lb=tZ8Ukkz.P0 Content-Type: text/x-scheme Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=libsamsung-ipc.scm ;;; Copyright =C2=A9 2022 Denis Carikli ;;; ;;; This file is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; This file is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License. ;;; If not, see . ;;; ;;; This file is meant to test valgrind support in Guix. ;;; ;;; The libsamsung-ipc library is not ready to be packaged in general ;;; purpose distributions as right now as it requires either a vendor ;;; kernel or the compbinaison of a recent upstream kernel with on top ;;; work in progress out of tree modem drivers, out of tree ;;; libsamsung-ipc code to support theses drivers and kernel patches ;;; to support the nonfree bootloader of the Galaxy SIII ;;; (GT-I9300). Beside the library, the tools are of very limited use ;;; beside testing or reverse engineering. (use-modules (ice-9 popen) (ice-9 rdelim) (sxml ssax input-parse) ((guix licenses) #:prefix license:) (guix build-system android-ndk) (guix build-system gnu) (guix gexp) (guix git-download) (guix packages) (gnu packages android) (gnu packages autotools) (gnu packages curl) (gnu packages disk) (gnu packages linux) (gnu packages llvm) (gnu packages pkg-config) (gnu packages python) (gnu packages python-xyz) (gnu packages tls) (gnu packages valgrind)) (define-public libsamsung-ipc (package (name "libsamsung-ipc") ;; we use a work in progress version that has support for --with-valgri= nd-tests (version (git-version "0.0" "HEAD" "92de58c3ecd3f6a40323161dd28f2c9ad07= 5ca62")) (source (origin (method git-fetch) (uri (git-reference (url "https://git.replicant.us/replicant-next/hardware_replicant_l= ibsamsung-ipc") (commit "92de58c3ecd3f6a40323161dd28f2c9ad075ca62"))) (sha256 (base32 "0glm8hvb46iq1dhhbhymckxi6lcxn5k30lywcppbs7s8r4bnkwvy")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs (list autoconf automake curl ddrescue libtool pkg-config python python-sh valgrind/interactive)) (inputs (list openssl)) (arguments `(#:phases (modify-phases %standard-phases (add-before 'build 'patch-python (lambda _ (substitute* (find-files "." ".*\\.py$") (("/usr/bin/env python") (which "python3"))) #t))) #:tests? #t #:configure-flags (list "--enable-debug" "--enable-valgrind-tests"))) (synopsis "libsamsung-ipc is a free software implementation of the Sams= ung IPC modem protocol") (description "libsamsung-ipc is a free software implementation of the Samsung IPC m= odem protocol, found in many Samsung smartphones and tablets.") (home-page "https://www.replicant.us") (license license:gpl2+))) (list libsamsung-ipc) --MP_/ialc+p5Qr/Lb=tZ8Ukkz.P0-- --Sig_/Y+ckcCOqyLwr6e5ba7j+kIg Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJodB0ACgkQX138wUF3 4mPzNBAAjWEARL0tkLOED8Yn08ldPf3P75iZytUkwFh85+qP7hYC29dgSV9iH7LD MsqQEqRGS1wfpfABeuP2ySkBj18clMhuR3aLSpYBjgSu4ZAmrSh1Y04JwDkLJjsd JCTQuuv8PoS3lP3zf2VujhG562jw8EcSEpAYtFkazESH1TP/KylxUPLvXFF7r03l ZaT48R4+WTbZIV+y3XnpNF4Rd/25PWSmEHcOf22jAHqnqgbBuwXU89iIXk0AuPbF cP+32fjMyp12yC6+w4V8YHaQIFTrDOTW7U7Sm7IAYFgaefx2ELaxIGQ6xAAVfU7i iu8zBmkOutgS1ZaF650QBO+aSxiz2AftY27b+JDG9YtgP1aokgtLneTSnIJRuhKt 2wIckloMd5OBsj+o3hjOto6QUvEUZ3uH6YonQctvUvtqrGrD1MJ7DTxoZGv7eTWg Mb2/fNsdv0Klj2lTxOkyUVxIkozBCaeMPkafRZFyFh5ZVkX0/G6cKE8xpcJfKxbX Kb6THRS8Rde5tYQdgcdnGo8htJaCZ7Xz0XYvg+SZKLgXjk8CD9gKWfLLlQFyOxe+ X1D5AXUA3TEWADV+3yCp7eeHUpcxkW2P4g+sL10lBM1CT9ClbjEMYDmkXdhk6T3f l/xpn5Y3qMCf9dA+rotJn/nkDz2sZsc4ASJjWTC5UpzQV9XXIJI= =c/ld -----END PGP SIGNATURE----- --Sig_/Y+ckcCOqyLwr6e5ba7j+kIg-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 06 16:15:05 2022 Received: (at 54728) by debbugs.gnu.org; 6 May 2022 20:15:05 +0000 Received: from localhost ([127.0.0.1]:49965 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nn4Lx-0005Eh-BP for submit@debbugs.gnu.org; Fri, 06 May 2022 16:15:05 -0400 Received: from cyberdimension.org ([80.67.179.20]:35602 helo=gnutoo.cyberdimension.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nn4Lu-0005DX-Lj for 54728@debbugs.gnu.org; Fri, 06 May 2022 16:15:03 -0400 Received: from gnutoo.cyberdimension.org (localhost [127.0.0.1]) by cyberdimension.org (OpenSMTPD) with ESMTP id a3afad18; Fri, 6 May 2022 20:14:46 +0000 (UTC) Received: from primarylaptop.localdomain (localhost [::1]) by gnutoo.cyberdimension.org (OpenSMTPD) with ESMTP id e47118e8; Fri, 6 May 2022 20:14:46 +0000 (UTC) Date: Fri, 6 May 2022 22:16:22 +0200 From: Denis 'GNUtoo' Carikli To: 54728@debbugs.gnu.org, ludo@gnu.org, maximedevos@telenet.be Subject: Re: [PATCH v2 2/2] gnu: valgrind: fix ld.so symbols not found Message-ID: <20220506221622.6a49ac7c@primarylaptop.localdomain> In-Reply-To: <20220427003717.7106b97a@primary_laptop> References: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> <20220426013913.20117-1-GNUtoo@cyberdimension.org> <20220426013913.20117-3-GNUtoo@cyberdimension.org> <20220427003717.7106b97a@primary_laptop> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; i686-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/IHAAb=Sz8n25WG9ug2e86/s"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --Sig_/IHAAb=Sz8n25WG9ug2e86/s Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi, Did you manage to receive the patches, or were they lost somehow[1]? At least I see them on https://issues.guix.gnu.org/54728 . References: ----------- [1]Personally for some reason I didn't receive a copy of the patches I sent through git-send-email in my mail. Denis. --Sig_/IHAAb=Sz8n25WG9ug2e86/s Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmJ1ghYACgkQX138wUF3 4mOq4A//c7ixVm32ge7s9l134keynIJ5efAx9arNK7dWIhkb9VjHAMVlfcuqSe5T veFtIltjbww9ohCvcI5URR8oTVj4BEaoKGdE+l1+3R5i6vDPEyNh3kQw8vZaCc7K vRsEvgfqm17vTpxSsY57ee5tJ2oJRQRzc+uv9l9Q0vp1TazXF6qwsvFUdwP9W74g 6Xk/edwtLSkie1TmWGw8YveDP/P9crQZ4fWzgPHCju0ZGNAqukl8Z8DopjUlL4g+ zNGzDZi1RYb1IgQDjVqRuRDUQjy9gZWZd5UJa40u8xHfKiBczPbPwk5duBqZnfqR NTgh5ASC2VfVE7lRYQUne9Rn5WtI45wC03+zHwcpxJE5nCsVS/M7oGVZJ6b2ae26 7GeWlKixgh8u6ZiQmZ9kowQSO4zfhVvhUtw8jTmBBRwdBb8AsCbEOCzvUv4amyAc wJ5lQof8pR+pNPQC2whc8qDoyHtBrYpxdw8L8IwmaUDJCpZfDIlI1rHKhnSFp5GC dX34TMevZXgwDLwzelKHcCK84MUuR3fk8V7WLXIvNbUYG2u0gwCp4D5E+1EupgVi Nw9JG2EdvArtzt1cxlIxNc5Z4jzCLULHPWOiO+P235foFrn8ItncekR2xDM3qQ/2 4PgCWcdeCCkMDcHEAgh6qOQt1l+8tRGL0Hok3Zgb8G03Kxis0cI= =wFb6 -----END PGP SIGNATURE----- --Sig_/IHAAb=Sz8n25WG9ug2e86/s-- From debbugs-submit-bounces@debbugs.gnu.org Fri May 06 16:20:21 2022 Received: (at 54728) by debbugs.gnu.org; 6 May 2022 20:20:21 +0000 Received: from localhost ([127.0.0.1]:49971 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nn4R2-0005M9-VA for submit@debbugs.gnu.org; Fri, 06 May 2022 16:20:21 -0400 Received: from laurent.telenet-ops.be ([195.130.137.89]:45790) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nn4R1-0005M1-NJ for 54728@debbugs.gnu.org; Fri, 06 May 2022 16:20:20 -0400 Received: from ptr-bvsjgyhxw7psv60dyze.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:3c5f:2eff:feb0:ba5a]) by laurent.telenet-ops.be with bizsmtp id TYLJ270094UW6Th01YLJQb; Fri, 06 May 2022 22:20:18 +0200 Message-ID: <16df04c6e52f074ab68ccabb63be2db985301278.camel@telenet.be> Subject: Re: [PATCH v2 2/2] gnu: valgrind: fix ld.so symbols not found From: Maxime Devos To: Denis 'GNUtoo' Carikli , 54728@debbugs.gnu.org, ludo@gnu.org Date: Fri, 06 May 2022 22:20:18 +0200 In-Reply-To: <20220506221622.6a49ac7c@primarylaptop.localdomain> References: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> <20220426013913.20117-1-GNUtoo@cyberdimension.org> <20220426013913.20117-3-GNUtoo@cyberdimension.org> <20220427003717.7106b97a@primary_laptop> <20220506221622.6a49ac7c@primarylaptop.localdomain> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-ZamnBoeqm3lApaAf2n/u" User-Agent: Evolution 3.38.3-1 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r22; t=1651868418; bh=U6W594LYnfYaBM1lSqzncdQHLacMywYmV5eofsIFFDM=; h=Subject:From:To:Date:In-Reply-To:References; b=OGH0OnbMl1PlCBfz/n4YkaC3PM7WJyphFhC7J8zAs6TloG3jhlru0BpJ3haVCQuoV B/NXwzQSJIy6SrOfTLkP/kDf0Hjv3hQXdR8krMcP8q/ioF9WTv3FJ9OMOqU+66QT61 WL/72ePq/Q7jOAwVbuyTpplufxbaMSsFWd01+t6ioUDnHcqsrym+/CXxPt9E7jYeHa vdRo+GjrXHTCQTQou+HRu99QkIKjATA9fNnD/jZQFtWSsU/LtGh9NBZHKi5PdiFzhL MIEb3ydUmQOixe+3j5AOUNMZmDyTpuz2TxaJXO4xwIMgxrMM0mk8pPIkidDdPv4PS8 T1pcuYXd55OZQ== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54728 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-ZamnBoeqm3lApaAf2n/u Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Denis 'GNUtoo' Carikli schreef op vr 06-05-2022 om 22:16 [+0200]: > Hi, >=20 > Did you manage to receive the patches, or were they lost somehow[1]? >=20 > At least I see them on https://issues.guix.gnu.org/54728=C2=A0. >=20 I've received =E2=80=98https://issues.guix.gnu.org/54728#11=E2=80=99 (at le= ast, received it now, via issues.guix.gnu.org) but this is way outside my expertise and I'm currently to busy for reviewing something like that. Greetings, Maxime. --=-ZamnBoeqm3lApaAf2n/u Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYnWDAhccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7kDZAP9H0T/ZXXqJKavn9N+XPQRFoLPx qILPlbpTD57TXSUZTgEAmDi1Q8pBwTVgo9FmPTL3IlZfQi2+dKVyExp96fs6jwY= =s70b -----END PGP SIGNATURE----- --=-ZamnBoeqm3lApaAf2n/u-- From debbugs-submit-bounces@debbugs.gnu.org Mon May 09 05:24:54 2022 Received: (at 54728-done) by debbugs.gnu.org; 9 May 2022 09:24:54 +0000 Received: from localhost ([127.0.0.1]:56054 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnzdO-0008Lc-3Z for submit@debbugs.gnu.org; Mon, 09 May 2022 05:24:54 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41926) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nnzdM-0008LQ-8Q for 54728-done@debbugs.gnu.org; Mon, 09 May 2022 05:24:53 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47826) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnzdG-0000eJ-Fm; Mon, 09 May 2022 05:24:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=LdSs3hlsS4s2CapCb+tCqKwtzoUOoPuZhz37QFWpyJA=; b=TfEERsVdVm/una84upgn as3Y3RTAq+8va1atu2ltCfbdIdpBV08ENvAHYVfpk2IGVg8lGOOstp0gYcbSQYXFCVm10bduZPEzM KWeGz79ct5qBOM/PGHwL0OtI2ieSOSflY0IsaP50le+v8Vs3NR7l+EahmdzOtIXgs3KfbEgWsbkxM hLFfXqLtRK3Vw8qc7NBwCy3vAdbfKV43vBBeuMPFkrIInhNHDPCO+DCYr6EdRf74aQCnwYKql+18X oytxT1Yq8B1em8RpGeUUe73S00/ZPo5ZKQW7J/EZPgCC3gA9bO+ZSwNnlwfTUtuEmQwLpHwNlvTZu 8RKaRZt8ErxlsQ==; Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=44914 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nnzdG-0007HF-2j; Mon, 09 May 2022 05:24:46 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Denis 'GNUtoo' Carikli Subject: Re: bug#54728: Valgrind not working out of the box due to stripped ld.so References: <2d69d3b032cea71f038fad9bacd7d060d323c110.camel@telenet.be> <20220426013913.20117-1-GNUtoo@cyberdimension.org> <20220426013913.20117-3-GNUtoo@cyberdimension.org> Date: Mon, 09 May 2022 11:24:44 +0200 In-Reply-To: <20220426013913.20117-3-GNUtoo@cyberdimension.org> (Denis Carikli's message of "Tue, 26 Apr 2022 03:39:13 +0200") Message-ID: <87czgnrrc3.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54728-done Cc: 54728-done@debbugs.gnu.org, maximedevos@telenet.be X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Denis, Denis 'GNUtoo' Carikli skribis: > * gnu/packages/valgrind.scm (valgrind/interactive)[native-inputs]: > Add libc:debug > [arguments]: Add patch-default-debuginfo-path phase > [source]: Add patch. > (valgrind-3.18)[source]: Add patch. > > * gnu/packages/commencement.scm (glibc-final): Export variable. > > Signed-off-by: Denis 'GNUtoo' Carikli I had lost track of it, so thanks for pinging. I=E2=80=99ve applied it and confirmed it works. I made the following cosme= tic changes (patch below): =E2=80=A2 removing the =E2=80=98glibc-final=E2=80=99 export, which is unn= ecessary; =E2=80=A2 in phases, refer to the =E2=80=98inputs=E2=80=99 parameter rath= er than the =E2=80=98%build-inputs=E2=80=99 global variable (which is deprecated); =E2=80=A2 avoid repetition of (string-append (assoc-ref =E2=80=A6) "/lib/= debug"); =E2=80=A2 tweak indentation. Thanks! Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index 1269e07593..0da011087c 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -95,83 +95,71 @@ (define-public valgrind (define-public valgrind/interactive (package/inherit - valgrind - (version "3.17.0") - (source (origin - (method url-fetch) - (uri (list (string-append "https://sourceware.org/pub/valgrind" - "/valgrind-" version ".tar.bz2") - (string-append "ftp://sourceware.org/pub/valgrind" - "/valgrind-" version ".tar.bz2"))) - (sha256 - (base32 - "18l5jbk301j3462gipqn9bkfx44mdmwn0pwr73r40gl1irkfqfmd")) - (patches (search-patches - "valgrind-enable-arm.patch" - "valgrind-fix-default-debuginfo-path.patch")))) - (inputs - ;; GDB is needed to provide a sane default for `--db-command'. - `(("gdb" ,gdb) - ("glibc:debug" ,(canonical-package glibc) "debug"))) - (arguments + valgrind + (version "3.17.0") + (source (origin + (method url-fetch) + (uri (list (string-append "https://sourceware.org/pub/valgrind" + "/valgrind-" version ".tar.bz2") + (string-append "ftp://sourceware.org/pub/valgrind" + "/valgrind-" version ".tar.bz2"))) + (sha256 + (base32 + "18l5jbk301j3462gipqn9bkfx44mdmwn0pwr73r40gl1irkfqfmd")) + (patches (search-patches + "valgrind-enable-arm.patch" + "valgrind-fix-default-debuginfo-path.patch")))) + (inputs + ;; GDB is needed to provide a sane default for `--db-command'. + `(("gdb" ,gdb) + ("glibc:debug" ,(canonical-package glibc) "debug"))) + (arguments (substitute-keyword-arguments (package-arguments valgrind) - ((#:phases those-phases #~%standard-phases) - #~(let* ((those-phases #$those-phases) - (unpack (assoc-ref those-phases 'unpack))) - (modify-phases - those-phases - (add-before 'configure 'patch-default-debuginfo-path - (lambda _ - ;; This helps Valgrind find the debug symbols of ld.so. - ;; Without it, Valgrind does not work in a Guix shell - ;; container and cannot be used as-is during packages tests - ;; phases - (substitute* ' - ("coregrind/m_debuginfo/readelf.c" - "docs/xml/manual-core-adv.xml" - "docs/xml/manual-core.xml") - (("DEFAULT_DEBUGINFO_PATH") - (string-append (assoc-ref %build-inputs "glibc:debug") - "/lib/debug"))) - ;; We also need to account for the bigger path in - ;; the malloc-ed variables - (substitute* ' - ("coregrind/m_debuginfo/readelf.c") - (("DEBUGPATH_EXTRA_BYTES_1") - (number->string - (+ (string-length - (string-append - (assoc-ref %build-inputs "glibc:debug") - "/lib/debug")) - (string-length "/.build-id//.debug") - 1)))) - (substitute* ' - ("coregrind/m_debuginfo/readelf.c") - (("DEBUGPATH_EXTRA_BYTES_2") - (number->string - (+ (string-length - (string-append - (assoc-ref - %build-inputs - "glibc:debug") - "/lib/debug")) - (string-length - "/usr/lib/debug") - 1))))))))))) - (properties '()))) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-before 'configure 'patch-default-debuginfo-path + (lambda* (#:key inputs #:allow-other-keys) + ;; This helps Valgrind find the debug symbols of ld.so. + ;; Without it, Valgrind does not work in a Guix shell + ;; container and cannot be used as-is during packages tests + ;; phases. + ;; TODO: Remove on the next rebuild cycle, when libc is not + ;; longer fully stripped. + (define libc-debug + (string-append (assoc-ref inputs "glibc:debug") + "/lib/debug")) + + (substitute* '("coregrind/m_debuginfo/readelf.c" + "docs/xml/manual-core-adv.xml" + "docs/xml/manual-core.xml") + (("DEFAULT_DEBUGINFO_PATH") + libc-debug)) + ;; We also need to account for the bigger path in + ;; the malloc-ed variables. + (substitute* '("coregrind/m_debuginfo/readelf.c") + (("DEBUGPATH_EXTRA_BYTES_1") + (number->string + (+ (string-length libc-debug) + (string-length "/.build-id//.debug") + 1)))) + (substitute* '("coregrind/m_debuginfo/readelf.c") + (("DEBUGPATH_EXTRA_BYTES_2") + (number->string + (+ (string-length libc-debug) + (string-length "/usr/lib/debug") + 1)))))))))) + (properties '()))) (define-public valgrind-3.18 (package (inherit valgrind/interactive) (version "3.18.1") (source (origin - (method url-fetch) + (inherit (package-source valgrind/interactive)) (uri (list (string-append "https://sourceware.org/pub/valgrind" "/valgrind-" version ".tar.bz2") (string-append "ftp://sourceware.org/pub/valgrind" "/valgrind-" version ".tar.bz2"))) (sha256 (base32 - "1xgph509i6adv9w2glviw3xrmlz0dssg8992hbvxsbkp7ahrm180")) - (patches (search-patches "valgrind-enable-arm.patch" - "valgrind-fix-default-debuginfo-path.patch")))))) + "1xgph509i6adv9w2glviw3xrmlz0dssg8992hbvxsbkp7ahrm180")))))) --=-=-=-- From unknown Fri Jun 20 07:13:44 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 06 Jun 2022 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator