Re: [PATCH 3/3 v2] sh: fix READ/WRITE redefinition warnings
From: John Paul Adrian Glaubitz
Date: Wed Jun 30 2021 - 05:36:27 EST
On 6/28/21 12:05 AM, Randy Dunlap wrote:
> kernel.h defines READ and WRITE, so rename the SH math-emu macros
> to MREAD and MWRITE.
>
> Fixes these warnings:
>
> ../arch/sh/math-emu/math.c:54: warning: "WRITE" redefined
> 54 | #define WRITE(d,a) ({if(put_user(d, (typeof (d) __user *)a)) return -EFAULT;})
> In file included from ../arch/sh/math-emu/math.c:10:
> ../include/linux/kernel.h:37: note: this is the location of the previous definition
> 37 | #define WRITE 1
> ../arch/sh/math-emu/math.c:55: warning: "READ" redefined
> 55 | #define READ(d,a) ({if(get_user(d, (typeof (d) __user *)a)) return -EFAULT;})
> In file included from ../arch/sh/math-emu/math.c:10:
> ../include/linux/kernel.h:36: note: this is the location of the previous definition
> 36 | #define READ 0
>
> Fixes: 4b565680d163 ("sh: math-emu support")
> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>
> Cc: Rich Felker <dalias@xxxxxxxx>
> Cc: linux-sh@xxxxxxxxxxxxxxx
> Cc: Takashi YOSHII <takasi-y@xxxxxxxxxxxxx>
> Cc: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx>
> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> ---
> v2: renumber patches, otherwise no change;
>
> arch/sh/math-emu/math.c | 44 +++++++++++++++++++-------------------
> 1 file changed, 22 insertions(+), 22 deletions(-)
>
> --- linux-next-20210625.orig/arch/sh/math-emu/math.c
> +++ linux-next-20210625/arch/sh/math-emu/math.c
> @@ -51,8 +51,8 @@
> #define Rn (regs->regs[n])
> #define Rm (regs->regs[m])
>
> -#define WRITE(d,a) ({if(put_user(d, (typeof (d) __user *)a)) return -EFAULT;})
> -#define READ(d,a) ({if(get_user(d, (typeof (d) __user *)a)) return -EFAULT;})
> +#define MWRITE(d,a) ({if(put_user(d, (typeof (d) __user *)a)) return -EFAULT;})
> +#define MREAD(d,a) ({if(get_user(d, (typeof (d) __user *)a)) return -EFAULT;})
>
> #define PACK_S(r,f) FP_PACK_SP(&r,f)
> #define UNPACK_S(f,r) FP_UNPACK_SP(f,&r)
> @@ -157,11 +157,11 @@ fmov_idx_reg(struct sh_fpu_soft_struct *
> {
> if (FPSCR_SZ) {
> FMOV_EXT(n);
> - READ(FRn, Rm + R0 + 4);
> + MREAD(FRn, Rm + R0 + 4);
> n++;
> - READ(FRn, Rm + R0);
> + MREAD(FRn, Rm + R0);
> } else {
> - READ(FRn, Rm + R0);
> + MREAD(FRn, Rm + R0);
> }
>
> return 0;
> @@ -173,11 +173,11 @@ fmov_mem_reg(struct sh_fpu_soft_struct *
> {
> if (FPSCR_SZ) {
> FMOV_EXT(n);
> - READ(FRn, Rm + 4);
> + MREAD(FRn, Rm + 4);
> n++;
> - READ(FRn, Rm);
> + MREAD(FRn, Rm);
> } else {
> - READ(FRn, Rm);
> + MREAD(FRn, Rm);
> }
>
> return 0;
> @@ -189,12 +189,12 @@ fmov_inc_reg(struct sh_fpu_soft_struct *
> {
> if (FPSCR_SZ) {
> FMOV_EXT(n);
> - READ(FRn, Rm + 4);
> + MREAD(FRn, Rm + 4);
> n++;
> - READ(FRn, Rm);
> + MREAD(FRn, Rm);
> Rm += 8;
> } else {
> - READ(FRn, Rm);
> + MREAD(FRn, Rm);
> Rm += 4;
> }
>
> @@ -207,11 +207,11 @@ fmov_reg_idx(struct sh_fpu_soft_struct *
> {
> if (FPSCR_SZ) {
> FMOV_EXT(m);
> - WRITE(FRm, Rn + R0 + 4);
> + MWRITE(FRm, Rn + R0 + 4);
> m++;
> - WRITE(FRm, Rn + R0);
> + MWRITE(FRm, Rn + R0);
> } else {
> - WRITE(FRm, Rn + R0);
> + MWRITE(FRm, Rn + R0);
> }
>
> return 0;
> @@ -223,11 +223,11 @@ fmov_reg_mem(struct sh_fpu_soft_struct *
> {
> if (FPSCR_SZ) {
> FMOV_EXT(m);
> - WRITE(FRm, Rn + 4);
> + MWRITE(FRm, Rn + 4);
> m++;
> - WRITE(FRm, Rn);
> + MWRITE(FRm, Rn);
> } else {
> - WRITE(FRm, Rn);
> + MWRITE(FRm, Rn);
> }
>
> return 0;
> @@ -240,12 +240,12 @@ fmov_reg_dec(struct sh_fpu_soft_struct *
> if (FPSCR_SZ) {
> FMOV_EXT(m);
> Rn -= 8;
> - WRITE(FRm, Rn + 4);
> + MWRITE(FRm, Rn + 4);
> m++;
> - WRITE(FRm, Rn);
> + MWRITE(FRm, Rn);
> } else {
> Rn -= 4;
> - WRITE(FRm, Rn);
> + MWRITE(FRm, Rn);
> }
>
> return 0;
> @@ -445,11 +445,11 @@ id_sys(struct sh_fpu_soft_struct *fregs,
> case 0x4052:
> case 0x4062:
> Rn -= 4;
> - WRITE(*reg, Rn);
> + MWRITE(*reg, Rn);
> break;
> case 0x4056:
> case 0x4066:
> - READ(*reg, Rn);
> + MREAD(*reg, Rn);
> Rn += 4;
> break;
> default:
>
This one no longer applies to Linus' tree:
glaubitz@node54:/data/home/glaubitz/linux> git am ../sh-patches-2021/\[PATCH\ 3_3\ v2\]\ sh\:\ fix\ READ_WRITE\ redefinition\ warnings.eml
Applying: sh: fix READ/WRITE redefinition warnings
error: patch failed: arch/sh/math-emu/math.c:51
error: arch/sh/math-emu/math.c: patch does not apply
Patch failed at 0001 sh: fix READ/WRITE redefinition warnings
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
glaubitz@node54:/data/home/glaubitz/linux>
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@xxxxxxxxxx
`. `' Freie Universitaet Berlin - glaubitz@xxxxxxxxxxxxxxxxxxx
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913