aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/boot
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2007-03-22 01:59:13 -0400
committerPaul Mackerras <paulus@samba.org>2007-03-26 01:11:20 -0400
commitfae59c39e885148acf42320fe0d4ebf4cb3e9231 (patch)
tree1c3f09ebf61bb5d27012bcd2d21d788246072030 /arch/powerpc/boot
parent9da82a6dee9db4cd5ae7a74ab4f51afb52b6efb9 (diff)
[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: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r--arch/powerpc/boot/main.c6
-rw-r--r--arch/powerpc/boot/stdio.h5
2 files changed, 6 insertions, 5 deletions
diff --git a/arch/powerpc/boot/main.c b/arch/powerpc/boot/main.c
index df9e95a84015..33c73295acf3 100644
--- a/arch/powerpc/boot/main.c
+++ b/arch/powerpc/boot/main.c
@@ -136,7 +136,7 @@ static struct addr_range prep_kernel(void)
136 } else { 136 } else {
137 if ((unsigned long)_start < ei.memsize) 137 if ((unsigned long)_start < ei.memsize)
138 fatal("Insufficient memory for kernel at address 0!" 138 fatal("Insufficient memory for kernel at address 0!"
139 " (_start=%lx)\n\r", _start); 139 " (_start=%p)\n\r", _start);
140 } 140 }
141 141
142 /* Finally, gunzip the kernel */ 142 /* Finally, gunzip the kernel */
@@ -145,7 +145,7 @@ static struct addr_range prep_kernel(void)
145 /* discard up to the actual load data */ 145 /* discard up to the actual load data */
146 gunzip_discard(&gzstate, ei.elfoffset - sizeof(elfheader)); 146 gunzip_discard(&gzstate, ei.elfoffset - sizeof(elfheader));
147 len = gunzip_finish(&gzstate, addr, ei.memsize); 147 len = gunzip_finish(&gzstate, addr, ei.memsize);
148 printf("done 0x%lx bytes\n\r", len); 148 printf("done 0x%x bytes\n\r", len);
149 149
150 flush_cache(addr, ei.loadsize); 150 flush_cache(addr, ei.loadsize);
151 151
@@ -189,7 +189,7 @@ static struct addr_range prep_initrd(struct addr_range vmlinux,
189 if (! initrd_addr) 189 if (! initrd_addr)
190 fatal("Can't allocate memory for initial " 190 fatal("Can't allocate memory for initial "
191 "ramdisk !\n\r"); 191 "ramdisk !\n\r");
192 printf("Relocating initrd 0x%p <- 0x%p (0x%lx bytes)\n\r", 192 printf("Relocating initrd 0x%lx <- 0x%p (0x%lx bytes)\n\r",
193 initrd_addr, old_addr, initrd_size); 193 initrd_addr, old_addr, initrd_size);
194 memmove((void *)initrd_addr, old_addr, initrd_size); 194 memmove((void *)initrd_addr, old_addr, initrd_size);
195 } 195 }
diff --git a/arch/powerpc/boot/stdio.h b/arch/powerpc/boot/stdio.h
index 73b8a91bfb34..adffc58412d4 100644
--- a/arch/powerpc/boot/stdio.h
+++ b/arch/powerpc/boot/stdio.h
@@ -7,11 +7,12 @@
7#define EINVAL 22 /* Invalid argument */ 7#define EINVAL 22 /* Invalid argument */
8#define ENOSPC 28 /* No space left on device */ 8#define ENOSPC 28 /* No space left on device */
9 9
10extern int printf(const char *fmt, ...); 10extern int printf(const char *fmt, ...) __attribute__((format(printf, 1, 2)));
11 11
12#define fprintf(fmt, args...) printf(args) 12#define fprintf(fmt, args...) printf(args)
13 13
14extern int sprintf(char *buf, const char *fmt, ...); 14extern int sprintf(char *buf, const char *fmt, ...)
15 __attribute__((format(printf, 2, 3)));
15 16
16extern int vsprintf(char *buf, const char *fmt, va_list args); 17extern int vsprintf(char *buf, const char *fmt, va_list args);
17 18