[coreboot-gerrit] Patch set updated for coreboot: 6ca7687 cbmem: map_memory: Use length modifier `j` and cast for an `off_t` argument

Paul Menzel (paulepanter@users.sourceforge.net) gerrit at coreboot.org
Tue Apr 16 12:11:27 CEST 2013

Paul Menzel (paulepanter at users.sourceforge.net) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/3083


commit 6ca7687466e28f8903c6ea8f8f65ebdcb04ee456
Author: Paul Menzel <paulepanter at users.sourceforge.net>
Date:   Sat Apr 13 18:25:56 2013 +0200

    cbmem: map_memory: Use length modifier `j` and cast for an `off_t`  argument
    cbmem currently fails to build due to `-Werror` and the following
        $ make
        cc -O2 -Wall -Werror -iquote ../../src/include -iquote ../../src/src/arch/x86  -c -o cbmem.o cbmem.c
        cbmem.c: In function ‘map_memory’:
        cbmem.c:87:2: error: format ‘%zx’ expects argument of type ‘size_t’, but argument 2 has type ‘off_t’ [-Werror=format]
    Casting the argument of type `off_t` to `intmax_t` and using the
    length modifier `j`
        $ man 3 printf
               j      A following integer conversion corresponds to an intmax_t or uintmax_t argument.
    instead of `z` as suggested in [1] and confirmed by stefanct and
    segher in #coreboot on <irc.freenode.net>, gets rid of this warning
    and should work an 32-bit and 64-bit systems, as an `off_t` fits
    into `intmax_t`.
    [1] http://www.pixelbeat.org/programming/gcc/int_types/
    Change-Id: I1360abbc47aa1662e1edfbe337cf7911695c532f
    Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
 util/cbmem/cbmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/util/cbmem/cbmem.c b/util/cbmem/cbmem.c
index f3f5add..3cebfef 100644
--- a/util/cbmem/cbmem.c
+++ b/util/cbmem/cbmem.c
@@ -84,7 +84,7 @@ static void *map_memory(u64 physical)
 	/* Mapped memory must be aligned to page size */
 	p = physical & ~(page - 1);
-	debug("Mapping 1MB of physical memory at 0x%zx.\n", p);
+	debug("Mapping 1MB of physical memory at 0x%jx.\n", (intmax_t)p);
 	v = mmap(NULL, MAP_BYTES, PROT_READ, MAP_SHARED, fd, p);

More information about the coreboot-gerrit mailing list