diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 5 | ||||
-rw-r--r-- | gnu/packages/patches/efivar-211.patch | 86 |
3 files changed, 91 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 6f426d8dba..5d0bee45d8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e49bbfbe9c..9e64bb207c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -6776,7 +6776,10 @@ under OpenGL graphics workloads.") "-" version ".tar.bz2")) (sha256 (base32 - "0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h")))) + "0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h")) + (patches + (search-patches "efivar-211.patch")))) + (build-system gnu-build-system) (arguments (list diff --git a/gnu/packages/patches/efivar-211.patch b/gnu/packages/patches/efivar-211.patch new file mode 100644 index 0000000000..39d53a6ee0 --- /dev/null +++ b/gnu/packages/patches/efivar-211.patch @@ -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); + } |