Start using __printf attribute (single commit series)
cover Start using __printf attribute (single commit series)
This series is part of my warning fixes branch. When preparing the patch, I figured that sending it as single patch would make the reviewing task fairly difficult. I decided to split it into fake commits and group them by warning types to make reviewing much easier. Obviously this series is not meant to be applied as-is but squashed into a single commit (maybe two if I move the gcc attribute as second patch). I saw that my previous patches were applied with a trimmed warning context to reduce the level of noise, I'll keep that in mind when preparing the squashed commit.
This series has only been compiled tested using ppc32_defconfig and ppc64_defconfig, hopefully those two cover all combinations for this piece of code. I am not sure what (if anything?) I am going to break when replacing %016lx with %p on 32 bits arch, the other changes seems more direct. I am open for suggestion for the last commit (maybe combine the two function-like macros DUMP & DUMPPTR into a single one with an extra parameter).
Mathieu Malaterre (19):
xmon: Use __printf markup to silence compiler
ppc32: change %x into %lx
ppc32: Change %.16x into %p
ppc32: change %lx into %p
ppc32: change %lx into %tx (ptrdiff_t)
ppc64: change %lx into %llx
ppc64: change %ld into %d
ppc64: change %x into %lx
ppc64: change %016lx into %p
ppc64: change %lx into %p
ppc64: change %lx into %x
ppc64: change %lx into %llx
ppc64: change %llx into %lx
ppc64: change %p into %llx
ppc64: change %d into %ld
ppc64: Change %d into %lu
ppc64: change %d into %llu
ppc64: change %ld into %d
ppc64: Handle %p format in DUMPPTR() function-like macro
arch/powerpc/include/asm/xmon.h | 2 +- arch/powerpc/xmon/nonstdio.h | 8 +-- arch/powerpc/xmon/spu-dis.c | 18 +++--- arch/powerpc/xmon/xmon.c | 133 ++++++++++++++++++++-------------------- 4 files changed, 82 insertions(+), 79 deletions(-)
Signature · 1 line
2.11.0
PATCH 1/19 xmon: Use __printf markup to silence compiler
Update also the other prototype declaration in asm/xmon.h.
Silence warnings (triggered at W=1) by adding relevant __printf attribute. Move #define at bottom of the file to prevent conflict with gcc attribute.
CC arch/powerpc/xmon/nonstdio.oarch/powerpc/xmon/nonstdio.c: In function ‘xmon_printf’:arch/powerpc/xmon/nonstdio.c:178:2: error: function might be possible candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
n = vsnprintf(xmon_outbuf, sizeof(xmon_outbuf), format, args);
^
cc1: all warnings being treated as errors
--- arch/powerpc/include/asm/xmon.h | 2 +- arch/powerpc/xmon/nonstdio.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-)
arch/powerpc/include/asm/xmon.h +1 -1
@@ -29,7 +29,7 @@ static inline void xmon_register_spus(struct list_head *list) { };extern int cpus_are_in_xmon (void );#endif -extern void xmon_printf (const char *format, ...); +extern __printf(1, 2) void xmon_printf(const char *format, ...);#endif /* __KERNEL __ */ #endif /* __ASM_POWERPC_XMON_H */
arch/powerpc/xmon/nonstdio.h +4 -4
@@ -1,13 +1,13 @@/* SPDX-License-Identifier: GPL-2.0 */ #define EOF (-1) -#define printf xmon_printf -#define putchar xmon_putchar -extern void xmon_set_pagination_lpp (unsigned long lpp);extern void xmon_start_pagination (void );extern void xmon_end_pagination (void );extern int xmon_putchar (int c);extern void xmon_puts (const char *);extern char *xmon_gets (char *,int ); -extern void xmon_printf (const char *, ...); +extern __printf(1, 2) void xmon_printf(const char *fmt, ...); + +#define printf xmon_printf +#define putchar xmon_putchar
Signature · 1 line
2.11.0
kbuild test robot
build botRe: [PATCH 01/19] xmon: Use __printf markup to silence compiler
Thank you for the patch! Yet something to improve:
Hi Mathieu,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180316]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Mathieu-Malaterre/Start-using-__printf-attribute-single-commit-series/20180318-035038
config: powerpc64-defconfig (attached as .config)
compiler: powerpc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc64
Note: the linux-review/Mathieu-Malaterre/Start-using-__printf-attribute-single-commit-series/20180318-035038 HEAD 070c2d653f1924feb0363271515fea85920b80f9 builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>):
arch/powerpc/xmon/xmon.c: In function 'cpu_cmd':
>> arch/powerpc/xmon/xmon.c:1168:18: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("cpu 0x%x isn't in xmon\n", cpu);
~^
%lx
arch/powerpc/xmon/xmon.c:1182:19: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("cpu 0x%x didn't take control\n", cpu);
~^
%lx
arch/powerpc/xmon/xmon.c: In function 'bpt_cmds':
arch/powerpc/xmon/xmon.c:1392:15: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long int' [-Werror=format=]
printf("%2x %s ", BP_NUM(bp),
~~^
%2lx
arch/powerpc/xmon/xmon.c: In function 'excprint':
arch/powerpc/xmon/xmon.c:1607:31: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'struct pt_regs *' [-Werror=format=]
printf("Vector: %lx %s at [%lx]\n", fp->trap, getvecname(trap), fp);
~~^
arch/powerpc/xmon/xmon.c:1611:9: error: too many arguments for format [-Werror=format-extra-args]
printf(" lr: ", fp->link);
^~~~~~~~~~
arch/powerpc/xmon/xmon.c:1623:26: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'struct task_struct *' [-Werror=format=]
printf(" current = 0x%lx\n", current);
~~^
>> arch/powerpc/xmon/xmon.c:1625:26: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'struct paca_struct *' [-Werror=format=]
printf(" paca = 0x%lx\t softe: %d\t irq_happened: 0x%02x\n",
~~^
arch/powerpc/xmon/xmon.c:1629:25: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'pid_t {aka int}' [-Werror=format=]
printf(" pid = %ld, comm = %s\n",
~~^
%d
arch/powerpc/xmon/xmon.c: In function 'prregs':
>> arch/powerpc/xmon/xmon.c:1665:17: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'int' [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
~~~~^
%.2d
arch/powerpc/xmon/xmon.c:1665:11: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'int' [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
^~~~~~~~~~~
n, fp->gpr[n], n+16, fp->gpr[n+16]);
~~~~
arch/powerpc/xmon/xmon.c:1665:34: note: format string is defined here
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
~~~~^
%.2d
arch/powerpc/xmon/xmon.c:1669:17: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'int' [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
~~~~^
%.2d
arch/powerpc/xmon/xmon.c:1669:11: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'int' [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
^~~~~~~~~~~
n, fp->gpr[n], n+7, fp->gpr[n+7]);
~~~
arch/powerpc/xmon/xmon.c:1669:34: note: format string is defined here
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
~~~~^
%.2d
arch/powerpc/xmon/xmon.c: In function 'dump_206_sprs':
arch/powerpc/xmon/xmon.c:1778:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("srr0 = %.16lx srr1 = %.16lx dsisr = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1780:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("dscr = %.16lx ppr = %.16lx pir = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1788:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("sdr1 = %.16lx hdar = %.16lx hdsisr = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1792:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("lpcr = %.16lx pcr = %.16lx lpidr = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c: In function 'dump_207_sprs':
arch/powerpc/xmon/xmon.c:1809:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("dpdes = %.16lx tir = %.16lx cir = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1812:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("fscr = %.16lx tar = %.16lx pspb = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1825:22: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1825:34: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1825:47: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1825:62: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'long unsigned int' [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1828:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("mmcra = %.16lx siar = %.16lx pmc5 = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c:1830:54: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("sdar = %.16lx sier = %.16lx pmc6 = %.8x\n",
~~~^
%.8lx
arch/powerpc/xmon/xmon.c: In function 'dump_one_paca':
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2344:7:
DUMP(p, kernel_toc, "lx");
~~~~
>> arch/powerpc/xmon/xmon.c:2344:2: note: in expansion of macro 'DUMP'
DUMP(p, kernel_toc, "lx");
^~~~
arch/powerpc/xmon/xmon.c:2344:24: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~^
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2345:7:
DUMP(p, kernelbase, "lx");
~~~~
arch/powerpc/xmon/xmon.c:2345:2: note: in expansion of macro 'DUMP'
DUMP(p, kernelbase, "lx");
^~~~
arch/powerpc/xmon/xmon.c:2345:24: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~^
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2346:7:
DUMP(p, kernel_msr, "lx");
~~~~
arch/powerpc/xmon/xmon.c:2346:2: note: in expansion of macro 'DUMP'
DUMP(p, kernel_msr, "lx");
^~~~
arch/powerpc/xmon/xmon.c:2346:24: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_msr, "lx");
~~~~~~~~~~~~~~~~~~~~~~^
>> arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with '%p' gnu_printf format [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2347:2: note: in expansion of macro 'DUMP'
DUMP(p, emergency_sp, "px");
^~~~
arch/powerpc/xmon/xmon.c:2347:25: note: format string is defined here
DUMP(p, emergency_sp, "px");
^
>> arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with '%p' gnu_printf format [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2349:2: note: in expansion of macro 'DUMP'
DUMP(p, nmi_emergency_sp, "px");
^~~~
arch/powerpc/xmon/xmon.c:2349:29: note: format string is defined here
DUMP(p, nmi_emergency_sp, "px");
^
>> arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with '%p' gnu_printf format [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2350:2: note: in expansion of macro 'DUMP'
DUMP(p, mc_emergency_sp, "px");
^~~~
arch/powerpc/xmon/xmon.c:2350:28: note: format string is defined here
DUMP(p, mc_emergency_sp, "px");
^
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2355:7:
DUMP(p, data_offset, "lx");
~~~~
arch/powerpc/xmon/xmon.c:2355:2: note: in expansion of macro 'DUMP'
DUMP(p, data_offset, "lx");
^~~~
arch/powerpc/xmon/xmon.c:2355:25: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_msr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, nmi_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_nmi, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_mce, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hmi_event_available, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, data_offset, "lx");
~~~~~~~~~~~~~~~~~~~~~~~^
arch/powerpc/xmon/xmon.c:2370:44: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
~~~~~^
%016llx
arch/powerpc/xmon/xmon.c:2370:53: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
~~~~~^
%016llx
>> arch/powerpc/xmon/xmon.c:2377:43: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'u32 {aka unsigned int}' [-Werror=format=]
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
~~~~~^ ~~~~~~~~~~~~~~~
%016x
>> arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with '%p' gnu_printf format [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2379:2: note: in expansion of macro 'DUMP'
DUMP(p, rfi_flush_fallback_area, "px");
^~~~
arch/powerpc/xmon/xmon.c:2379:36: note: format string is defined here
DUMP(p, rfi_flush_fallback_area, "px");
^
>> arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with '%p' gnu_printf format [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2390:2: note: in expansion of macro 'DUMP'
DUMP(p, __current, "px");
^~~~
arch/powerpc/xmon/xmon.c:2390:22: note: format string is defined here
DUMP(p, __current, "px");
^
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2391:7:
DUMP(p, kstack, "lx");
~~~~
arch/powerpc/xmon/xmon.c:2391:2: note: in expansion of macro 'DUMP'
DUMP(p, kstack, "lx");
^~~~
arch/powerpc/xmon/xmon.c:2391:20: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_msr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, nmi_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_nmi, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_mce, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hmi_event_available, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, data_offset, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hw_cpu_id, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, cpu_start, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kexec_state, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_NUM_BOLTED; i++) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u64 esid, vsid;
~~~~~~~~~~~~~~~
if (!p->slb_shadow_ptr)
~~~~~~~~~~~~~~~~~~~~~~~
continue;
~~~~~~~~~
esid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].esid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (esid || vsid) {
~~~~~~~~~~~~~~~~~~~
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i, esid, vsid);
~~~~~~~~~~~~~~~
}
~
}
~
DUMP(p, vmalloc_sllp, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, slb_cache_ptr, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_CACHE_ENTRIES; i++)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, rfi_flush_fallback_area, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, dscr_default, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3E
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, pgd, "px");
~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_pgd, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, tcd_ptr, "px");
~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, crit_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, dbg_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, __current, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kstack, "lx");
~~~~~~~~~~~~~~~~~~^
arch/powerpc/xmon/xmon.c:2392:41: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" kstack_base = 0x%016lx\n", p->kstack & ~(THREAD_SIZE - 1));
~~~~~^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%016llx
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2393:7:
DUMP(p, stab_rr, "lx");
~~~~
arch/powerpc/xmon/xmon.c:2393:2: note: in expansion of macro 'DUMP'
DUMP(p, stab_rr, "lx");
^~~~
arch/powerpc/xmon/xmon.c:2393:21: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_msr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, nmi_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_nmi, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_mce, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hmi_event_available, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, data_offset, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hw_cpu_id, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, cpu_start, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kexec_state, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_NUM_BOLTED; i++) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u64 esid, vsid;
~~~~~~~~~~~~~~~
if (!p->slb_shadow_ptr)
~~~~~~~~~~~~~~~~~~~~~~~
continue;
~~~~~~~~~
esid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].esid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (esid || vsid) {
~~~~~~~~~~~~~~~~~~~
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i, esid, vsid);
~~~~~~~~~~~~~~~
}
~
}
~
DUMP(p, vmalloc_sllp, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, slb_cache_ptr, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_CACHE_ENTRIES; i++)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, rfi_flush_fallback_area, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, dscr_default, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3E
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, pgd, "px");
~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_pgd, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, tcd_ptr, "px");
~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, crit_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, dbg_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, __current, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kstack, "lx");
~~~~~~~~~~~~~~~~~~~~~~
printf(" kstack_base = 0x%016lx\n", p->kstack & ~(THREAD_SIZE - 1));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, stab_rr, "lx");
~~~~~~~~~~~~~~~~~~~^
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%lx' expects argument of type 'long unsigned int', but argument 5 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2394:7:
DUMP(p, saved_r1, "lx");
~~~~
arch/powerpc/xmon/xmon.c:2394:2: note: in expansion of macro 'DUMP'
DUMP(p, saved_r1, "lx");
^~~~
arch/powerpc/xmon/xmon.c:2394:22: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_msr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, nmi_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_nmi, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_mce, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hmi_event_available, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, data_offset, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hw_cpu_id, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, cpu_start, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kexec_state, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_NUM_BOLTED; i++) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u64 esid, vsid;
~~~~~~~~~~~~~~~
if (!p->slb_shadow_ptr)
~~~~~~~~~~~~~~~~~~~~~~~
continue;
~~~~~~~~~
esid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].esid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (esid || vsid) {
~~~~~~~~~~~~~~~~~~~
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i, esid, vsid);
~~~~~~~~~~~~~~~
}
~
}
~
DUMP(p, vmalloc_sllp, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, slb_cache_ptr, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_CACHE_ENTRIES; i++)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, rfi_flush_fallback_area, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, dscr_default, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3E
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, pgd, "px");
~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_pgd, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, tcd_ptr, "px");
~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, crit_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, dbg_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, __current, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kstack, "lx");
~~~~~~~~~~~~~~~~~~~~~~
printf(" kstack_base = 0x%016lx\n", p->kstack & ~(THREAD_SIZE - 1));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, stab_rr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, saved_r1, "lx");
~~~~~~~~~~~~~~~~~~~~^
>> arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with '%p' gnu_printf format [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2408:2: note: in expansion of macro 'DUMP'
DUMP(p, core_idle_state_ptr, "px");
^~~~
arch/powerpc/xmon/xmon.c:2408:32: note: format string is defined here
DUMP(p, core_idle_state_ptr, "px");
^
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%llx' expects argument of type 'long long unsigned int', but argument 5 has type 'long unsigned int' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2414:7:
DUMP(p, accounting.utime, "llx");
~~~~~~~~~~~~~~~
arch/powerpc/xmon/xmon.c:2414:2: note: in expansion of macro 'DUMP'
DUMP(p, accounting.utime, "llx");
^~~~
arch/powerpc/xmon/xmon.c:2414:31: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_msr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, nmi_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_nmi, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_mce, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hmi_event_available, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, data_offset, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hw_cpu_id, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, cpu_start, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kexec_state, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_NUM_BOLTED; i++) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u64 esid, vsid;
~~~~~~~~~~~~~~~
if (!p->slb_shadow_ptr)
~~~~~~~~~~~~~~~~~~~~~~~
continue;
~~~~~~~~~
esid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].esid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (esid || vsid) {
~~~~~~~~~~~~~~~~~~~
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i, esid, vsid);
~~~~~~~~~~~~~~~
}
~
}
~
DUMP(p, vmalloc_sllp, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, slb_cache_ptr, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_CACHE_ENTRIES; i++)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, rfi_flush_fallback_area, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, dscr_default, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3E
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, pgd, "px");
~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_pgd, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, tcd_ptr, "px");
~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, crit_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, dbg_kstack, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, __current, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kstack, "lx");
~~~~~~~~~~~~~~~~~~~~~~
printf(" kstack_base = 0x%016lx\n", p->kstack & ~(THREAD_SIZE - 1));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, stab_rr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, saved_r1, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, trap_save, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, irq_soft_mask, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, irq_happened, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, io_sync, "x");
~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, irq_work_pending, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, nap_state_lost, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, sprg_vdso, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, tm_scratch, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
#ifdef CONFIG_PPC_POWERNV
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, core_idle_state_ptr, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, thread_idle_state, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, thread_mask, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, subcore_sibling_mask, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, accounting.utime, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
>> arch/powerpc/xmon/xmon.c:2339:9: error: format '%llx' expects argument of type 'long long unsigned int', but argument 5 has type 'long unsigned int' [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^
arch/powerpc/xmon/xmon.c:2415:7:
DUMP(p, accounting.stime, "llx");
~~~~~~~~~~~~~~~
arch/powerpc/xmon/xmon.c:2415:2: note: in expansion of macro 'DUMP'
DUMP(p, accounting.stime, "llx");
^~~~
arch/powerpc/xmon/xmon.c:2415:31: note: format string is defined here
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
offsetof(struct paca_struct, name));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, lock_token, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, paca_index, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_toc, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernelbase, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_msr, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, nmi_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, mc_emergency_sp, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_nmi, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, in_mce, "x");
~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hmi_event_available, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, data_offset, "lx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, hw_cpu_id, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, cpu_start, "x");
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, kexec_state, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3S_64
~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_NUM_BOLTED; i++) {
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
u64 esid, vsid;
~~~~~~~~~~~~~~~
if (!p->slb_shadow_ptr)
~~~~~~~~~~~~~~~~~~~~~~~
continue;
~~~~~~~~~
esid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].esid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vsid = be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if (esid || vsid) {
~~~~~~~~~~~~~~~~~~~
printf(" slb_shadow[%d]: = 0x%016lx 0x%016lx\n",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
i, esid, vsid);
~~~~~~~~~~~~~~~
}
~
}
~
DUMP(p, vmalloc_sllp, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, slb_cache_ptr, "x");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for (i = 0; i < SLB_CACHE_ENTRIES; i++)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, rfi_flush_fallback_area, "px");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#endif
~~~~~~
DUMP(p, dscr_default, "llx");
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#ifdef CONFIG_PPC_BOOK3E
~~~~~~~~~~~~~~~~~~~~~~~~
DUMP(p, pgd, "px");
~~~~~~~~~~~~~~~~~~~
DUMP(p, kernel_pgd, "px");..
vim +1168 arch/powerpc/xmon/xmon.c
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1138
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1139 static int cpu_cmd(void)
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1140 {
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1141 #ifdef CONFIG_SMP
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1142 unsigned long cpu, first_cpu, last_cpu;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1143 int timeout;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1144
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1145 if (!scanhex(&cpu)) {
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1146 /* print cpus waiting or in xmon */
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1147 printf("cpus stopped:");
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1148 last_cpu = first_cpu = NR_CPUS;
bc1d77029 arch/powerpc/xmon/xmon.c Anton Blanchard 2012-06-28 1149 for_each_possible_cpu(cpu) {
104699c0a arch/powerpc/xmon/xmon.c KOSAKI Motohiro 2011-04-28 1150 if (cpumask_test_cpu(cpu, &cpus_in_xmon)) {
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1151 if (cpu == last_cpu + 1) {
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1152 last_cpu = cpu;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1153 } else {
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1154 if (last_cpu != first_cpu)
736256e4f arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26 1155 printf("-0x%lx", last_cpu);
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1156 last_cpu = first_cpu = cpu;
736256e4f arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26 1157 printf(" 0x%lx", cpu);
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1158 }
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1159 }
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1160 }
fd3bb9128 arch/powerpc/xmon/xmon.c Paul Mackerras 2013-09-03 1161 if (last_cpu != first_cpu)
736256e4f arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26 1162 printf("-0x%lx", last_cpu);
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1163 printf("\n");
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1164 return 0;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1165 }
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1166 /* try to switch to cpu specified */
104699c0a arch/powerpc/xmon/xmon.c KOSAKI Motohiro 2011-04-28 1167 if (!cpumask_test_cpu(cpu, &cpus_in_xmon)) {
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 @1168 printf("cpu 0x%x isn't in xmon\n", cpu);
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1169 return 0;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1170 }
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1171 xmon_taken = 0;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1172 mb();
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1173 xmon_owner = cpu;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1174 timeout = 10000000;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1175 while (!xmon_taken) {
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1176 if (--timeout == 0) {
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1177 if (test_and_set_bit(0, &xmon_taken))
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1178 break;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1179 /* take control back */
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1180 mb();
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1181 xmon_owner = smp_processor_id();
736256e4f arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26 1182 printf("cpu 0x%x didn't take control\n", cpu);
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1183 return 0;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1184 }
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1185 barrier();
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1186 }
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1187 return 1;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1188 #else
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1189 return 0;
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1190 #endif /* CONFIG_SMP */
^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1191 }^1da177e4 arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 1192
:::::: The code at line 1168 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <[email protected]> :::::: CC: Linus Torvalds <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
kbuild test robot
build botRe: [PATCH 01/19] xmon: Use __printf markup to silence compiler
In reply to Mathieu MalaterreThank you for the patch! Yet something to improve:
Hi Mathieu,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180316]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Mathieu-Malaterre/Start-using-__printf-attribute-single-commit-series/20180318-035038
config: powerpc-currituck_defconfig (attached as .config)
compiler: powerpc-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc
All errors (new ones prefixed by >>):
arch/powerpc/xmon/xmon.c: In function 'xmon_core':
>> arch/powerpc/xmon/xmon.c:523:47: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'int' [-Werror=format=]
printf("cpu 0x%x stopped at breakpoint 0x%lx (",
~~^
%x
arch/powerpc/xmon/xmon.c: In function 'cpu_cmd':
arch/powerpc/xmon/xmon.c:1168:18: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("cpu 0x%x isn't in xmon\n", cpu);
~^
%lx
arch/powerpc/xmon/xmon.c:1182:19: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("cpu 0x%x didn't take control\n", cpu);
~^
%lx
arch/powerpc/xmon/xmon.c: In function 'bpt_cmds':
arch/powerpc/xmon/xmon.c:1365:32: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'int' [-Werror=format=]
printf("Cleared breakpoint %lx (", BP_NUM(bp));
~~^
%x
arch/powerpc/xmon/xmon.c: In function 'excprint':
arch/powerpc/xmon/xmon.c:1607:31: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'struct pt_regs *' [-Werror=format=]
printf("Vector: %lx %s at [%lx]\n", fp->trap, getvecname(trap), fp);
~~^
arch/powerpc/xmon/xmon.c:1611:9: error: too many arguments for format [-Werror=format-extra-args]
printf(" lr: ", fp->link);
^~~~~~~~~~
arch/powerpc/xmon/xmon.c:1623:26: error: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'struct task_struct *' [-Werror=format=]
printf(" current = 0x%lx\n", current);
~~^
arch/powerpc/xmon/xmon.c:1629:25: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'pid_t {aka int}' [-Werror=format=]
printf(" pid = %ld, comm = %s\n",
~~^
%d
current->pid, current->comm);
~~~~~~~~~~~~
arch/powerpc/xmon/xmon.c: In function 'prregs':
arch/powerpc/xmon/xmon.c:1674:22: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
printf("R%.2d = %.8x%s", n, fp->gpr[n],
~~~^ ~~~~~~~~~~
%.8lx
arch/powerpc/xmon/xmon.c: In function 'dump_by_size':
arch/powerpc/xmon/xmon.c:2567:16: error: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'u64 {aka long long unsigned int}' [-Werror=format=]
printf("%0*lx", size * 2, val);
~~~~^
%0*llx
arch/powerpc/xmon/xmon.c: In function 'generic_inst_dump':
arch/powerpc/xmon/xmon.c:197:14: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
#define REG "%.8lx"
^
arch/powerpc/xmon/xmon.c:2731:11: note: in expansion of macro 'REG'
printf(REG" %.8x", adr, inst);
^~~
arch/powerpc/xmon/xmon.c:2731:20: note: format string is defined here
printf(REG" %.8x", adr, inst);
~~~^
%.8lx
arch/powerpc/xmon/xmon.c: In function 'memdiffs':
arch/powerpc/xmon/xmon.c:2863:17: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'unsigned char *' [-Werror=format=]
printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
~~~~^ ~~~~~~
%.16hhn
arch/powerpc/xmon/xmon.c:2863:30: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'unsigned char *' [-Werror=format=]
printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
~~~~^
%.16hhn
p1[-1], p2 - 1, p2[-1]);
~~~~~~
arch/powerpc/xmon/xmon.c: In function 'memzcan':
arch/powerpc/xmon/xmon.c:2923:15: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("%.8x\n", a - mskip);
~~~^ ~~~~~~~~~
%.8lx
arch/powerpc/xmon/xmon.c:2929:14: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("%.8x\n", a - mskip);
~~~^ ~~~~~~~~~
%.8lx
arch/powerpc/xmon/xmon.c: In function 'dump_tlb_44x':
arch/powerpc/xmon/xmon.c:3445:21: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
printf("[%02x] %08x %08x %08x ", i, w0, w1, w2);
~~~^
%08lx
arch/powerpc/xmon/xmon.c:3445:26: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("[%02x] %08x %08x %08x ", i, w0, w1, w2);
~~~^
%08lx
arch/powerpc/xmon/xmon.c:3445:31: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'long unsigned int' [-Werror=format=]
printf("[%02x] %08x %08x %08x ", i, w0, w1, w2);
~~~^
%08lx
arch/powerpc/xmon/xmon.c:3447:17: error: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
printf("V %08x -> %01x%08x %c%c%c%c%c",
~~~^
%08lx
arch/powerpc/xmon/xmon.c:3447:25: error: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Werror=format=]
printf("V %08x -> %01x%08x %c%c%c%c%c",
~~~^
%01lx
arch/powerpc/xmon/xmon.c:3447:29: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Werror=format=]
printf("V %08x -> %01x%08x %c%c%c%c%c",
~~~^
%08lxcc1: all warnings being treated as errors
vim +523 arch/powerpc/xmon/xmon.c
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 466
f13659e0 arch/powerpc/xmon/xmon.c Anton Blanchard 2007-03-21 467 local_irq_save(flags);
a71d64b4 arch/powerpc/xmon/xmon.c Anton Blanchard 2014-08-05 468 hard_irq_disable();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 469
ed49f7fd arch/powerpc/xmon/xmon.c Breno Leitao 2017-08-02 470 tracing_enabled = tracing_is_on();
ed49f7fd arch/powerpc/xmon/xmon.c Breno Leitao 2017-08-02 471 tracing_off();
ed49f7fd arch/powerpc/xmon/xmon.c Breno Leitao 2017-08-02 472
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 473 bp = in_breakpoint_table(regs->nip, &offset);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 474 if (bp != NULL) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 475 regs->nip = bp->address + offset;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 476 atomic_dec(&bp->ref_count);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 477 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 478
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 479 remove_cpu_bpts();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 480
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 481 #ifdef CONFIG_SMP
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 482 cpu = smp_processor_id();
104699c0 arch/powerpc/xmon/xmon.c KOSAKI Motohiro 2011-04-28 483 if (cpumask_test_cpu(cpu, &cpus_in_xmon)) {
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras 2016-04-13 484 /*
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras 2016-04-13 485 * We catch SPR read/write faults here because the 0x700, 0xf60
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras 2016-04-13 486 * etc. handlers don't call debugger_fault_handler().
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras 2016-04-13 487 */
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras 2016-04-13 488 if (catch_spr_faults)
31cdd0c3 arch/powerpc/xmon/xmon.c Paul Mackerras 2016-04-13 489 longjmp(bus_error_jmp, 1);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 490 get_output_lock();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 491 excprint(regs);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 492 printf("cpu 0x%x: Exception %lx %s in xmon, "
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 493 "returning to main loop\n",
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 494 cpu, regs->trap, getvecname(TRAP(regs)));
5cb4cc0d arch/ppc64/xmon/xmon.c Haren Myneni 2005-08-03 495 release_output_lock();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 496 longjmp(xmon_fault_jmp[cpu], 1);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 497 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 498
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 499 if (setjmp(recurse_jmp) != 0) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 500 if (!in_xmon || !xmon_gate) {
5cb4cc0d arch/ppc64/xmon/xmon.c Haren Myneni 2005-08-03 501 get_output_lock();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 502 printf("xmon: WARNING: bad recursive fault "
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 503 "on cpu 0x%x\n", cpu);
5cb4cc0d arch/ppc64/xmon/xmon.c Haren Myneni 2005-08-03 504 release_output_lock();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 505 goto waiting;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 506 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 507 secondary = !(xmon_taken && cpu == xmon_owner);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 508 goto cmdloop;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 509 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 510
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 511 xmon_fault_jmp[cpu] = recurse_jmp;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 512
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 513 bp = NULL;
9f0b0793 arch/powerpc/xmon/xmon.c Michael Ellerman 2011-04-07 514 if ((regs->msr & (MSR_IR|MSR_PR|MSR_64BIT)) == (MSR_IR|MSR_64BIT))
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 515 bp = at_breakpoint(regs->nip);
daf8f403 arch/powerpc/xmon/xmon.c Josh Boyer 2009-09-23 516 if (bp || unrecoverable_excp(regs))
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 517 fromipi = 0;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 518
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 519 if (!fromipi) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 520 get_output_lock();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 521 excprint(regs);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 522 if (bp) {
736256e4 arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26 @523 printf("cpu 0x%x stopped at breakpoint 0x%lx (",
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 524 cpu, BP_NUM(bp));
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 525 xmon_print_symbol(regs->nip, " ", ")\n");
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 526 }
daf8f403 arch/powerpc/xmon/xmon.c Josh Boyer 2009-09-23 527 if (unrecoverable_excp(regs))
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 528 printf("WARNING: exception is not recoverable, "
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 529 "can't continue\n");
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 530 release_output_lock();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 531 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 532
d2b496e5 arch/powerpc/xmon/xmon.c Michael Ellerman 2013-12-23 533 cpumask_set_cpu(cpu, &cpus_in_xmon);
d2b496e5 arch/powerpc/xmon/xmon.c Michael Ellerman 2013-12-23 534
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 535 waiting:
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 536 secondary = 1;
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 537 spin_begin();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 538 while (secondary && !xmon_gate) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 539 if (in_xmon == 0) {
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 540 if (fromipi) {
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 541 spin_end();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 542 goto leave;
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 543 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 544 secondary = test_and_set_bit(0, &in_xmon);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 545 }
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 546 spin_cpu_relax();
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 547 touch_nmi_watchdog();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 548 }
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 549 spin_end();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 550
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 551 if (!secondary && !xmon_gate) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 552 /* we are the first cpu to come in */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 553 /* interrupt other cpu(s) */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 554 int ncpus = num_online_cpus();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 555
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 556 xmon_owner = cpu;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 557 mb();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 558 if (ncpus > 1) {
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 559 /*
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 560 * A system reset (trap == 0x100) can be triggered on
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 561 * all CPUs, so when we come in via 0x100 try waiting
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 562 * for the other CPUs to come in before we send the
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 563 * debugger break (IPI). This is similar to
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 564 * crash_kexec_secondary().
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 565 */
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 566 if (TRAP(regs) != 0x100 || !wait_for_other_cpus(ncpus))
e0476371 arch/powerpc/xmon/xmon.c Milton Miller 2011-05-10 567 smp_send_debugger_break();
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 568
1cd6ed7c arch/powerpc/xmon/xmon.c Nicholas Piggin 2016-12-20 569 wait_for_other_cpus(ncpus);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 570 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 571 remove_bpts();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 572 disable_surveillance();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 573 /* for breakpoint or single step, print the current instr. */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 574 if (bp || TRAP(regs) == 0xd00)
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 575 ppc_inst_dump(regs->nip, 1, 0);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 576 printf("enter ? for help\n");
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 577 mb();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 578 xmon_gate = 1;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 579 barrier();
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 580 touch_nmi_watchdog();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 581 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 582
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 583 cmdloop:
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 584 while (in_xmon) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 585 if (secondary) {
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 586 spin_begin();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 587 if (cpu == xmon_owner) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 588 if (!test_and_set_bit(0, &xmon_taken)) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 589 secondary = 0;
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 590 spin_end();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 591 continue;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 592 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 593 /* missed it */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 594 while (cpu == xmon_owner)
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 595 spin_cpu_relax();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 596 }
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 597 spin_cpu_relax();
064996d6 arch/powerpc/xmon/xmon.c Nicholas Piggin 2017-09-29 598 touch_nmi_watchdog();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 599 } else {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 600 cmd = cmds(regs);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 601 if (cmd != 0) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 602 /* exiting xmon */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 603 insert_bpts();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 604 xmon_gate = 0;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 605 wmb();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 606 in_xmon = 0;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 607 break;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 608 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 609 /* have switched to some other cpu */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 610 secondary = 1;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 611 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 612 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 613 leave:
104699c0 arch/powerpc/xmon/xmon.c KOSAKI Motohiro 2011-04-28 614 cpumask_clear_cpu(cpu, &cpus_in_xmon);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 615 xmon_fault_jmp[cpu] = NULL;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 616 #else
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 617 /* UP is simple... */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 618 if (in_xmon) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 619 printf("Exception %lx %s in xmon, returning to main loop\n",
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 620 regs->trap, getvecname(TRAP(regs)));
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 621 longjmp(xmon_fault_jmp[0], 1);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 622 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 623 if (setjmp(recurse_jmp) == 0) {
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 624 xmon_fault_jmp[0] = recurse_jmp;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 625 in_xmon = 1;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 626
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 627 excprint(regs);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 628 bp = at_breakpoint(regs->nip);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 629 if (bp) {
736256e4 arch/powerpc/xmon/xmon.c Michael Ellerman 2014-05-26 630 printf("Stopped at breakpoint %lx (", BP_NUM(bp));
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 631 xmon_print_symbol(regs->nip, " ", ")\n");
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 632 }
daf8f403 arch/powerpc/xmon/xmon.c Josh Boyer 2009-09-23 633 if (unrecoverable_excp(regs))
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 634 printf("WARNING: exception is not recoverable, "
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 635 "can't continue\n");
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 636 remove_bpts();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 637 disable_surveillance();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 638 /* for breakpoint or single step, print the current instr. */
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 639 if (bp || TRAP(regs) == 0xd00)
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 640 ppc_inst_dump(regs->nip, 1, 0);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 641 printf("enter ? for help\n");
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 642 }
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 643
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 644 cmd = cmds(regs);
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 645
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 646 insert_bpts();
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 647 in_xmon = 0;
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 648 #endif
^1da177e arch/ppc64/xmon/xmon.c Linus Torvalds 2005-04-16 649 :::::: The code at line 523 was first introduced by commit
:::::: 736256e4f1bc50bb8198c9b61dffd5fd0de17477 powerpc/xmon: Fix up xmon format strings
:::::: TO: Michael Ellerman <[email protected]> :::::: CC: Benjamin Herrenschmidt <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
PATCH v2 1/1 xmon: Use __printf markup to silence compiler
In reply to Mathieu MalaterreUpdate the other prototype declarations in asm/xmon.h.
Silence warnings (triggered at W=1) by adding relevant __printf attribute. Move #define at bottom of the file to prevent conflict with gcc attribute.
Solve the original warning:
arch/powerpc/xmon/nonstdio.c:178:2: error: function might be possible candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]
In turn this uncovered the following (partial list) warnings (treated as errors with W=1):
arch/powerpc/xmon/xmon.c:2866:17: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘unsigned char *’ [-Werror=format=] arch/powerpc/xmon/xmon.c:1607:31: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘struct pt_regs *’ [-Werror=format=] arch/powerpc/xmon/xmon.c:1611:9: error: too many arguments for format [-Werror=format-extra-args]
arch/powerpc/xmon/xmon.c:1623:26: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘struct task_struct *’ [-Werror=format=] arch/powerpc/xmon/xmon.c:630:36: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘int’ [-Werror=format=] arch/powerpc/xmon/xmon.c:1392:15: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long int’ [-Werror=format=] arch/powerpc/xmon/xmon.c:2570:16: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=] arch/powerpc/xmon/xmon.c:1629:25: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘pid_t {aka int}’ [-Werror=format=] arch/powerpc/xmon/xmon.c:1168:18: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=] arch/powerpc/xmon/xmon.c:3016:24: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘pgd_t * {aka struct <anonymous> *}’ [-Werror=format=] arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=] arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=] arch/powerpc/xmon/xmon.c:3827:10: error: format ‘%p’ expects argument of type ‘void *’, but argument 4 has type ‘long long unsigned int’ [-Werror=format=] arch/powerpc/xmon/xmon.c:3896:50: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=] arch/powerpc/xmon/spu-dis.c:137:18: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=] arch/powerpc/xmon/xmon.c:3827:10: error: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=] arch/powerpc/xmon/xmon.c:1665:17: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘int’ [-Werror=format=] arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with ‘%p’ gnu_printf format [-Werror=format=]
---
v2: resubmit patch series a single patch
arch/powerpc/include/asm/xmon.h | 2 +- arch/powerpc/xmon/nonstdio.h | 8 +-- arch/powerpc/xmon/spu-dis.c | 18 +++--- arch/powerpc/xmon/xmon.c | 133 ++++++++++++++++++++-------------------- 4 files changed, 82 insertions(+), 79 deletions(-)
arch/powerpc/include/asm/xmon.h +1 -1
@@ -29,7 +29,7 @@ static inline void xmon_register_spus(struct list_head *list) { };extern int cpus_are_in_xmon (void );#endif -extern void xmon_printf (const char *format, ...); +extern __printf(1, 2) void xmon_printf(const char *format, ...);#endif /* __KERNEL __ */ #endif /* __ASM_POWERPC_XMON_H */
arch/powerpc/xmon/nonstdio.h +4 -4
@@ -1,13 +1,13 @@/* SPDX-License-Identifier: GPL-2.0 */ #define EOF (-1) -#define printf xmon_printf -#define putchar xmon_putchar -extern void xmon_set_pagination_lpp (unsigned long lpp);extern void xmon_start_pagination (void );extern void xmon_end_pagination (void );extern int xmon_putchar (int c);extern void xmon_puts (const char *);extern char *xmon_gets (char *,int ); -extern void xmon_printf (const char *, ...); +extern __printf(1, 2) void xmon_printf(const char *fmt, ...); + +#define printf xmon_printf +#define putchar xmon_putchar
arch/powerpc/xmon/spu-dis.c +9 -9
@@ -102,7 +102,7 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)if (index ==0 ) { -printf (".long 0x%x" , insn); +printf (".long 0x%lx" , insn); }else {
@@ -134,27 +134,27 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)switch (arg) {case A_T : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RT (insn));break ;case A_A : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RA (insn));break ;case A_B : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RB (insn));break ;case A_C : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RC (insn));break ;case A_S : -printf ("$sp%d" , +printf ("$sp%lu" ,DECODE_INSN_RA (insn));break ;case A_H : -printf ("$ch%d" , +printf ("$ch%lu" ,DECODE_INSN_RA (insn));break ;case A_P :
@@ -162,11 +162,11 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)printf ("(" );break ;case A_U7A : -printf ("%d" , +printf ("%lu" ,173 -DECODE_INSN_U8 (insn));break ;case A_U7B : -printf ("%d" , +printf ("%lu" ,155 -DECODE_INSN_U8 (insn));break ;case A_S3 :
arch/powerpc/xmon/xmon.c +68 -65
341 lines not on this page · raw message
Signature · 1 line
2.11.0
Re: [PATCH v2] xmon: Use __printf markup to silence compiler
No comment so far... Did I miss anything ?
On Sun, Mar 25, 2018 at 11:06 AM, Mathieu Malaterre <[email protected]> wrot= e:
Quoted 3 lines
Update the other prototype declarations in
asm/xmon.h.Silence warnings (triggered at W=3D1) by adding relevant
__printfattribu=
te.
Quoted 1 line
Move #define at bottom of the file to prevent conflict with gcc attribute=
.
Quoted 4 lines
Solve the original warning:
arch/powerpc/xmon/nonstdio.c:178:2: error: function might be possible c=
andidate for =E2=80=98gnu_printf=E2=80=99 format attribute [-Werror=3Dsugge= st-attribute=3Dformat]
Quoted 5 lines
In turn this uncovered the following (partial list) warnings (treated as errors with W=3D1):
arch/powerpc/xmon/xmon.c:2866:17: error: format =E2=80=98%x=E2=80=99 ex=
pects argument of type =E2=80=98unsigned int=E2=80=99, but argument 2 has t= ype =E2=80=98unsigned char *=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:1607:31: error: format =E2=80=98%lx=E2=80=99 e=
xpects argument of type =E2=80=98long unsigned int=E2=80=99, but argument 4=
has type =E2=80=98struct pt_regs *=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:1611:9: error: too many arguments for format [=
-Werror=3Dformat-extra-args]
Quoted 1 line
arch/powerpc/xmon/xmon.c:1623:26: error: format =E2=80=98%lx=E2=80=99 e=
xpects argument of type =E2=80=98long unsigned int=E2=80=99, but argument 2=
has type =E2=80=98struct task_struct *=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:630:36: error: format =E2=80=98%lx=E2=80=99 ex=
pects argument of type =E2=80=98long unsigned int=E2=80=99, but argument 2 = has type =E2=80=98int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:1392:15: error: format =E2=80=98%x=E2=80=99 ex=
pects argument of type =E2=80=98unsigned int=E2=80=99, but argument 2 has t= ype =E2=80=98long int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:2570:16: error: format =E2=80=98%lx=E2=80=99 e=
xpects argument of type =E2=80=98long unsigned int=E2=80=99, but argument 3=
has type =E2=80=98u64 {aka long long unsigned int}=E2=80=99 [-Werror=3Dfor=
mat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:1629:25: error: format =E2=80=98%ld=E2=80=99 e=
xpects argument of type =E2=80=98long int=E2=80=99, but argument 2 has type=
=E2=80=98pid_t {aka int}=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:1168:18: error: format =E2=80=98%x=E2=80=99 ex=
pects argument of type =E2=80=98unsigned int=E2=80=99, but argument 2 has t= ype =E2=80=98long unsigned int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:3016:24: error: format =E2=80=98%lx=E2=80=99 e=
xpects argument of type =E2=80=98long unsigned int=E2=80=99, but argument 2=
has type =E2=80=98pgd_t * {aka struct <anonymous> *}=E2=80=99 [-Werror=3Df=
ormat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:2339:9: error: format =E2=80=98%lx=E2=80=99 ex=
pects argument of type =E2=80=98long unsigned int=E2=80=99, but argument 5 = has type =E2=80=98u64 {aka long long unsigned int}=E2=80=99 [-Werror=3Dform= at=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:2339:9: error: format =E2=80=98%llx=E2=80=99 e=
xpects argument of type =E2=80=98long long unsigned int=E2=80=99, but argum= ent 5 has type =E2=80=98long unsigned int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:3827:10: error: format =E2=80=98%p=E2=80=99 ex=
pects argument of type =E2=80=98void *=E2=80=99, but argument 4 has type = =E2=80=98long long unsigned int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:3896:50: error: format =E2=80=98%d=E2=80=99 ex=
pects argument of type =E2=80=98int=E2=80=99, but argument 2 has type =E2= =80=98long unsigned int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/spu-dis.c:137:18: error: format =E2=80=98%d=E2=80=99 =
expects argument of type =E2=80=98int=E2=80=99, but argument 2 has type =E2= =80=98long unsigned int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:3827:10: error: format =E2=80=98%d=E2=80=99 ex=
pects argument of type =E2=80=98int=E2=80=99, but argument 4 has type =E2= =80=98u64 {aka long long unsigned int}=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:1665:17: error: format =E2=80=98%ld=E2=80=99 e=
xpects argument of type =E2=80=98long int=E2=80=99, but argument 2 has type=
=E2=80=98int=E2=80=99 [-Werror=3Dformat=3D]
Quoted 1 line
arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with =E2=80=98%p=
=E2=80=99 gnu_printf format [-Werror=3Dformat=3D]
Quoted 9 lines
Signed-off-by Mathieu Malaterre <[email protected]>---
v2: resubmit patch series a single patcharch/powerpc/include/asm/xmon.h | 2 +- arch/powerpc/xmon/nonstdio.h | 8 +-- arch/powerpc/xmon/spu-dis.c | 18 +++---
arch/powerpc/xmon/xmon.c| 133 ++++++++++++++++++++--------------=
------
arch/powerpc/include/asm/x=
Quoted 3 lines
4 files changed, 82 insertions(+), 79 deletions(-)arch/powerpc/include/asm/x= renamed from arch/powerpc/include/asm/xmon.h +0
-0
mon.h
arch/powerpc/include/asm/xmon.h static inline void xmon_register_spus(struct list_head =
Quoted 4 lines
index
eb42a0c6e1d9..30ff69bd8f43100644arch/powerpc/include/asm/xmon.h +0
-0@@ -29,7 +29,7 @@ static inline void xmon_register_spus(struct list_head =
*list) { };
arch/powerpc/xmon/spu-dis.c print_insn_spu (unsigned long insn, unsigned long mem=
Quoted 35 lines
arch/powerpc/include/asm/xmon.h +1
-1extern int cpus_are_in_xmon (void );#endif -extern void xmon_printf (const char *format, ...); +extern __printf(1, 2) void xmon_printf(const char *format, ...);#endif /* __KERNEL __ */ #endif /* __ASM_POWERPC_XMON_H */ arch/powerpc/xmon/nonstdio.h +4
-4@@ -1,13 +1,13 @@/* SPDX-License-Identifier: GPL-2.0 */ #define EOF (-1) -#define printf xmon_printf -#define putchar xmon_putchar -extern void xmon_set_pagination_lpp (unsigned long lpp);extern void xmon_start_pagination (void );extern void xmon_end_pagination (void );extern int xmon_putchar (int c);extern void xmon_puts (const char *);extern char *xmon_gets (char *,int ); -extern void xmon_printf (const char *, ...); +extern __printf(1, 2) void xmon_printf(const char *fmt, ...); + +#define printf xmon_printf +#define putchar xmon_putchararch/powerpc/xmon/spu-dis.c +0
-0@@ -102,7 +102,7 @@ print_insn_spu (unsigned long insn, unsigned long mem=
addr)
arch/powerpc/xmon/spu-dis.c print_insn_spu (unsigned long insn, unsigned long m=
Quoted 9 lines
arch/powerpc/xmon/spu-dis.c +1
-1if (index =3D=3D 0) { -printf (".long 0x%x" , insn); +printf (".long 0x%lx" , insn); }else {@@ -134,27 +134,27 @@ print_insn_spu (unsigned long insn, unsigned long m=
emaddr)
arch/powerpc/xmon/spu-dis.c print_insn_spu (unsigned long insn, unsigned long m=
Quoted 34 lines
arch/powerpc/xmon/spu-dis.c +6
-6switch (arg) {case A_T : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RT (insn));break ;case A_A : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RA (insn));break ;case A_B : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RB (insn));break ;case A_C : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RC (insn));break ;case A_S : -printf ("$sp%d" , +printf ("$sp%lu" ,DECODE_INSN_RA (insn));break ;case A_H : -printf ("$ch%d" , +printf ("$ch%lu" ,DECODE_INSN_RA (insn));break ;case A_P :@@ -162,11 +162,11 @@ print_insn_spu (unsigned long insn, unsigned long m=
emaddr)
arch/powerpc/xmon/xmon.c static int xmon_core(struct pt_regs *regs, int fromip=
Quoted 18 lines
arch/powerpc/xmon/spu-dis.c +2
-2printf ("(" );break ;case A_U7A : -printf ("%d" , +printf ("%lu" ,173 -DECODE_INSN_U8 (insn));break ;case A_U7B : -printf ("%d" , +printf ("%lu" ,155 -DECODE_INSN_U8 (insn));break ;case A_S3 :arch/powerpc/xmon/xmon.c +0
-0@@ -627,7 +627,7 @@ static int xmon_core(struct pt_regs *regs, int fromip=
i)
arch/powerpc/xmon/xmon.c static int xmon_core(struct pt_regs *regs, int fromipi)
Quoted 4 lines
arch/powerpc/xmon/xmon.c +0
-1excprint (regs); bp =3D at_breakpoint(regs->nip);if (bp) { - printf("Stopped at breakpoint %lx (", BP_NUM(bp))=
;
arch/powerpc/xmon/xmon.c static int xmon_core(struct pt_regs *regs, int fromip= · line 630
Quoted 1 line
arch/powerpc/xmon/xmon.c +1
-0+ printf("Stopped at breakpoint %tx (", BP_NUM(bp))=
;
Quoted 31 lines
arch/powerpc/xmon/xmon.c +3
-3xmon_print_symbol (regs->nip," " ,")\n" ); }if (unrecoverable_excp (regs))@@ -1165,7 +1165,7 @@ static int cpu_cmd(void) }/* try to switch to cpu specified */ if (!cpumask_test_cpu (cpu, &cpus_in_xmon)) { -printf ("cpu 0x%x isn't in xmon\n" , cpu); +printf ("cpu 0x%lx isn't in xmon\n" , cpu);return 0 ; } xmon_taken =3D 0;@@ -1179,7 +1179,7 @@ static int cpu_cmd(void)/* take control back */ mb (); xmon_owner =3D smp_processor_id(); -printf ("cpu 0x%x didn't take control\n" , cpu); +printf ("cpu 0x%lx didn't take control\n" , cpu);return 0 ; }barrier ();@@ -1362,7 +1362,7 @@ bpt_cmds(void) } } -printf ("Cleared breakpoint %lx (" ,BP_NUM (bp)); +printf ("Cleared breakpoint %tx (" ,BP_NUM (bp));xmon_print_symbol (bp->address," " ,")\n" ); bp->enabled =3D 0;break ;
arch/powerpc/xmon/xmon.c bpt_cmds(void) · line 1393
Quoted 6 lines
arch/powerpc/xmon/xmon.c +1
-1@@ -1389,7 +1389,7 @@ bpt_cmds(void) for (bp =3D bpts; bp < &bpts[NBPTS]; ++bp) {if (!bp->enabled)continue ; - printf("%2x %s ", BP_NUM(bp), + printf("%tx %s ", BP_NUM(bp), (bp->enabled & BP_CIABR) ? "inst": "t=
rap");
arch/powerpc/xmon/xmon.c bpt_cmds(void) · line 1394
Quoted 1 line
arch/powerpc/xmon/xmon.c +0
-0xmon_print_symbol(bp->address, " ", "\n"=
);
arch/powerpc/xmon/xmon.c static void excprint(struct pt_regs *fp) · line 1607
Quoted 6 lines
arch/powerpc/xmon/xmon.c +0
-1}@@ -1604,11 +1604,11 @@ static void excprint(struct pt_regs *fp)#endif /* CONFIG_SMP */ trap =3D TRAP(fp); - printf("Vector: %lx %s at [%lx]\n", fp->trap, getvecname(trap), f=
p);
arch/powerpc/xmon/xmon.c static void excprint(struct pt_regs *fp) · line 1607
Quoted 1 line
arch/powerpc/xmon/xmon.c +1
-0+ printf("Vector: %lx %s at [%p]\n", fp->trap, getvecname(trap), fp=
);
Quoted 9 lines
arch/powerpc/xmon/xmon.c +1
-1printf (" pc: " );xmon_print_symbol (fp->nip,": " ,"\n" ); -printf (" lr: " , fp->link); +printf (" lr: " );xmon_print_symbol (fp->link,": " ,"\n" );printf (" sp: %lx\n" , fp->gpr[1 ]);
arch/powerpc/xmon/xmon.c static void excprint(struct pt_regs *fp) · line 1625
Quoted 7 lines
arch/powerpc/xmon/xmon.c +1
-2@@ -1620,13 +1620,13 @@ static void excprint(struct pt_regs *fp)printf (" dsisr: %lx\n" , fp->dsisr); } -printf (" current =3D 0x%lx\n" , current); +printf (" current =3D 0x%p\n" , current);#ifdef CONFIG_PPC64 - printf(" paca =3D 0x%lx\t softe: %d\t irq_happened: 0x%02x\n"=
,
arch/powerpc/xmon/xmon.c static void excprint(struct pt_regs *fp) · line 1626
Quoted 2 lines
arch/powerpc/xmon/xmon.c +1
-0+printf (" paca =3D 0x%p\t softe: %d\t irq_happened: 0x%02x\n" , local_paca, local_paca->irq_soft_mask, local_paca->irq_hap=
pened);
Quoted 43 lines
arch/powerpc/xmon/xmon.c +6
-6#endif if (current) { -printf (" pid =3D %ld, comm =3D %s\n" , +printf (" pid =3D %d, comm =3D %s\n" , current->pid, current->comm); }@@ -1662,16 +1662,16 @@ static void prregs(struct pt_regs *fp)#ifdef CONFIG_PPC64 if (FULL_REGS (fp)) { for (n =3D 0; n < 16; ++n) -printf ("R%.2ld =3D " REG " R%.2ld =3D " REG "\n" , +printf ("R%.2d =3D " REG " R%.2d =3D " REG "\n" , n, fp->gpr[n], n+16 , fp->gpr[n+16 ]); }else { for (n =3D 0; n < 7; ++n) -printf ("R%.2ld =3D " REG " R%.2ld =3D " REG "\n" , +printf ("R%.2d =3D " REG " R%.2d =3D " REG "\n" , n, fp->gpr[n], n+7 , fp->gpr[n+7 ]); }#else for (n =3D 0; n < 32; ++n) { -printf ("R%.2d =3D %.8x%s" , n, fp->gpr[n], +printf ("R%.2d =3D %.8lx%s" , n, fp->gpr[n], (n & 3) =3D=3D 3? "\n": " "); if (n =3D=3D 12 && !FULL_REGS(fp)) {printf ("\n" );@@ -1775,9 +1775,9 @@ static void dump_206_sprs(void)/* Actually some of these pre-date 2.06, but whatevs */ -printf ("srr0 =3D %.16lx srr1 =3D %.16lx dsisr =3D %.8x\n" , +printf ("srr0 =3D %.16lx srr1 =3D %.16lx dsisr =3D %.8lx\n" ,mfspr (SPRN_SRR0 ),mfspr (SPRN_SRR1 ),mfspr (SPRN_DSISR )); -printf ("dscr =3D %.16lx ppr =3D %.16lx pir =3D %.8x\n" , +printf ("dscr =3D %.16lx ppr =3D %.16lx pir =3D %.8lx\n" ,mfspr (SPRN_DSCR ),mfspr (SPRN_PPR ),mfspr (SPRN_PIR ));printf ("amr =3D %.16lx uamor =3D %.16lx\n" ,mfspr (SPRN_AMR ),mfspr (SPRN_UAMOR ));@@ -1785,11 +1785,11 @@ static void dump_206_sprs(void)if (!(mfmsr () &MSR_HV ))return ;
arch/powerpc/xmon/xmon.c static void dump_206_sprs(void) · line 1795
Quoted 10 lines
arch/powerpc/xmon/xmon.c +2
-2-printf ("sdr1 =3D %.16lx hdar =3D %.16lx hdsisr =3D %.8x\n" , +printf ("sdr1 =3D %.16lx hdar =3D %.16lx hdsisr =3D %.8lx\n" ,mfspr (SPRN_SDR1 ),mfspr (SPRN_HDAR ),mfspr (SPRN_HDSISR ));printf ("hsrr0 =3D %.16lx hsrr1 =3D %.16lx hdec =3D %.16lx\n" ,mfspr (SPRN_HSRR0 ),mfspr (SPRN_HSRR1 ),mfspr (SPRN_HDEC )); -printf ("lpcr =3D %.16lx pcr =3D %.16lx lpidr =3D %.8x\n" , +printf ("lpcr =3D %.16lx pcr =3D %.16lx lpidr =3D %.8lx\n" ,mfspr (SPRN_LPCR ),mfspr (SPRN_PCR ),mfspr (SPRN_LPID ));printf ("hsprg0 =3D %.16lx hsprg1 =3D %.16lx amor =3D %.16lx\n" , mfspr(SPRN_HSPRG0), mfspr(SPRN_HSPRG1), mfspr(SPRN_AMOR))=
;
Quoted 14 lines
arch/powerpc/xmon/xmon.c +2
-2@@ -1806,10 +1806,10 @@ static void dump_207_sprs(void)if (!cpu_has_feature (CPU_FTR_ARCH_207S ))return ; -printf ("dpdes =3D %.16lx tir =3D %.16lx cir =3D %.8x\n" , +printf ("dpdes =3D %.16lx tir =3D %.16lx cir =3D %.8lx\n" ,mfspr (SPRN_DPDES ),mfspr (SPRN_TIR ),mfspr (SPRN_CIR )); -printf ("fscr =3D %.16lx tar =3D %.16lx pspb =3D %.8x\n" , +printf ("fscr =3D %.16lx tar =3D %.16lx pspb =3D %.8lx\n" ,mfspr (SPRN_FSCR ),mfspr (SPRN_TAR ),mfspr (SPRN_PSPB )); msr =3D mfmsr();
arch/powerpc/xmon/xmon.c static void dump_207_sprs(void) · line 1825
Quoted 4 lines
arch/powerpc/xmon/xmon.c +0
-1@@ -1822,12 +1822,12 @@ static void dump_207_sprs(void)printf ("mmcr0 =3D %.16lx mmcr1 =3D %.16lx mmcr2 =3D %.16lx\n" ,mfspr (SPRN_MMCR0 ),mfspr (SPRN_MMCR1 ),mfspr (SPRN_MMCR2 )); - printf("pmc1 =3D %.8x pmc2 =3D %.8x pmc3 =3D %.8x pmc4 =3D =
%.8x\n",
arch/powerpc/xmon/xmon.c static void dump_207_sprs(void) · line 1825
Quoted 1 line
arch/powerpc/xmon/xmon.c +1
-0+ printf("pmc1 =3D %.8lx pmc2 =3D %.8lx pmc3 =3D %.8lx pmc4 =
=3D %.8lx\n",
Quoted 11 lines
arch/powerpc/xmon/xmon.c +2
-2mfspr (SPRN_PMC1 ),mfspr (SPRN_PMC2 ), mfspr(SPRN_PMC3), mfspr(SPRN_PMC4)); -printf ("mmcra =3D %.16lx siar =3D %.16lx pmc5 =3D %.8x\n" , +printf ("mmcra =3D %.16lx siar =3D %.16lx pmc5 =3D %.8lx\n" ,mfspr (SPRN_MMCRA ),mfspr (SPRN_SIAR ),mfspr (SPRN_PMC5 )); -printf ("sdar =3D %.16lx sier =3D %.16lx pmc6 =3D %.8x\n" , +printf ("sdar =3D %.16lx sier =3D %.16lx pmc6 =3D %.8lx\n" ,mfspr (SPRN_SDAR ),mfspr (SPRN_SIER ),mfspr (SPRN_PMC6 ));printf ("ebbhr =3D %.16lx ebbrr =3D %.16lx bescr =3D %.16lx\n" ,mfspr (SPRN_EBBHR ),mfspr (SPRN_EBBRR ),mfspr (SPRN_BESCR ));
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu) · line 2339
Quoted 3 lines
arch/powerpc/xmon/xmon.c +0
-0@@ -2337,22 +2337,25 @@ static void dump_one_paca(int cpu)#define DUMP (paca, name, format) \ printf(" %-*s =3D %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->=
name, \
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu)
Quoted 4 lines
arch/powerpc/xmon/xmon.c +3
-1- offsetof(struct paca_struct, name)); + offsetof(struct paca_struct, name)) +#define DUMPPTR (paca, name, format) \ + printf(" %-*s =3D %-*"format"\t(0x%lx)\n", 20, #name, 18, paca->n=
ame, \
Quoted 27 lines
arch/powerpc/xmon/xmon.c +8
-7+ offsetof(struct paca_struct, name))DUMP (p, lock_token,"x" );DUMP (p, paca_index,"x" ); -DUMP (p, kernel_toc,"lx" ); -DUMP (p, kernelbase,"lx" ); -DUMP (p, kernel_msr,"lx" ); -DUMP (p, emergency_sp,"px" ); +DUMP (p, kernel_toc,"llx" ); +DUMP (p, kernelbase,"llx" ); +DUMP (p, kernel_msr,"llx" ); +DUMPPTR (p, emergency_sp,"p" );#ifdef CONFIG_PPC_BOOK3S_64 -DUMP (p, nmi_emergency_sp,"px" ); -DUMP (p, mc_emergency_sp,"px" ); +DUMPPTR (p, nmi_emergency_sp,"p" ); +DUMPPTR (p, mc_emergency_sp,"p" );DUMP (p, in_nmi,"x" );DUMP (p, in_mce,"x" );DUMP (p, hmi_event_available,"x" );#endif -DUMP (p, data_offset,"lx" ); +DUMP (p, data_offset,"llx" );DUMP (p, hw_cpu_id,"x" );DUMP (p, cpu_start,"x" );DUMP (p, kexec_state,"x" );
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu) · line 2370
Quoted 1 line
arch/powerpc/xmon/xmon.c +0
-0@@ -2367,16 +2370,16 @@ static void dump_one_paca(int cpu) vsid =3D be64_to_cpu(p->slb_shadow_ptr->save_area[i].vsid=
);
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu) · line 2369
Quoted 3 lines
arch/powerpc/xmon/xmon.c +0
-1if (esid || vsid) { - printf(" slb_shadow[%d]: =3D 0x%016lx 0x%01=
6lx\n",
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu) · line 2372
Quoted 1 line
arch/powerpc/xmon/xmon.c +1
-0+ printf(" slb_shadow[%d]: =3D 0x%016llx 0x%0=
16llx\n",
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu)
Quoted 7 lines
arch/powerpc/xmon/xmon.c +0
-1i, esid, vsid); } }DUMP (p, vmalloc_sllp,"x" );DUMP (p, slb_cache_ptr,"x" ); for (i =3D 0; i < SLB_CACHE_ENTRIES; i++) - printf(" slb_cache[%d]: =3D 0x%016lx\n", i, p->slb=
_cache[i]);
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu) · line 2379
Quoted 1 line
arch/powerpc/xmon/xmon.c +1
-0+ printf(" slb_cache[%d]: =3D 0x%016x\n", i, p->slb_=
cache[i]);
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu) · line 2392
Quoted 13 lines
arch/powerpc/xmon/xmon.c +1
-4-DUMP (p, rfi_flush_fallback_area,"px" ); +DUMPPTR (p, rfi_flush_fallback_area,"p" );#endif DUMP (p, dscr_default,"llx" );#ifdef CONFIG_PPC_BOOK3E @@ -2387,11 +2390,11 @@ static void dump_one_paca(int cpu)DUMP (p, crit_kstack,"px" );DUMP (p, dbg_kstack,"px" );#endif -DUMP (p, __current,"px" ); -DUMP (p, kstack,"lx" ); - printf(" kstack_base =3D 0x%016lx\n", p->kstack & ~(THRE=
AD_SIZE - 1));
arch/powerpc/xmon/xmon.c static void dump_one_paca(int cpu)
Quoted 5 lines
arch/powerpc/xmon/xmon.c +3
-2-DUMP (p, stab_rr,"lx" ); -DUMP (p, saved_r1,"lx" ); +DUMPPTR (p, __current,"p" ); +DUMP (p, kstack,"llx" ); + printf(" kstack_base =3D 0x%016llx\n", p->kstack & ~(THR=
EAD_SIZE - 1));
arch/powerpc/xmon/xmon.c static void dump_by_size(unsigned long addr, long c=
Quoted 36 lines
arch/powerpc/xmon/xmon.c +11
-9+DUMP (p, stab_rr,"llx" ); +DUMP (p, saved_r1,"llx" );DUMP (p, trap_save,"x" );DUMP (p, irq_soft_mask,"x" );DUMP (p, irq_happened,"x" );@@ -2405,20 +2408,20 @@ static void dump_one_paca(int cpu)#endif #ifdef CONFIG_PPC_POWERNV -DUMP (p, core_idle_state_ptr,"px" ); +DUMPPTR (p, core_idle_state_ptr,"p" );DUMP (p, thread_idle_state,"x" );DUMP (p, thread_mask,"x" );DUMP (p, subcore_sibling_mask,"x" );#endif -DUMP (p, accounting.utime,"llx" ); -DUMP (p, accounting.stime,"llx" ); -DUMP (p, accounting.utime_scaled,"llx" ); -DUMP (p, accounting.starttime,"llx" ); -DUMP (p, accounting.starttime_user,"llx" ); -DUMP (p, accounting.startspurr,"llx" ); -DUMP (p, accounting.utime_sspurr,"llx" ); -DUMP (p, accounting.steal_time,"llx" ); +DUMP (p, accounting.utime,"lx" ); +DUMP (p, accounting.stime,"lx" ); +DUMP (p, accounting.utime_scaled,"lx" ); +DUMP (p, accounting.starttime,"lx" ); +DUMP (p, accounting.starttime_user,"lx" ); +DUMP (p, accounting.startspurr,"lx" ); +DUMP (p, accounting.utime_sspurr,"lx" ); +DUMP (p, accounting.steal_time,"lx" );#undef DUMP catch_memory_errors =3D 0;@@ -2564,7 +2567,7 @@ static void dump_by_size(unsigned long addr, long c=
ount, int size)
arch/powerpc/xmon/xmon.c generic_inst_dump(unsigned long adr, long count, in=
Quoted 9 lines
arch/powerpc/xmon/xmon.c +1
-1default: val =3D 0; } -printf ("%0*lx" , size *2 , val); +printf ("%0*llx" , size *2 , val); }printf ("\n" ); }@@ -2728,7 +2731,7 @@ generic_inst_dump(unsigned long adr, long count, in=
t praddr,
arch/powerpc/xmon/xmon.c memdiffs(unsigned char *p1, unsigned char *p2, unsi=
Quoted 9 lines
arch/powerpc/xmon/xmon.c +1
-1dotted =3D 0; last_inst =3D inst;if (praddr) -printf (REG " %.8x" , adr, inst); +printf (REG " %.8lx" , adr, inst);printf ("\t" );dump_func (inst, adr);printf ("\n" );@@ -2860,7 +2863,7 @@ memdiffs(unsigned char *p1, unsigned char *p2, unsi=
gned nb, unsigned maxpr)
arch/powerpc/xmon/xmon.c memdiffs(unsigned char *p1, unsigned char *p2, unsi= · line 2863
Quoted 4 lines
arch/powerpc/xmon/xmon.c +0
-1for( n =3D nb; n > 0; --n )if ( *p1++ !=3D *p2++ ) if( ++prt <=3D maxpr ) - printf("%.16x %.2x # %.16x %.2x\n", p1 - =
1,
arch/powerpc/xmon/xmon.c static void dump_spu_ls(unsigned long num, int subc=
Quoted 83 lines
arch/powerpc/xmon/xmon.c +15
-14+printf ("%p %.2x # %p %.2x\n" , p1 -1 , p1[-1 ], p2 -1 , p2[-1 ]);if ( prt > maxpr )printf ("Total of %d differences\n" , prt);@@ -2920,13 +2923,13 @@ memzcan(void)if (ok && !ook) {printf ("%.8x .. " , a); }else if (!ok && ook) -printf ("%.8x\n" , a - mskip); +printf ("%.8lx\n" , a - mskip); ook =3D ok;if (a + mskip < a)break ; }if (ook) -printf ("%.8x\n" , a - mskip); +printf ("%.8lx\n" , a - mskip); }static void show_task (struct task_struct *tsk)@@ -3010,13 +3013,13 @@ static void show_pte(unsigned long addr)return ; } -printf ("pgd @ 0x%016lx\n" , pgdir); +printf ("pgd @ 0x%p\n" , pgdir);if (pgd_huge (*pgdp)) {format_pte (pgdp,pgd_val (*pgdp));return ; } -printf ("pgdp @ 0x%016lx =3D 0x%016lx\n" , pgdp,pgd_val (*pgdp)); +printf ("pgdp @ 0x%p =3D 0x%016lx\n" , pgdp,pgd_val (*pgdp)); pudp =3D pud_offset(pgdp, addr);@@ -3030,7 +3033,7 @@ static void show_pte(unsigned long addr)return ; } -printf ("pudp @ 0x%016lx =3D 0x%016lx\n" , pudp,pud_val (*pudp)); +printf ("pudp @ 0x%p =3D 0x%016lx\n" , pudp,pud_val (*pudp)); pmdp =3D pmd_offset(pudp, addr);@@ -3043,7 +3046,7 @@ static void show_pte(unsigned long addr)format_pte (pmdp,pmd_val (*pmdp));return ; } -printf ("pmdp @ 0x%016lx =3D 0x%016lx\n" , pmdp,pmd_val (*pmdp)); +printf ("pmdp @ 0x%p =3D 0x%016lx\n" , pmdp,pmd_val (*pmdp)); ptep =3D pte_offset_map(pmdp, addr);if (pte_none (*ptep)) {@@ -3847,19 +3850,19 @@ static void dump_spu_fields(struct spu *spu)DUMP_FIELD (spu,"0x%lx" , ls_size);DUMP_FIELD (spu,"0x%x" , node);DUMP_FIELD (spu,"0x%lx" , flags); -DUMP_FIELD (spu,"%d" , class_0_pending); -DUMP_FIELD (spu,"0x%lx" , class_0_dar); -DUMP_FIELD (spu,"0x%lx" , class_1_dar); -DUMP_FIELD (spu,"0x%lx" , class_1_dsisr); -DUMP_FIELD (spu,"0x%lx" , irqs[0 ]); -DUMP_FIELD (spu,"0x%lx" , irqs[1 ]); -DUMP_FIELD (spu,"0x%lx" , irqs[2 ]); +DUMP_FIELD (spu,"%llu" , class_0_pending); +DUMP_FIELD (spu,"0x%llx" , class_0_dar); +DUMP_FIELD (spu,"0x%llx" , class_1_dar); +DUMP_FIELD (spu,"0x%llx" , class_1_dsisr); +DUMP_FIELD (spu,"0x%x" , irqs[0 ]); +DUMP_FIELD (spu,"0x%x" , irqs[1 ]); +DUMP_FIELD (spu,"0x%x" , irqs[2 ]);DUMP_FIELD (spu,"0x%x" , slb_replace);DUMP_FIELD (spu,"%d" , pid);DUMP_FIELD (spu,"0x%p" , mm);DUMP_FIELD (spu,"0x%p" , ctx);DUMP_FIELD (spu,"0x%p" , rq); -DUMP_FIELD (spu,"0x%p" , timestamp); +DUMP_FIELD (spu,"0x%llx" , timestamp);DUMP_FIELD (spu,"0x%lx" , problem_phys);DUMP_FIELD (spu,"0x%p" , problem); DUMP_VALUE("0x%x", problem->spu_runcntl_RW,@@ -3890,7 +3893,7 @@ static void dump_spu_ls(unsigned long num, int subc=
md)
arch/powerpc/xmon/xmon.c static void dump_spu_ls(unsigned long num, int subcmd)
Quoted 4 lines
arch/powerpc/xmon/xmon.c +0
-1__delay (200 ); }else { catch_memory_errors =3D 0; - printf("*** Error: accessing spu info for spu %d\n", num)=
;
arch/powerpc/xmon/xmon.c static void dump_spu_ls(unsigned long num, int subc= · line 3896
Quoted 1 line
arch/powerpc/xmon/xmon.c +1
-0+ printf("*** Error: accessing spu info for spu %ld\n", num=
);
Quoted 6 lines
arch/powerpc/xmon/xmon.c +0
-1return ; } catch_memory_errors =3D 0; --2.11.0
Michael Ellerman
AppliedRe: [v2] xmon: Use __printf markup to silence compiler
In reply to Mathieu MalaterreQuoted 31 lines · Mathieu Malaterre
Update the other prototype declarations in
asm/xmon.h.Silence warnings (triggered at W=1) by adding relevant
__printfattribute. Move #define at bottom of the file to prevent conflict with gcc attribute.Solve the original warning:
arch/powerpc/xmon/nonstdio.c:178:2: error: function might be possible candidate for ‘gnu_printf’ format attribute [-Werror=suggest-attribute=format]In turn this uncovered the following (partial list) warnings (treated as errors with W=1):
arch/powerpc/xmon/xmon.c:2866:17: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘unsigned char *’ [-Werror=format=]arch/powerpc/xmon/xmon.c:1607:31: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘structpt_regs*’ [-Werror=format=]arch/powerpc/xmon/xmon.c:1611:9: error: too many arguments for format [-Werror=format-extra-args]
arch/powerpc/xmon/xmon.c:1623:26: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘structtask_struct*’ [-Werror=format=]arch/powerpc/xmon/xmon.c:630:36: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘int’ [-Werror=format=]arch/powerpc/xmon/xmon.c:1392:15: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long int’ [-Werror=format=]arch/powerpc/xmon/xmon.c:2570:16: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=]arch/powerpc/xmon/xmon.c:1629:25: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘pid_t {aka int}’ [-Werror=format=]arch/powerpc/xmon/xmon.c:1168:18: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]arch/powerpc/xmon/xmon.c:3016:24: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘pgd_t * {aka struct <anonymous> *}’ [-Werror=format=]arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=]arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]arch/powerpc/xmon/xmon.c:3827:10: error: format ‘%p’ expects argument of type ‘void *’, but argument 4 has type ‘long long unsigned int’ [-Werror=format=]arch/powerpc/xmon/xmon.c:3896:50: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]arch/powerpc/xmon/spu-dis.c:137:18: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]arch/powerpc/xmon/xmon.c:3827:10: error: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=]arch/powerpc/xmon/xmon.c:1665:17: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘int’ [-Werror=format=]arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with ‘%p’gnu_printfformat [-Werror=format=]
Quoted 1 line
Signed-off-by Mathieu Malaterre <[email protected]>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/e70d8f55268ba95f00c61857df2bab
cheers
PATCH 2/19 ppc32: change %x into %lx
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘memdiffs’:../arch/powerpc/xmon/xmon.c:2866:17: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘unsigned char *’ [-Werror=format=]
printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
^
../arch/powerpc/xmon/xmon.c:2866:30: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘unsigned char *’ [-Werror=format=]
printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/xmon/xmon.c +4 -4
@@ -1671,7 +1671,7 @@ static void prregs(struct pt_regs *fp) }#else for (n =0 ; n <32 ; ++n) { -printf ("R%.2d = %.8x%s" , n, fp->gpr[n], +printf ("R%.2d = %.8lx%s" , n, fp->gpr[n], (n &3 ) ==3 ?"\n" :" " );if (n ==12 && !FULL_REGS (fp)) {printf ("\n" );
@@ -2728,7 +2728,7 @@ generic_inst_dump(unsigned long adr, long count, int praddr, dotted =0 ; last_inst = inst;if (praddr) -printf (REG " %.8x" , adr, inst); +printf (REG " %.8lx" , adr, inst);printf ("\t" );dump_func (inst, adr);printf ("\n" );
@@ -2920,13 +2920,13 @@ memzcan(void)if (ok && !ook) {printf ("%.8x .. " , a); }else if (!ok && ook) -printf ("%.8x\n" , a - mskip); +printf ("%.8lx\n" , a - mskip); ook = ok;if (a + mskip < a)break ; }if (ook) -printf ("%.8x\n" , a - mskip); +printf ("%.8lx\n" , a - mskip); }static void show_task (struct task_struct *tsk)
Signature · 1 line
2.11.0
PATCH 3/19 ppc32: Change %.16x into %p
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.oarch/powerpc/xmon/xmon.c: In function ‘memdiffs’:arch/powerpc/xmon/xmon.c:2863:17: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘unsigned char *’ [-Werror=format=]
printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
^
arch/powerpc/xmon/xmon.c:2863:30: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘unsigned char *’ [-Werror=format=]
printf("%.16x %.2x # %.16x %.2x\n", p1 - 1,
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/xmon/xmon.c +1 -1
@@ -2860,7 +2860,7 @@ memdiffs(unsigned char *p1, unsigned char *p2, unsigned nb, unsigned maxpr)for ( n = nb; n >0 ; --n )if ( *p1++ != *p2++ )if ( ++prt <= maxpr ) -printf ("%.16x %.2x # %.16x %.2x\n" , p1 -1 , +printf ("%p %.2x # %p %.2x\n" , p1 -1 , p1[-1 ], p2 -1 , p2[-1 ]);if ( prt > maxpr )printf ("Total of %d differences\n" , prt);
Signature · 1 line
2.11.0
PATCH 4/19 ppc32: change %lx into %p
In reply to Mathieu Malaterrealso remove extra fp->link since no formatter associated.
CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘excprint’:../arch/powerpc/xmon/xmon.c:1607:31: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘struct pt_regs *’ [-Werror=format=]
printf("Vector: %lx %s at [%lx]\n", fp->trap, getvecname(trap), fp);
^
../arch/powerpc/xmon/xmon.c:1611:9: error: too many arguments for format [-Werror=format-extra-args]
printf(" lr: ", fp->link);
^~~~~~~~~~
../arch/powerpc/xmon/xmon.c:1623:26: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘struct task_struct *’ [-Werror=format=]
printf(" current = 0x%lx\n", current);
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
arch/powerpc/xmon/xmon.c +3 -3
@@ -1604,11 +1604,11 @@ static void excprint(struct pt_regs *fp)#endif /* CONFIG_SMP */ trap =TRAP (fp); -printf ("Vector: %lx %s at [%lx]\n" , fp->trap,getvecname (trap), fp); +printf ("Vector: %lx %s at [%p]\n" , fp->trap,getvecname (trap), fp);printf (" pc: " );xmon_print_symbol (fp->nip,": " ,"\n" ); -printf (" lr: " , fp->link); +printf (" lr: " );xmon_print_symbol (fp->link,": " ,"\n" );printf (" sp: %lx\n" , fp->gpr[1 ]);
@@ -1620,7 +1620,7 @@ static void excprint(struct pt_regs *fp)printf (" dsisr: %lx\n" , fp->dsisr); } -printf (" current = 0x%lx\n" , current); +printf (" current = 0x%p\n" , current);#ifdef CONFIG_PPC64 printf (" paca = 0x%lx\t softe: %d\t irq_happened: 0x%02x\n" , local_paca, local_paca->irq_soft_mask, local_paca->irq_happened);
Signature · 1 line
2.11.0
PATCH 5/19 ppc32: change %lx into %tx (ptrdiff_t)
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.oarch/powerpc/xmon/xmon.c: In function ‘xmon_core’:arch/powerpc/xmon/xmon.c:630:36: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘int’ [-Werror=format=]
printf("Stopped at breakpoint %lx (", BP_NUM(bp));
^
arch/powerpc/xmon/xmon.c: In function ‘bpt_cmds’:
arch/powerpc/xmon/xmon.c:1365:32: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘int’ [-Werror=format=]
printf("Cleared breakpoint %lx (", BP_NUM(bp));
^cc1: all warnings being treated as errors
and
CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘bpt_cmds’:../arch/powerpc/xmon/xmon.c:1392:15: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long int’ [-Werror=format=]
printf("%2x %s ", BP_NUM(bp),
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
arch/powerpc/xmon/xmon.c +3 -3
@@ -627,7 +627,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi)excprint (regs); bp =at_breakpoint (regs->nip);if (bp) { -printf ("Stopped at breakpoint %lx (" ,BP_NUM (bp)); +printf ("Stopped at breakpoint %tx (" ,BP_NUM (bp));xmon_print_symbol (regs->nip," " ,")\n" ); }if (unrecoverable_excp (regs))
@@ -1362,7 +1362,7 @@ bpt_cmds(void) } } -printf ("Cleared breakpoint %lx (" ,BP_NUM (bp)); +printf ("Cleared breakpoint %tx (" ,BP_NUM (bp));xmon_print_symbol (bp->address," " ,")\n" ); bp->enabled =0 ;break ;
@@ -1389,7 +1389,7 @@ bpt_cmds(void)for (bp = bpts; bp < &bpts[NBPTS ]; ++bp) {if (!bp->enabled)continue ; -printf ("%2x %s " ,BP_NUM (bp), +printf ("%tx %s " ,BP_NUM (bp), (bp->enabled &BP_CIABR ) ?"inst" :"trap" );xmon_print_symbol (bp->address," " ,"\n" ); }
Signature · 1 line
2.11.0
PATCH 6/19 ppc64: change %lx into %llx
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_by_size’:../arch/powerpc/xmon/xmon.c:2570:16: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=]
printf("%0*lx", size * 2, val);
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/xmon/xmon.c +1 -1
@@ -2564,7 +2564,7 @@ static void dump_by_size(unsigned long addr, long count, int size)default : val =0 ; } -printf ("%0*lx" , size *2 , val); +printf ("%0*llx" , size *2 , val); }printf ("\n" ); }
Signature · 1 line
2.11.0
PATCH 7/19 ppc64: change %ld into %d
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘excprint’:../arch/powerpc/xmon/xmon.c:1629:25: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘pid_t {aka int}’ [-Werror=format=]
printf(" pid = %ld, comm = %s\n",
^
cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/xmon/xmon.c +1 -1
@@ -1626,7 +1626,7 @@ static void excprint(struct pt_regs *fp) local_paca, local_paca->irq_soft_mask, local_paca->irq_happened);#endif if (current) { -printf (" pid = %ld, comm = %s\n" , +printf (" pid = %d, comm = %s\n" , current->pid, current->comm); }
Signature · 1 line
2.11.0
PATCH 8/19 ppc64: change %x into %lx
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘cpu_cmd’:../arch/powerpc/xmon/xmon.c:1168:18: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("cpu 0x%x isn't in xmon\n", cpu);
^
../arch/powerpc/xmon/xmon.c:1182:19: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("cpu 0x%x didn't take control\n", cpu);
^
../arch/powerpc/xmon/xmon.c: In function ‘dump_206_sprs’:
../arch/powerpc/xmon/xmon.c:1778:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("srr0 = %.16lx srr1 = %.16lx dsisr = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1780:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("dscr = %.16lx ppr = %.16lx pir = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1788:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("sdr1 = %.16lx hdar = %.16lx hdsisr = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1792:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("lpcr = %.16lx pcr = %.16lx lpidr = %.8x\n",
^
../arch/powerpc/xmon/xmon.c: In function ‘dump_207_sprs’:
../arch/powerpc/xmon/xmon.c:1809:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("dpdes = %.16lx tir = %.16lx cir = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1812:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("fscr = %.16lx tar = %.16lx pspb = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1825:22: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1825:34: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1825:47: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1825:62: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1828:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("mmcra = %.16lx siar = %.16lx pmc5 = %.8x\n",
^
../arch/powerpc/xmon/xmon.c:1830:54: error: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ [-Werror=format=]
printf("sdar = %.16lx sier = %.16lx pmc6 = %.8x\n",
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/spu-dis.c | 2 +- arch/powerpc/xmon/xmon.c | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-)
arch/powerpc/xmon/spu-dis.c +1 -1
@@ -102,7 +102,7 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)if (index ==0 ) { -printf (".long 0x%x" , insn); +printf (".long 0x%lx" , insn); }else {
arch/powerpc/xmon/xmon.c +11 -11
@@ -1165,7 +1165,7 @@ static int cpu_cmd(void) }/* try to switch to cpu specified */ if (!cpumask_test_cpu (cpu, &cpus_in_xmon)) { -printf ("cpu 0x%x isn't in xmon\n" , cpu); +printf ("cpu 0x%lx isn't in xmon\n" , cpu);return 0 ; } xmon_taken =0 ;
@@ -1179,7 +1179,7 @@ static int cpu_cmd(void)/* take control back */ mb (); xmon_owner =smp_processor_id (); -printf ("cpu 0x%x didn't take control\n" , cpu); +printf ("cpu 0x%lx didn't take control\n" , cpu);return 0 ; }barrier ();
@@ -1775,9 +1775,9 @@ static void dump_206_sprs(void)/* Actually some of these pre-date 2.06, but whatevs */ -printf ("srr0 = %.16lx srr1 = %.16lx dsisr = %.8x\n" , +printf ("srr0 = %.16lx srr1 = %.16lx dsisr = %.8lx\n" ,mfspr (SPRN_SRR0 ),mfspr (SPRN_SRR1 ),mfspr (SPRN_DSISR )); -printf ("dscr = %.16lx ppr = %.16lx pir = %.8x\n" , +printf ("dscr = %.16lx ppr = %.16lx pir = %.8lx\n" ,mfspr (SPRN_DSCR ),mfspr (SPRN_PPR ),mfspr (SPRN_PIR ));printf ("amr = %.16lx uamor = %.16lx\n" ,mfspr (SPRN_AMR ),mfspr (SPRN_UAMOR ));
@@ -1785,11 +1785,11 @@ static void dump_206_sprs(void)if (!(mfmsr () &MSR_HV ))return ; -printf ("sdr1 = %.16lx hdar = %.16lx hdsisr = %.8x\n" , +printf ("sdr1 = %.16lx hdar = %.16lx hdsisr = %.8lx\n" ,mfspr (SPRN_SDR1 ),mfspr (SPRN_HDAR ),mfspr (SPRN_HDSISR ));printf ("hsrr0 = %.16lx hsrr1 = %.16lx hdec = %.16lx\n" ,mfspr (SPRN_HSRR0 ),mfspr (SPRN_HSRR1 ),mfspr (SPRN_HDEC )); -printf ("lpcr = %.16lx pcr = %.16lx lpidr = %.8x\n" , +printf ("lpcr = %.16lx pcr = %.16lx lpidr = %.8lx\n" ,mfspr (SPRN_LPCR ),mfspr (SPRN_PCR ),mfspr (SPRN_LPID ));printf ("hsprg0 = %.16lx hsprg1 = %.16lx amor = %.16lx\n" ,mfspr (SPRN_HSPRG0 ),mfspr (SPRN_HSPRG1 ),mfspr (SPRN_AMOR ));
@@ -1806,10 +1806,10 @@ static void dump_207_sprs(void)if (!cpu_has_feature (CPU_FTR_ARCH_207S ))return ; -printf ("dpdes = %.16lx tir = %.16lx cir = %.8x\n" , +printf ("dpdes = %.16lx tir = %.16lx cir = %.8lx\n" ,mfspr (SPRN_DPDES ),mfspr (SPRN_TIR ),mfspr (SPRN_CIR )); -printf ("fscr = %.16lx tar = %.16lx pspb = %.8x\n" , +printf ("fscr = %.16lx tar = %.16lx pspb = %.8lx\n" ,mfspr (SPRN_FSCR ),mfspr (SPRN_TAR ),mfspr (SPRN_PSPB )); msr =mfmsr ();
@@ -1822,12 +1822,12 @@ static void dump_207_sprs(void)printf ("mmcr0 = %.16lx mmcr1 = %.16lx mmcr2 = %.16lx\n" ,mfspr (SPRN_MMCR0 ),mfspr (SPRN_MMCR1 ),mfspr (SPRN_MMCR2 )); -printf ("pmc1 = %.8x pmc2 = %.8x pmc3 = %.8x pmc4 = %.8x\n" , +printf ("pmc1 = %.8lx pmc2 = %.8lx pmc3 = %.8lx pmc4 = %.8lx\n" ,mfspr (SPRN_PMC1 ),mfspr (SPRN_PMC2 ),mfspr (SPRN_PMC3 ),mfspr (SPRN_PMC4 )); -printf ("mmcra = %.16lx siar = %.16lx pmc5 = %.8x\n" , +printf ("mmcra = %.16lx siar = %.16lx pmc5 = %.8lx\n" ,mfspr (SPRN_MMCRA ),mfspr (SPRN_SIAR ),mfspr (SPRN_PMC5 )); -printf ("sdar = %.16lx sier = %.16lx pmc6 = %.8x\n" , +printf ("sdar = %.16lx sier = %.16lx pmc6 = %.8lx\n" ,mfspr (SPRN_SDAR ),mfspr (SPRN_SIER ),mfspr (SPRN_PMC6 ));printf ("ebbhr = %.16lx ebbrr = %.16lx bescr = %.16lx\n" ,mfspr (SPRN_EBBHR ),mfspr (SPRN_EBBRR ),mfspr (SPRN_BESCR ));
Signature · 1 line
2.11.0
PATCH 9/19 ppc64: change %016lx into %p
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘show_pte’:../arch/powerpc/xmon/xmon.c:3016:24: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘pgd_t * {aka struct <anonymous> *}’ [-Werror=format=]
printf("pgd @ 0x%016lx\n", pgdir);
^
../arch/powerpc/xmon/xmon.c:3022:24: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘pgd_t * {aka struct <anonymous> *}’ [-Werror=format=]
printf("pgdp @ 0x%016lx = 0x%016lx\n", pgdp, pgd_val(*pgdp));
^
../arch/powerpc/xmon/xmon.c:3036:24: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘pud_t * {aka struct <anonymous> *}’ [-Werror=format=]
printf("pudp @ 0x%016lx = 0x%016lx\n", pudp, pud_val(*pudp));
^
../arch/powerpc/xmon/xmon.c:3049:24: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘pmd_t * {aka struct <anonymous> *}’ [-Werror=format=]
printf("pmdp @ 0x%016lx = 0x%016lx\n", pmdp, pmd_val(*pmdp));
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/xmon/xmon.c +4 -4
@@ -3010,13 +3010,13 @@ static void show_pte(unsigned long addr)return ; } -printf ("pgd @ 0x%016lx\n" , pgdir); +printf ("pgd @ 0x%p\n" , pgdir);if (pgd_huge (*pgdp)) {format_pte (pgdp,pgd_val (*pgdp));return ; } -printf ("pgdp @ 0x%016lx = 0x%016lx\n" , pgdp,pgd_val (*pgdp)); +printf ("pgdp @ 0x%p = 0x%016lx\n" , pgdp,pgd_val (*pgdp)); pudp =pud_offset (pgdp, addr);
@@ -3030,7 +3030,7 @@ static void show_pte(unsigned long addr)return ; } -printf ("pudp @ 0x%016lx = 0x%016lx\n" , pudp,pud_val (*pudp)); +printf ("pudp @ 0x%p = 0x%016lx\n" , pudp,pud_val (*pudp)); pmdp =pmd_offset (pudp, addr);
@@ -3043,7 +3043,7 @@ static void show_pte(unsigned long addr)format_pte (pmdp,pmd_val (*pmdp));return ; } -printf ("pmdp @ 0x%016lx = 0x%016lx\n" , pmdp,pmd_val (*pmdp)); +printf ("pmdp @ 0x%p = 0x%016lx\n" , pmdp,pmd_val (*pmdp)); ptep =pte_offset_map (pmdp, addr);if (pte_none (*ptep)) {
Signature · 1 line
2.11.0
PATCH 10/19 ppc64: change %lx into %p
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘excprint’:../arch/powerpc/xmon/xmon.c:1625:26: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘struct paca_struct *’ [-Werror=format=]
printf(" paca = 0x%lx\t softe: %d\t irq_happened: 0x%02x\n",
^
cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/xmon/xmon.c +1 -1
@@ -1622,7 +1622,7 @@ static void excprint(struct pt_regs *fp)printf (" current = 0x%p\n" , current);#ifdef CONFIG_PPC64 -printf (" paca = 0x%lx\t softe: %d\t irq_happened: 0x%02x\n" , +printf (" paca = 0x%p\t softe: %d\t irq_happened: 0x%02x\n" , local_paca, local_paca->irq_soft_mask, local_paca->irq_happened);#endif if (current) {
Signature · 1 line
2.11.0
PATCH 11/19 ppc64: change %lx into %x
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_one_paca’:../arch/powerpc/xmon/xmon.c:2380:43: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘u32 {aka unsigned int}’ [-Werror=format=]
printf(" slb_cache[%d]: = 0x%016lx\n", i, p->slb_cache[i]);
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
arch/powerpc/xmon/xmon.c +4 -4
@@ -2374,7 +2374,7 @@ static void dump_one_paca(int cpu)DUMP (p, vmalloc_sllp,"x" );DUMP (p, slb_cache_ptr,"x" );for (i =0 ; i <SLB_CACHE_ENTRIES ; i++) -printf (" slb_cache[%d]: = 0x%016lx\n" , i, p->slb_cache[i]); +printf (" slb_cache[%d]: = 0x%016x\n" , i, p->slb_cache[i]);DUMP (p, rfi_flush_fallback_area,"px" );#endif
@@ -3851,9 +3851,9 @@ static void dump_spu_fields(struct spu *spu)DUMP_FIELD (spu,"0x%lx" , class_0_dar);DUMP_FIELD (spu,"0x%lx" , class_1_dar);DUMP_FIELD (spu,"0x%lx" , class_1_dsisr); -DUMP_FIELD (spu,"0x%lx" , irqs[0 ]); -DUMP_FIELD (spu,"0x%lx" , irqs[1 ]); -DUMP_FIELD (spu,"0x%lx" , irqs[2 ]); +DUMP_FIELD (spu,"0x%x" , irqs[0 ]); +DUMP_FIELD (spu,"0x%x" , irqs[1 ]); +DUMP_FIELD (spu,"0x%x" , irqs[2 ]);DUMP_FIELD (spu,"0x%x" , slb_replace);DUMP_FIELD (spu,"%d" , pid);DUMP_FIELD (spu,"0x%p" , mm);
Signature · 1 line
2.11.0
PATCH 12/19 ppc64: change %lx into %llx
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_one_paca’:../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2347:2: note: in expansion of macro ‘DUMP’
DUMP(p, kernel_toc, "lx");
^~~~
cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)
arch/powerpc/xmon/xmon.c +12 -12
@@ -2341,9 +2341,9 @@ static void dump_one_paca(int cpu)DUMP (p, lock_token,"x" );DUMP (p, paca_index,"x" ); -DUMP (p, kernel_toc,"lx" ); -DUMP (p, kernelbase,"lx" ); -DUMP (p, kernel_msr,"lx" ); +DUMP (p, kernel_toc,"llx" ); +DUMP (p, kernelbase,"llx" ); +DUMP (p, kernel_msr,"llx" );DUMP (p, emergency_sp,"px" );#ifdef CONFIG_PPC_BOOK3S_64 DUMP (p, nmi_emergency_sp,"px" );
@@ -2352,7 +2352,7 @@ static void dump_one_paca(int cpu)DUMP (p, in_mce,"x" );DUMP (p, hmi_event_available,"x" );#endif -DUMP (p, data_offset,"lx" ); +DUMP (p, data_offset,"llx" );DUMP (p, hw_cpu_id,"x" );DUMP (p, cpu_start,"x" );DUMP (p, kexec_state,"x" );
@@ -2367,7 +2367,7 @@ static void dump_one_paca(int cpu) vsid =be64_to_cpu (p->slb_shadow_ptr->save_area[i].vsid);if (esid || vsid) { -printf (" slb_shadow[%d]: = 0x%016lx 0x%016lx\n" , +printf (" slb_shadow[%d]: = 0x%016llx 0x%016llx\n" , i, esid, vsid); } }
@@ -2388,10 +2388,10 @@ static void dump_one_paca(int cpu)DUMP (p, dbg_kstack,"px" );#endif DUMP (p, __current,"px" ); -DUMP (p, kstack,"lx" ); -printf (" kstack_base = 0x%016lx\n" , p->kstack & ~(THREAD_SIZE -1 )); -DUMP (p, stab_rr,"lx" ); -DUMP (p, saved_r1,"lx" ); +DUMP (p, kstack,"llx" ); +printf (" kstack_base = 0x%016llx\n" , p->kstack & ~(THREAD_SIZE -1 )); +DUMP (p, stab_rr,"llx" ); +DUMP (p, saved_r1,"llx" );DUMP (p, trap_save,"x" );DUMP (p, irq_soft_mask,"x" );DUMP (p, irq_happened,"x" );
@@ -3848,9 +3848,9 @@ static void dump_spu_fields(struct spu *spu)DUMP_FIELD (spu,"0x%x" , node);DUMP_FIELD (spu,"0x%lx" , flags);DUMP_FIELD (spu,"%d" , class_0_pending); -DUMP_FIELD (spu,"0x%lx" , class_0_dar); -DUMP_FIELD (spu,"0x%lx" , class_1_dar); -DUMP_FIELD (spu,"0x%lx" , class_1_dsisr); +DUMP_FIELD (spu,"0x%llx" , class_0_dar); +DUMP_FIELD (spu,"0x%llx" , class_1_dar); +DUMP_FIELD (spu,"0x%llx" , class_1_dsisr);DUMP_FIELD (spu,"0x%x" , irqs[0 ]);DUMP_FIELD (spu,"0x%x" , irqs[1 ]);DUMP_FIELD (spu,"0x%x" , irqs[2 ]);
Signature · 1 line
2.11.0
PATCH 13/19 ppc64: change %llx into %lx
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_one_paca’:../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2417:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.utime, "llx");
^~~~../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2418:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.stime, "llx");
^~~~../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2419:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.utime_scaled, "llx");
^~~~../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2420:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.starttime, "llx");
^~~~../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2421:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.starttime_user, "llx");
^~~~../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2422:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.startspurr, "llx");
^~~~../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2423:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.utime_sspurr, "llx");
^~~~../arch/powerpc/xmon/xmon.c:2339:9: error: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2424:2: note: in expansion of macro ‘DUMP’
DUMP(p, accounting.steal_time, "llx");
^~~~
cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
arch/powerpc/xmon/xmon.c +8 -8
@@ -2411,14 +2411,14 @@ static void dump_one_paca(int cpu)DUMP (p, subcore_sibling_mask,"x" );#endif -DUMP (p, accounting.utime,"llx" ); -DUMP (p, accounting.stime,"llx" ); -DUMP (p, accounting.utime_scaled,"llx" ); -DUMP (p, accounting.starttime,"llx" ); -DUMP (p, accounting.starttime_user,"llx" ); -DUMP (p, accounting.startspurr,"llx" ); -DUMP (p, accounting.utime_sspurr,"llx" ); -DUMP (p, accounting.steal_time,"llx" ); +DUMP (p, accounting.utime,"lx" ); +DUMP (p, accounting.stime,"lx" ); +DUMP (p, accounting.utime_scaled,"lx" ); +DUMP (p, accounting.starttime,"lx" ); +DUMP (p, accounting.starttime_user,"lx" ); +DUMP (p, accounting.startspurr,"lx" ); +DUMP (p, accounting.utime_sspurr,"lx" ); +DUMP (p, accounting.steal_time,"lx" );#undef DUMP catch_memory_errors =0 ;
Signature · 1 line
2.11.0
PATCH 14/19 ppc64: change %p into %llx
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_spu_fields’:../arch/powerpc/xmon/xmon.c:3827:10: error: format ‘%p’ expects argument of type ‘void *’, but argument 4 has type ‘long long unsigned int’ [-Werror=format=]
printf(" %-*s = "format"\n", DUMP_WIDTH, \
^../arch/powerpc/xmon/xmon.c:3840:2: note: in expansion of macro ‘DUMP_VALUE’
DUMP_VALUE(format, field, obj->field)
^~~~~~~~~~../arch/powerpc/xmon/xmon.c:3865:2: note: in expansion of macro ‘DUMP_FIELD’
DUMP_FIELD(spu, "0x%p", timestamp);
^~~~~~~~~~
cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/xmon/xmon.c +1 -1
@@ -3859,7 +3859,7 @@ static void dump_spu_fields(struct spu *spu)DUMP_FIELD (spu,"0x%p" , mm);DUMP_FIELD (spu,"0x%p" , ctx);DUMP_FIELD (spu,"0x%p" , rq); -DUMP_FIELD (spu,"0x%p" , timestamp); +DUMP_FIELD (spu,"0x%llx" , timestamp);DUMP_FIELD (spu,"0x%lx" , problem_phys);DUMP_FIELD (spu,"0x%p" , problem); DUMP_VALUE("0x%x", problem->spu_runcntl_RW,
Signature · 1 line
2.11.0
PATCH 15/19 ppc64: change %d into %ld
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_spu_ls’:../arch/powerpc/xmon/xmon.c:3896:50: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("*** Error: accessing spu info for spu %d\n", num);
^
cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/xmon/xmon.c +1 -1
@@ -3890,7 +3890,7 @@ static void dump_spu_ls(unsigned long num, int subcmd)__delay (200 ); }else { catch_memory_errors =0 ; -printf ("*** Error: accessing spu info for spu %d\n" , num); +printf ("*** Error: accessing spu info for spu %ld\n" , num);return ; } catch_memory_errors =0 ;
Signature · 1 line
2.11.0
PATCH 16/19 ppc64: Change %d into %lu
In reply to Mathieu Malaterre CC arch/powerpc/xmon/spu-dis.o../arch/powerpc/xmon/spu-dis.c: In function ‘print_insn_spu’:../arch/powerpc/xmon/spu-dis.c:137:18: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("$%d",
^
../arch/powerpc/xmon/spu-dis.c:141:18: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("$%d",
^
../arch/powerpc/xmon/spu-dis.c:145:18: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("$%d",
^
../arch/powerpc/xmon/spu-dis.c:149:18: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("$%d",
^
../arch/powerpc/xmon/spu-dis.c:153:20: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("$sp%d",
^
../arch/powerpc/xmon/spu-dis.c:157:20: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("$ch%d",
^
../arch/powerpc/xmon/spu-dis.c:165:17: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("%d",
^
../arch/powerpc/xmon/spu-dis.c:169:17: error: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long unsigned int’ [-Werror=format=]
printf("%d",
^cc1: all warnings being treated as errors
--- arch/powerpc/xmon/spu-dis.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-)
arch/powerpc/xmon/spu-dis.c +8 -8
@@ -134,27 +134,27 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)switch (arg) {case A_T : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RT (insn));break ;case A_A : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RA (insn));break ;case A_B : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RB (insn));break ;case A_C : -printf ("$%d" , +printf ("$%lu" ,DECODE_INSN_RC (insn));break ;case A_S : -printf ("$sp%d" , +printf ("$sp%lu" ,DECODE_INSN_RA (insn));break ;case A_H : -printf ("$ch%d" , +printf ("$ch%lu" ,DECODE_INSN_RA (insn));break ;case A_P :
@@ -162,11 +162,11 @@ print_insn_spu (unsigned long insn, unsigned long memaddr)printf ("(" );break ;case A_U7A : -printf ("%d" , +printf ("%lu" ,173 -DECODE_INSN_U8 (insn));break ;case A_U7B : -printf ("%d" , +printf ("%lu" ,155 -DECODE_INSN_U8 (insn));break ;case A_S3 :
Signature · 1 line
2.11.0
PATCH 17/19 ppc64: change %d into %llu
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_spu_fields’:../arch/powerpc/xmon/xmon.c:3827:10: error: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘u64 {aka long long unsigned int}’ [-Werror=format=]
printf(" %-*s = "format"\n", DUMP_WIDTH, \
^../arch/powerpc/xmon/xmon.c:3840:2: note: in expansion of macro ‘DUMP_VALUE’
DUMP_VALUE(format, field, obj->field)
^~~~~~~~~~../arch/powerpc/xmon/xmon.c:3853:2: note: in expansion of macro ‘DUMP_FIELD’
DUMP_FIELD(spu, "%d", class_0_pending);
^~~~~~~~~~
cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/xmon/xmon.c +1 -1
@@ -3847,7 +3847,7 @@ static void dump_spu_fields(struct spu *spu)DUMP_FIELD (spu,"0x%lx" , ls_size);DUMP_FIELD (spu,"0x%x" , node);DUMP_FIELD (spu,"0x%lx" , flags); -DUMP_FIELD (spu,"%d" , class_0_pending); +DUMP_FIELD (spu,"%llu" , class_0_pending);DUMP_FIELD (spu,"0x%llx" , class_0_dar);DUMP_FIELD (spu,"0x%llx" , class_1_dar);DUMP_FIELD (spu,"0x%llx" , class_1_dsisr);
Signature · 1 line
2.11.0
PATCH 18/19 ppc64: change %ld into %d
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘prregs’:../arch/powerpc/xmon/xmon.c:1665:17: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘int’ [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
^
../arch/powerpc/xmon/xmon.c:1665:11: error: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘int’ [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
^~~~~~~~~~~
../arch/powerpc/xmon/xmon.c:1669:17: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘int’ [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
^
../arch/powerpc/xmon/xmon.c:1669:11: error: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘int’ [-Werror=format=]
printf("R%.2ld = "REG" R%.2ld = "REG"\n",
^~~~~~~~~~~cc1: all warnings being treated as errors
--- arch/powerpc/xmon/xmon.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/powerpc/xmon/xmon.c +2 -2
@@ -1662,11 +1662,11 @@ static void prregs(struct pt_regs *fp)#ifdef CONFIG_PPC64 if (FULL_REGS (fp)) {for (n =0 ; n <16 ; ++n) -printf ("R%.2ld = " REG " R%.2ld = " REG "\n" , +printf ("R%.2d = " REG " R%.2d = " REG "\n" , n, fp->gpr[n], n+16 , fp->gpr[n+16 ]); }else {for (n =0 ; n <7 ; ++n) -printf ("R%.2ld = " REG " R%.2ld = " REG "\n" , +printf ("R%.2d = " REG " R%.2d = " REG "\n" , n, fp->gpr[n], n+7 , fp->gpr[n+7 ]); }#else
Signature · 1 line
2.11.0
PATCH 19/19 ppc64: Handle %p format in DUMPPTR() function-like macro
In reply to Mathieu Malaterre CC arch/powerpc/xmon/xmon.o../arch/powerpc/xmon/xmon.c: In function ‘dump_one_paca’:../arch/powerpc/xmon/xmon.c:2339:9: error: '#' flag used with ‘%p’ gnu_printf format [-Werror=format=]
printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \
^../arch/powerpc/xmon/xmon.c:2347:2: note: in expansion of macro ‘DUMP’
DUMP(p, emergency_sp, "px");
while at it fix warning reported by checkpatch:
WARNING: macros should not use a trailing semicolon
--- arch/powerpc/xmon/xmon.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
arch/powerpc/xmon/xmon.c +10 -7
@@ -2337,17 +2337,20 @@ static void dump_one_paca(int cpu)#define DUMP (paca, name, format) \ printf(" %-*s = %#-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \ - offsetof(struct paca_struct, name)); + offsetof(struct paca_struct, name)) +#define DUMPPTR (paca, name, format) \ + printf(" %-*s = %-*"format"\t(0x%lx)\n", 20, #name, 18, paca->name, \ + offsetof(struct paca_struct, name))DUMP (p, lock_token,"x" );DUMP (p, paca_index,"x" );DUMP (p, kernel_toc,"llx" );DUMP (p, kernelbase,"llx" );DUMP (p, kernel_msr,"llx" ); -DUMP (p, emergency_sp,"px" ); +DUMPPTR (p, emergency_sp,"p" );#ifdef CONFIG_PPC_BOOK3S_64 -DUMP (p, nmi_emergency_sp,"px" ); -DUMP (p, mc_emergency_sp,"px" ); +DUMPPTR (p, nmi_emergency_sp,"p" ); +DUMPPTR (p, mc_emergency_sp,"p" );DUMP (p, in_nmi,"x" );DUMP (p, in_mce,"x" );DUMP (p, hmi_event_available,"x" );
@@ -2376,7 +2379,7 @@ static void dump_one_paca(int cpu)for (i =0 ; i <SLB_CACHE_ENTRIES ; i++)printf (" slb_cache[%d]: = 0x%016x\n" , i, p->slb_cache[i]); -DUMP (p, rfi_flush_fallback_area,"px" ); +DUMPPTR (p, rfi_flush_fallback_area,"p" );#endif DUMP (p, dscr_default,"llx" );#ifdef CONFIG_PPC_BOOK3E
@@ -2387,7 +2390,7 @@ static void dump_one_paca(int cpu)DUMP (p, crit_kstack,"px" );DUMP (p, dbg_kstack,"px" );#endif -DUMP (p, __current,"px" ); +DUMPPTR (p, __current,"p" );DUMP (p, kstack,"llx" );printf (" kstack_base = 0x%016llx\n" , p->kstack & ~(THREAD_SIZE -1 ));DUMP (p, stab_rr,"llx" );
@@ -2405,7 +2408,7 @@ static void dump_one_paca(int cpu)#endif #ifdef CONFIG_PPC_POWERNV -DUMP (p, core_idle_state_ptr,"px" ); +DUMPPTR (p, core_idle_state_ptr,"p" );DUMP (p, thread_idle_state,"x" );DUMP (p, thread_mask,"x" );DUMP (p, subcore_sibling_mask,"x" );
Signature · 1 line
2.11.0