Commit fae59c39 authored by David Gibson's avatar David Gibson Committed by Paul Mackerras

[POWERPC] Add gcc format warnings to zImage printf()

This patch adds the correct attributes to the zImage's versions of
printf to make gcc generate format string mismatch warnings.  It also
corrects several minor problems with format strings in the zImage thus
discovered.
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 9da82a6d
...@@ -136,7 +136,7 @@ static struct addr_range prep_kernel(void) ...@@ -136,7 +136,7 @@ static struct addr_range prep_kernel(void)
} else { } else {
if ((unsigned long)_start < ei.memsize) if ((unsigned long)_start < ei.memsize)
fatal("Insufficient memory for kernel at address 0!" fatal("Insufficient memory for kernel at address 0!"
" (_start=%lx)\n\r", _start); " (_start=%p)\n\r", _start);
} }
/* Finally, gunzip the kernel */ /* Finally, gunzip the kernel */
...@@ -145,7 +145,7 @@ static struct addr_range prep_kernel(void) ...@@ -145,7 +145,7 @@ static struct addr_range prep_kernel(void)
/* discard up to the actual load data */ /* discard up to the actual load data */
gunzip_discard(&gzstate, ei.elfoffset - sizeof(elfheader)); gunzip_discard(&gzstate, ei.elfoffset - sizeof(elfheader));
len = gunzip_finish(&gzstate, addr, ei.memsize); len = gunzip_finish(&gzstate, addr, ei.memsize);
printf("done 0x%lx bytes\n\r", len); printf("done 0x%x bytes\n\r", len);
flush_cache(addr, ei.loadsize); flush_cache(addr, ei.loadsize);
...@@ -189,7 +189,7 @@ static struct addr_range prep_initrd(struct addr_range vmlinux, ...@@ -189,7 +189,7 @@ static struct addr_range prep_initrd(struct addr_range vmlinux,
if (! initrd_addr) if (! initrd_addr)
fatal("Can't allocate memory for initial " fatal("Can't allocate memory for initial "
"ramdisk !\n\r"); "ramdisk !\n\r");
printf("Relocating initrd 0x%p <- 0x%p (0x%lx bytes)\n\r", printf("Relocating initrd 0x%lx <- 0x%p (0x%lx bytes)\n\r",
initrd_addr, old_addr, initrd_size); initrd_addr, old_addr, initrd_size);
memmove((void *)initrd_addr, old_addr, initrd_size); memmove((void *)initrd_addr, old_addr, initrd_size);
} }
......
...@@ -7,11 +7,12 @@ ...@@ -7,11 +7,12 @@
#define EINVAL 22 /* Invalid argument */ #define EINVAL 22 /* Invalid argument */
#define ENOSPC 28 /* No space left on device */ #define ENOSPC 28 /* No space left on device */
extern int printf(const char *fmt, ...); extern int printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
#define fprintf(fmt, args...) printf(args) #define fprintf(fmt, args...) printf(args)
extern int sprintf(char *buf, const char *fmt, ...); extern int sprintf(char *buf, const char *fmt, ...)
__attribute__((format(printf, 2, 3)));
extern int vsprintf(char *buf, const char *fmt, va_list args); extern int vsprintf(char *buf, const char *fmt, va_list args);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment