GNU bug report logs -
#30820
Chunked store references in compiled code break grafting (again)
Previous Next
Reported by: ludo <at> gnu.org (Ludovic Courtès)
Date: Wed, 14 Mar 2018 15:48:01 UTC
Severity: serious
Merged with 30395
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Full log
Message #21 received at 30820 <at> debbugs.gnu.org (full text, mbox):
Mark H Weaver <mhw <at> netris.org> writes:
> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> The recently added glibc grafts triggered issues that, in the end, show
>> the return of <http://bugs.gnu.org/24703> (“Store references in 8-byte
>> chunks in compiled code”).
>
> I think that we should generalize our reference scanning and grafting
> code to support store references broken into pieces, as long as each
> piece containing part of the hash is at least 8 bytes long.
>
> Here's my preliminary proposal:
>
> (1) The reference scanner should recognize any 8-byte substring of a
> hash as a valid reference to that hash.
To facilitate the transition: to support older versions of the Guix
daemon (or Nix daemon), we could add a final phase to gnu-build-system
which would "unhide" these references as follows: It would scan each
output directory for 8-byte substrings of hashes. If it finds any
references that the old scanner is unable to see, it would install a
file to the output directory containing the full store names of the
hidden references.
This only works for output directories, though. I don't know what to do
about output files containing hidden references. I guess the final
phase should raise an error in this case, and hopefully it rarely
happens.
Mark
This bug report was last modified 7 years and 120 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.