[PATCH 1/1] tools/mkeficapsule: correct printf codes
Simon Glass
sjg at chromium.org
Thu Aug 15 22:31:36 CEST 2024
Hi Heinrich,
On Wed, 14 Aug 2024 at 06:59, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> On 14.08.24 14:40, Simon Glass wrote:
> > Hi Heinrich,
> >
> > On Wed, 14 Aug 2024 at 01:14, Heinrich Schuchardt
> > <heinrich.schuchardt at canonical.com> wrote:
> >>
> >> uint64_t is defined as unsigned long long on 32bit ARM.
> >> Convert uint64_t values to unsigned long long and use %llX for printing.
> >>
> >> tools/mkeficapsule.c: In function ‘dump_capsule_auth_header’:
> >> tools/mkeficapsule.c:694:66: warning: format ‘%lX’ expects argument of
> >> type ‘long unsigned int’, but argument 2 has type ‘uint64_t’
> >> {aka ‘long long unsigned int’} [-Wformat=]
> >> 694 | printf("EFI_FIRMWARE_IMAGE_AUTH.MONOTONIC_COUNT\t\t: %08lX\n",
> >> | ~~~~^
> >> | |
> >> | long unsigned int
> >> | %08llX
> >>
> >> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> >> ---
> >> tools/mkeficapsule.c | 12 ++++++------
> >> 1 file changed, 6 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/tools/mkeficapsule.c b/tools/mkeficapsule.c
> >> index f28008a0829..d346c217f09 100644
> >> --- a/tools/mkeficapsule.c
> >> +++ b/tools/mkeficapsule.c
> >> @@ -691,8 +691,8 @@ static uint32_t dump_fmp_payload_header(
> >> static void dump_capsule_auth_header(
> >> struct efi_firmware_image_authentication *capsule_auth_hdr)
> >> {
> >> - printf("EFI_FIRMWARE_IMAGE_AUTH.MONOTONIC_COUNT\t\t: %08lX\n",
> >> - capsule_auth_hdr->monotonic_count);
> >> + printf("EFI_FIRMWARE_IMAGE_AUTH.MONOTONIC_COUNT\t\t: %08llX\n",
> >> + (unsigned long long)capsule_auth_hdr->monotonic_count);
> >> printf("EFI_FIRMWARE_IMAGE_AUTH.AUTH_INFO.HDR.dwLENGTH\t: %08X\n",
> >> capsule_auth_hdr->auth_info.hdr.dwLength);
> >> printf("EFI_FIRMWARE_IMAGE_AUTH.AUTH_INFO.HDR.wREVISION\t: %08X\n",
> >> @@ -724,10 +724,10 @@ static void dump_fmp_capsule_image_header(
> >> image_hdr->update_image_size);
> >> printf("FMP_CAPSULE_IMAGE_HDR.UPDATE_VENDOR_CODE_SIZE\t: %08X\n",
> >> image_hdr->update_vendor_code_size);
> >> - printf("FMP_CAPSULE_IMAGE_HDR.UPDATE_HARDWARE_INSTANCE\t: %08lX\n",
> >> - image_hdr->update_hardware_instance);
> >> - printf("FMP_CAPSULE_IMAGE_HDR.IMAGE_CAPSULE_SUPPORT\t: %08lX\n",
> >> - image_hdr->image_capsule_support);
> >> + printf("FMP_CAPSULE_IMAGE_HDR.UPDATE_HARDWARE_INSTANCE\t: %08llX\n",
> >> + (unsigned long long)image_hdr->update_hardware_instance);
> >> + printf("FMP_CAPSULE_IMAGE_HDR.IMAGE_CAPSULE_SUPPORT\t: %08llX\n",
> >> + (unsigned long long)image_hdr->image_capsule_support);
> >
> > These should be in lower-case hex, by the way. Also see inttypes.h
>
> Why would you print some lines in lower case while the rest is upper case?
>
> I have sent a second version using PRIX64 and avoiding the conversion.
Please send a second patch to convert them all to lower case.
- Simon
More information about the U-Boot
mailing list