summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve McIntyre <steve@einval.com>2022-04-28 00:47:27 +0100
committerSteve McIntyre <steve@einval.com>2022-04-28 00:47:27 +0100
commitc8efa9abf738076ed83ca56626d0bd127e001519 (patch)
tree6e012b26bdcfec1bafaa9e9dd8f95fd64e3fb2a9
parente4de7243178d4e83f0c8b89ad5b2acefcfbfa7a6 (diff)
downloadefi-boot-shim-c8efa9abf738076ed83ca56626d0bd127e001519.tar.gz
efi-boot-shim-c8efa9abf738076ed83ca56626d0bd127e001519.zip
Fix format strings for 32-bit builds
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/fix-32b-format-strings.patch45
-rw-r--r--debian/patches/series1
3 files changed, 47 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 061bb20c..85f9f15e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ shim (15.5-1) UNRELEASED; urgency=medium
- fix-import_one_mok_state.patch
- fix_arm64_rela_sections.patch
- relax_check_for_import_mok_state.patch
+ * Fix format strings for 32-bit builds
* Tweak setup for dh_auto_test so the tests work
* Add new build-dep on libefivar-dev for tests
diff --git a/debian/patches/fix-32b-format-strings.patch b/debian/patches/fix-32b-format-strings.patch
new file mode 100644
index 00000000..5f6769f4
--- /dev/null
+++ b/debian/patches/fix-32b-format-strings.patch
@@ -0,0 +1,45 @@
+diff --git a/post-process-pe.c b/post-process-pe.c
+index 8414a5fa..7efba714 100644
+--- a/post-process-pe.c
++++ b/post-process-pe.c
+@@ -174,7 +174,7 @@ load_pe(const char *const file, void *const data, const size_t datasize,
+ }
+
+ if (FileAlignment % 2 != 0)
+- errx(1, "%s: Invalid file alignment %ld", file, FileAlignment);
++ errx(1, "%s: Invalid file alignment %ld", file, (long)FileAlignment);
+
+ if (FileAlignment == 0)
+ FileAlignment = 0x200;
+@@ -189,7 +189,7 @@ load_pe(const char *const file, void *const data, const size_t datasize,
+ "Number of RVAs:%"PRIu64" EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES:%d\n",
+ ctx->NumberOfRvaAndSizes, EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES);
+ if (EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES < ctx->NumberOfRvaAndSizes)
+- errx(1, "%s: invalid number of RVAs (%lu entries, max is %d)",
++ errx(1, "%s: invalid number of RVAs (%llu entries, max is %d)",
+ file, ctx->NumberOfRvaAndSizes,
+ EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES);
+
+@@ -234,11 +234,11 @@ load_pe(const char *const file, void *const data, const size_t datasize,
+ sizeof(EFI_IMAGE_DATA_DIRECTORY), &sz1))
+ debug(ERROR,
+ "ctx->NumberOfRvaAndSizes (%zu) * sizeof(EFI_IMAGE_DATA_DIRECTORY) overflows\n",
+- ctx->NumberOfRvaAndSizes);
++ (size_t)ctx->NumberOfRvaAndSizes);
+ else
+ debug(ERROR,
+ "ctx->NumberOfRvaAndSizes (%zu) * sizeof(EFI_IMAGE_DATA_DIRECTORY) = %zu\n",
+- ctx->NumberOfRvaAndSizes, sz1);
++ (size_t)ctx->NumberOfRvaAndSizes, sz1);
+ debug(ERROR,
+ "space after image header:%zu data directory size:%zu\n",
+ sz0, sz1);
+@@ -271,7 +271,7 @@ load_pe(const char *const file, void *const data, const size_t datasize,
+ if (sub(ctx->SizeOfHeaders, SectionHeaderOffset, &sz0) ||
+ div(sz0, EFI_IMAGE_SIZEOF_SECTION_HEADER, &sz0) ||
+ (sz0 < ctx->NumberOfSections)) {
+- debug(ERROR, "(%zu - %zu) / %d >= %d\n", ctx->SizeOfHeaders,
++ debug(ERROR, "(%zu - %zu) / %d >= %d\n", (size_t)ctx->SizeOfHeaders,
+ SectionHeaderOffset, EFI_IMAGE_SIZEOF_SECTION_HEADER,
+ ctx->NumberOfSections);
+ errx(1, "%s: image sections overflow section headers", file);
diff --git a/debian/patches/series b/debian/patches/series
index b9796961..c1c3f856 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
fix-test-includes.patch
+fix-32b-format-strings.patch