cpu/x86/smm: Fix size_t type mismatch in print statement
The 64-bit compiler x86_64-linux-gnu-gcc-10 aborts the build with the
format warning below:
CC ramstage/cpu/x86/smm/smm_module_loader.o
src/cpu/x86/smm/smm_module_loader.c: In function 'smm_module_setup_stub':
src/cpu/x86/smm/smm_module_loader.c:360:70: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Werror=format=]
360 | printk(BIOS_ERR, "%s: state save size: %zx : smm_entry_offset -> %lx\n",
| ~~^
| |
| long unsigned int
| %x
As `size_t` is defined as `long unsigned int` in i386-elf (32-bit), the
length modifier `l` matches there. With x86_64-elf/x86_64-linux-gnu
(64-bit) and `-m32` `size_t` is defined as `unsigned int` resulting in a
type mismatch. So, use the correct length modifier `z` for the type
`size_t`.
Found-by: x86_64-linux-gnu-gcc-10 (Debian 10.2.1-6) 10.2.1 20210110
Fixes: afb7a814
("cpu/x86/smm: Introduce SMM module loader version 2")
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Change-Id: I4172e0f4dc40437250da89b7720a5c1e5fbab709
Reviewed-on: https://review.coreboot.org/c/coreboot/+/54342
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
This commit is contained in:
committed by
Patrick Georgi
parent
2ea9595fcb
commit
85ac0675ed
@@ -356,7 +356,7 @@ static int smm_module_setup_stub(void *const smbase, const size_t smm_size,
|
|||||||
/* The save state size encroached over the first SMM entry point. */
|
/* The save state size encroached over the first SMM entry point. */
|
||||||
if (size <= SMM_ENTRY_OFFSET) {
|
if (size <= SMM_ENTRY_OFFSET) {
|
||||||
printk(BIOS_ERR, "%s: encroachment over SMM entry point\n", __func__);
|
printk(BIOS_ERR, "%s: encroachment over SMM entry point\n", __func__);
|
||||||
printk(BIOS_ERR, "%s: state save size: %zx : smm_entry_offset -> %lx\n",
|
printk(BIOS_ERR, "%s: state save size: %zx : smm_entry_offset -> %zx\n",
|
||||||
__func__, size, (size_t)SMM_ENTRY_OFFSET);
|
__func__, size, (size_t)SMM_ENTRY_OFFSET);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user