mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
gnu: efivar: Fix build errors on i686-linux.
* gnu/packages/patches/efivar-211.patch: New patch. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/linux.scm (efivar)[source]<origin>: Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
d6b9a3faa8
commit
b0d3f42372
3 changed files with 91 additions and 1 deletions
|
@ -1018,6 +1018,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ecl-16-ignore-stderr-write-error.patch \
|
||||
%D%/packages/patches/ecl-16-libffi.patch \
|
||||
%D%/packages/patches/efibootmgr-remove-extra-decl.patch \
|
||||
%D%/packages/patches/efivar-211.patch \
|
||||
%D%/packages/patches/eigen-remove-openmp-error-counting.patch \
|
||||
%D%/packages/patches/eigen-stabilise-sparseqr-test.patch \
|
||||
%D%/packages/patches/einstein-build.patch \
|
||||
|
|
|
@ -6776,7 +6776,10 @@ (define-public efivar
|
|||
"-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h"))))
|
||||
"0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h"))
|
||||
(patches
|
||||
(search-patches "efivar-211.patch"))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
86
gnu/packages/patches/efivar-211.patch
Normal file
86
gnu/packages/patches/efivar-211.patch
Normal file
|
@ -0,0 +1,86 @@
|
|||
Patch from <https://github.com/rhboot/efivar/pull/211>.
|
||||
|
||||
From 15622b7e5761f3dde3f0e42081380b2b41639a48 Mon Sep 17 00:00:00 2001
|
||||
From: itd0 <69421122+itd0@users.noreply.github.com>
|
||||
Date: Mon, 4 Apr 2022 19:59:58 +0200
|
||||
Subject: [PATCH] Avoid format error on i686
|
||||
|
||||
On i686 definition of off_t and ssize_t differ. Update format length
|
||||
modifiers as needed to avoid format errors with GCC.
|
||||
|
||||
Signed-off-by: itd0 <69421122+itd0@users.noreply.github.com>
|
||||
---
|
||||
src/esl-iter.c | 18 +++++++++---------
|
||||
src/secdb-dump.c | 2 +-
|
||||
2 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/esl-iter.c b/src/esl-iter.c
|
||||
index 26b5cb5e..4a1938ad 100644
|
||||
--- a/src/esl-iter.c
|
||||
+++ b/src/esl-iter.c
|
||||
@@ -308,13 +308,13 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
|
||||
return -1;
|
||||
}
|
||||
if (iter->offset < 0) {
|
||||
- efi_error("iter->offset (%zd) < 0", iter->offset);
|
||||
+ efi_error("iter->offset (%jd) < 0", (intmax_t)iter->offset);
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
if ((uint32_t)iter->offset >= iter->len) {
|
||||
- efi_error("iter->offset (%zd) >= iter->len (%zd)",
|
||||
- iter->offset, iter->len);
|
||||
+ efi_error("iter->offset (%jd) >= iter->len (%zd)",
|
||||
+ (intmax_t)iter->offset, iter->len);
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
@@ -335,9 +335,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
|
||||
iter->len - iter->offset, iter->len - iter->offset,
|
||||
iter->esl->signature_list_size, iter->esl->signature_list_size);
|
||||
if (correct_size && (iter->len - iter->offset) > 0) {
|
||||
- warnx("correcting ESL size from %d to %zd at %lx",
|
||||
+ warnx("correcting ESL size from %d to %jd at %lx",
|
||||
iter->esl->signature_list_size,
|
||||
- iter->len - iter->offset, iter->offset);
|
||||
+ (intmax_t)(iter->len - iter->offset), iter->offset);
|
||||
debug("correcting ESL size from %d to %zd at %lx",
|
||||
iter->esl->signature_list_size,
|
||||
iter->len - iter->offset, iter->offset);
|
||||
@@ -360,9 +360,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
|
||||
if (iter->len - iter->offset < iter->esl->signature_list_size) {
|
||||
debug("EFI_SIGNATURE_LIST is malformed");
|
||||
if (correct_size && (iter->len - iter->offset) > 0) {
|
||||
- warnx("correcting ESL size from %d to %zd at 0x%lx",
|
||||
+ warnx("correcting ESL size from %d to %jd at 0x%lx",
|
||||
iter->esl->signature_list_size,
|
||||
- iter->len - iter->offset, iter->offset);
|
||||
+ (intmax_t)(iter->len - iter->offset), iter->offset);
|
||||
debug("correcting ESL size from %d to %zd at 0x%lx",
|
||||
iter->esl->signature_list_size,
|
||||
iter->len - iter->offset, iter->offset);
|
||||
@@ -411,9 +411,9 @@ esl_list_iter_next_with_size_correction(esl_list_iter *iter, efi_guid_t *type,
|
||||
if (iter->esl->signature_list_size > iter->len - iter->offset) {
|
||||
debug("EFI_SIGNATURE_LIST is malformed");
|
||||
if (correct_size && (iter->len - iter->offset) > 0) {
|
||||
- warnx("correcting ESL size from %d to %zd at 0x%lx",
|
||||
+ warnx("correcting ESL size from %d to %jd at 0x%lx",
|
||||
iter->esl->signature_list_size,
|
||||
- iter->len - iter->offset, iter->offset);
|
||||
+ (intmax_t)(iter->len - iter->offset), iter->offset);
|
||||
debug("correcting ESL size from %d to %zd at 0x%lx",
|
||||
iter->esl->signature_list_size,
|
||||
iter->len - iter->offset, iter->offset);
|
||||
diff --git a/src/secdb-dump.c b/src/secdb-dump.c
|
||||
index 02fb915b..17f64411 100644
|
||||
--- a/src/secdb-dump.c
|
||||
+++ b/src/secdb-dump.c
|
||||
@@ -248,7 +248,7 @@ secdb_dump(efi_secdb_t *secdb, bool annotations)
|
||||
esln += 1;
|
||||
}
|
||||
secdb_dump_finish();
|
||||
- printf("%08lx\n", offset);
|
||||
+ printf("%08zx\n", offset);
|
||||
|
||||
fflush(stdout);
|
||||
}
|
Loading…
Reference in a new issue