diff options
author | Werner Zeh <werner.zeh@siemens.com> | 2022-11-16 07:56:38 +0100 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-11-25 13:53:31 +0000 |
commit | 314f280aacf1ecaea6a083b75fe5fa810e92dc09 (patch) | |
tree | 97509fd0f837d93e6bdb294c0536f2b4672a6907 /src/commonlib | |
parent | a45ed44724a30303030e80898202b77c34498942 (diff) |
commonlib/fsp_relocate.c: Fix cbfstool build on 32-bit host
On a 32-bit host, uintptr_t is defined as 'unsigned int' instead of
'unsigend long int' like on a 64-bit host. When cbfstool is built on a
32-bit host, the printk format specifier '%lx' expects a 'long int'
while new_addr is of type 'uintptr_t', aka 'unsigned int'.
This in the end leads to a build error.
To fix this and make it build on both, 32- and 64-bit hosts, use PRIxPTR
as the format specifier. This macro will be resolved at compile time in
the right way on both, 32- and 64-bit hosts.
Test=Build cbfstool on 32- and 64-bit hosts.
Change-Id: Ia917d2ed31778f3a29c0a6c7368f74c15319b099
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69682
Reviewed-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/commonlib')
-rw-r--r-- | src/commonlib/fsp_relocate.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/commonlib/fsp_relocate.c b/src/commonlib/fsp_relocate.c index ad24ca7fda..c2c3811ace 100644 --- a/src/commonlib/fsp_relocate.c +++ b/src/commonlib/fsp_relocate.c @@ -3,6 +3,7 @@ #include <console/console.h> #include <commonlib/endian.h> #include <commonlib/fsp.h> +#include <inttypes.h> /* * Intel's code does not have a handle on changing global packing state. * Therefore, one needs to protect against packing policies that are set @@ -219,7 +220,7 @@ static int pe_relocate(uintptr_t new_addr, void *pe, void *fsp, size_t fih_off) delta, image_base, img_base_off, (uint32_t)((uint8_t *)&ophdr->ImageBase - pe_base)); - printk(FSP_DBG_LVL, "relocating PE32 image at addr - 0x%lx\n", new_addr); + printk(FSP_DBG_LVL, "relocating PE32 image at addr - 0x%" PRIxPTR "\n", new_addr); rsize = read_le32(&ophdr->DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC].Size); roffset = read_le32(&ophdr->DataDirectory[EFI_IMAGE_DIRECTORY_ENTRY_BASERELOC].VirtualAddress); printk(FSP_DBG_LVL, "relocation table at offset-%x,size=%x\n", roffset, rsize); |