diff --git a/debian/changelog b/debian/changelog index 061bb20..85f9f15 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 0000000..5f6769f --- /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 b979696..c1c3f85 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ fix-test-includes.patch +fix-32b-format-strings.patch