From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id oP9OFsWNZWDDKQAAgWs5BA (envelope-from ) for ; Thu, 01 Apr 2021 11:09:25 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id UJ44EMWNZWCBdwAAB5/wlQ (envelope-from ) for ; Thu, 01 Apr 2021 09:09:25 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 93AC9F067 for ; Thu, 1 Apr 2021 11:09:24 +0200 (CEST) Received: from localhost ([::1]:55858 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lRtKN-0001dN-Eg for larch@yhetil.org; Thu, 01 Apr 2021 05:09:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48848) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lRtJ4-0000Ht-M5 for bug-guix@gnu.org; Thu, 01 Apr 2021 05:08:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44743) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lRtJ3-0006W7-UP for bug-guix@gnu.org; Thu, 01 Apr 2021 05:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lRtJ3-00018L-PK for bug-guix@gnu.org; Thu, 01 Apr 2021 05:08:01 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#33848: Store references in SBCL-compiled code are "invisible" Resent-From: Guillaume Le Vaillant Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 01 Apr 2021 09:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33848 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Received: via spool by 33848-submit@debbugs.gnu.org id=B33848.16172680584320 (code B ref 33848); Thu, 01 Apr 2021 09:08:01 +0000 Received: (at 33848) by debbugs.gnu.org; 1 Apr 2021 09:07:38 +0000 Received: from localhost ([127.0.0.1]:56289 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lRtIg-00017c-Fn for submit@debbugs.gnu.org; Thu, 01 Apr 2021 05:07:38 -0400 Received: from mout01.posteo.de ([185.67.36.65]:55957) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lRtIe-00017M-G5 for 33848@debbugs.gnu.org; Thu, 01 Apr 2021 05:07:37 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 34E82160060 for <33848@debbugs.gnu.org>; Thu, 1 Apr 2021 11:07:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1617268050; bh=pFX2Hdgq596McSZNUd1m2x4kbOv/dl3wNhLj0AS/cRA=; h=From:To:Cc:Subject:Date:From; b=JKb9yiqao5+HNkGlxV95zwKrHSeyw0WRcMfvZTAuyb+zX2evsRKpuvbJK39N5MNmy yaGTbrn64lEvNDzSUT/yb9DwkXzR3TGCHFpFbNMTZI0l+Z5IAZMlmDl/1RjHOr1DAm 3ytGOapAUM3OzpqAktv+nkbEasB+Nspnrdy1XIHECQR2nOU8Iy1hpOos8KD2TJ0qeA yRlxTVd4ccHn1ttAWFNQzZuUgzJfT7jxO7mRt1One4XfRqocfV6kpJi6Xi+Me8wfgn KuMS0DMngRaerWjWtRhJljy08HkyZIbJNLx00/nXosu3bEqG3Kvpyr6moYRYZyVcmM IqGa7zWXy4WXg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4F9y4c5vw3z9rxV; Thu, 1 Apr 2021 11:07:28 +0200 (CEST) References: <87r2e8jpfx.fsf@gnu.org> <87d0psi1xo.fsf@gnu.org> <874lb3kin6.fsf@ambrevar.xyz> <87sgynezha.fsf@gnu.org> <87tvj2yesd.fsf@netris.org> <877efwe04u.fsf@gnu.org> <8736qji7c1.fsf@ambrevar.xyz> <87tvizvzgk.fsf@netris.org> <87o9979gfn.fsf@gnu.org> <87tvizgghs.fsf@ambrevar.xyz> <87k1juaomo.fsf@gnu.org> <87muoqhk62.fsf@ambrevar.xyz> <87zhsq8wkj.fsf@gnu.org> <87d0pmhbgn.fsf@ambrevar.xyz> <87r2e28tkv.fsf@gnu.org> <874laygkiy.fsf@ambrevar.xyz> <87lfa5eymf.fsf@ambrevar.xyz> <87tuoscsk9.fsf@gnu.org> <87im57b8u7.fsf@ambrevar.xyz> <87czvebky2.fsf@netris.org> <87eefu30a4.fsf@gnu.org> User-agent: mu4e 1.4.15; emacs 27.2 From: Guillaume Le Vaillant In-reply-to: <87eefu30a4.fsf@gnu.org> Date: Thu, 01 Apr 2021 11:07:23 +0200 Message-ID: <87im56l6es.fsf@yamatai> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Pierre Neidhardt , 33848@debbugs.gnu.org Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1617268164; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=MeZIugHmH0DECTcfJ8/aKaFTGCvbtT0laVwBFgGiZ3o=; b=rV2IdeeTNXRR2U/U2w2yieni9qG0agFE+86LLdrwTlSZVjPTWkvtcYmKeyi2qvAuMursms zECSh18GqWc3t9fuNYix9zNddl5+kCJz5eS3tG+E4DNxysxI9NYF/VRm+7RP0+RgrMYYXi YrAZQikuJlpJOioszQW1B0CgtPk1nELBUB9PkRrVsg2u0aRbPE6BDIvBW+CJyA3nDtu5Vv sGGAVzefU2b5Kk3e660gaWsa4btb7j1Ae0bUNSFus0k4QZVDBpnbw+v8egUbFN2NUioW9b PMANGUCF94Y+badsHyt1V6yvrkEYqgvw+zVEfGF4gAW+pB+CqE8upcUon6DcSg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1617268164; a=rsa-sha256; cv=none; b=nPmLstsGULdYDyPkxHSPJPrkKqYVZCINxoNtKqfixTCF1c5qIdBMhtrK9nxQgcoDCTmfFr nR+GsXTpSOM2dbzrrfYP0V8GbDDB5WALzhS3hx/5Bsw7nkO1v8XH1fG6u3X8nuQX2GvZjD xtFGTLYMCcVMatVvh3XX3+bTW1RG2gRZ900LB4TT57IkVKFmLIss/8YpsM0X/DvbQBkWxD +nqIcKSX09i7mqQSiWiZCcaANZh8VZy7pLHkfaJa5qnt6IZT38ClUSlSSerUVFtVu1eAl6 8piyHNYe/aFYogz/ocDiBLONLAImHI06ATgVDHbUVukccSTsT8DZXQduMCTFMQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=JKb9yiqa; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Spam-Score: -1.43 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=posteo.net header.s=2017 header.b=JKb9yiqa; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Migadu-Queue-Id: 93AC9F067 X-Spam-Score: -1.43 X-Migadu-Scanner: scn0.migadu.com X-TUID: 1v2T2vV7ozZq --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Pierre Neidhardt skribis: > If we are going for a SBCL-specific solution, I believe that all > references are stored in plain text files at some points (the .asd files > and the .lisp files) which are often encoded in ASCII / UTF-8, so > searching these files without having to deal with their encoding might > be enough. But of course this is less general and more brittle. A store reference to a C library in a standalone Lisp binary can come either from the current package or from some dependencies (cl+ssl, cl-cffi-gtk, etc.). So we would need to scan the source code of all the Lisp dependencies recursively to get the full list of store refrences. And as Mark wrote below, with the current grafting code, this list of store references will not solve grafting for paths that are in UTF-32 or both in ASCII and UTF-32 in the binary file. Ludovic Court=C3=A8s skribis: > Mark H Weaver skribis: > >> Pierre Neidhardt writes: >>> - The main recommendation for an easy fix without updating the scanner >>> is that we tweaked our build system to dump the store reference to a >>> separate ASCII file. >> >> Sounds good. I made a similar proposal in Dec 2018, earlier in this >> thread . I wrote: >> >> If you don't want to change the daemon, it could be worked around in o= ur >> build-side code as follows: we could add a new phase to certain build >> systems (or possibly gnu-build-system) that scans each output for >> UTF-16/32 encoded store references that are never referenced in UTF-8. >> If such references exist, a file with an unobtrusive name would be add= ed >> to that output containing those references encoded in UTF-8. This wou= ld >> enable our daemon's existing reference scanner to find all of the >> references. >> >> Our grafting code would then need to be extended to recognize and >> transform store references encoded in UTF-16/32 as well as UTF-8. > > Oh thanks for the reminder. > > The separate ASCII file doesn=E2=80=99t solve it all because, as you writ= e, we=E2=80=99d > need to change the grafting code as well. > > Then it might be simpler to use a =E2=80=9Cbyte vector=E2=80=9D data type= for those > strings. We=E2=80=99ll have to wait for Pierre=E2=80=99s patches to get = a better idea. > :-) I'm not sure what you mean with the "byte vector" data type here. Could you explain what you're thinking about with a few more details? --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCYGWNSw8cZ2x2QHBvc3Rl by5uZXQACgkQa+ggit8h/j8KtgEAoyvmikRXpUHbT3CLPgewYs1QE7dXwa/fSb96 bR8rM6YBAJpnLOUegNHW8lTLfJu8ats/gdkdL+TFysYRBtjIU6Sz =5hTk -----END PGP SIGNATURE----- --=-=-=--