Hi Laurent, [ ... ] >> +int zImage_ppc64_unzip(struct mem_ehdr *ehdr, void **buf, int *len) >> +{ >> + struct mem_shdr *shdr; >> + void *vmlinuz_addr; >> + unsigned long vmlinuz_size; >> + unsigned int *vmlinux_sizep; >> + >> + void *vmlinux_addr; >> + int vmlinux_size; >> + >> + shdr = elf_rel_find_section(ehdr, ".kernel:vmlinux.strip"); >> + if (!shdr) >> + return -1; >> + >> + vmlinuz_addr = (void *) shdr->sh_data; >> + vmlinuz_size = shdr->sh_size; >> + >> + /* The size of the uncompressed file is stored in the last 4 >> + * bytes. The vmlinux size should be less than 4G ... */ >> + vmlinux_sizep = (vmlinuz_addr + vmlinuz_size) - 4; >> + >> + fprintf(stderr, "Found vmlinuz at %p, unzipping %d bytes\n", >> + vmlinuz_addr, *vmlinux_sizep); > > Hi C?dric, > > I'd rather use dbgprintf instead of directly call fprintf here. Sure. Thanks for the review. I have a new version of this patch which also fixes the way the uncompressed size is read, as it is stored as a little endian uint. Simon, do you want a resend of the patchset or a fix on top of it ? Cheers, C.