On Tue, 14 Jul 2020 13:20:16 +0200 Thomas Huth <thuth@xxxxxxxxxx> wrote: > On 14/07/2020 13.09, Claudio Imbrenda wrote: > > The assert in lib/alloc_page is hardcoded to long, and size_t is > > just an int on 32 bit architectures. > > > > Adding a cast makes the compiler happy. > > > > Fixes: 73f4b202beb39 ("lib/alloc_page: change some parameter types") > > Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx> > > --- > > lib/alloc_page.c | 5 +++-- > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/lib/alloc_page.c b/lib/alloc_page.c > > index fa3c527..617b003 100644 > > --- a/lib/alloc_page.c > > +++ b/lib/alloc_page.c > > @@ -29,11 +29,12 @@ void free_pages(void *mem, size_t size) > > assert_msg((unsigned long) mem % PAGE_SIZE == 0, > > "mem not page aligned: %p", mem); > > > > - assert_msg(size % PAGE_SIZE == 0, "size not page aligned: > > %#lx", size); > > + assert_msg(size % PAGE_SIZE == 0, "size not page aligned: > > %#lx", > > + (unsigned long)size); > > > > assert_msg(size == 0 || (uintptr_t)mem == -size || > > (uintptr_t)mem + size > (uintptr_t)mem, > > - "mem + size overflow: %p + %#lx", mem, size); > > + "mem + size overflow: %p + %#lx", mem, > > (unsigned long)size); > > Looking at lib/printf.c, it seems like it also supports %z ... have > you tried? no, but in hindsight I should have. It's probably a much cleaner solution. I'll try and respin.