guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

10/10: vm: Adjust FAT serial number code to 32-bit Guile.


From: guix-commits
Subject: 10/10: vm: Adjust FAT serial number code to 32-bit Guile.
Date: Wed, 24 Apr 2019 18:46:15 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit ecb33b87aafd9e240c2cb351525814cb1bb5ceb1
Author: Ludovic Courtès <address@hidden>
Date:   Thu Apr 25 00:43:42 2019 +0200

    vm: Adjust FAT serial number code to 32-bit Guile.
    
    On 32-bit systems, 'string-hash' would raise an out-of-range exception
    when the second argument was 2^32.
    
    * gnu/build/vm.scm (make-iso9660-image): Pass 2^32 - 1 to 'string-hash'.
---
 gnu/build/vm.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm
index f295362..372cf63 100644
--- a/gnu/build/vm.scm
+++ b/gnu/build/vm.scm
@@ -473,8 +473,12 @@ GRUB configuration and OS-DRV as the stuff in it."
   ;; allows for deterministic builds.
   (setenv "GRUB_FAT_SERIAL_NUMBER"
           (number->string (if volume-uuid
+
+                              ;; On 32-bit systems the 2nd argument must be
+                              ;; lower than 2^32.
                               (string-hash (iso9660-uuid->string volume-uuid)
-                                           (expt 2 32))
+                                           (- (expt 2 32) 1))
+
                               #x77777777)
                           16))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]