diff mbox series

MIPS: asm: Use __ASSEMBLY__ to guard some macros to avoid build error

Message ID 1588830863-30416-1-git-send-email-chenhc@lemote.com (mailing list archive)
State Superseded
Headers show
Series MIPS: asm: Use __ASSEMBLY__ to guard some macros to avoid build error | expand

Commit Message

Huacai Chen May 7, 2020, 5:54 a.m. UTC
Use __ASSEMBLY__ to guard definitions of some macros (PANIC and PRINT)
to avoid build error:

1, PANIC conflicts with drivers/scsi/smartpqi/smartpqi_init.c
2, PRINT conflicts with net/netfilter/nf_conntrack_h323_asn1.c and net/
   mac80211/debugfs_sta.c

Fixes: d339cd02b888eb8c ("MIPS: Move unaligned load/store helpers to inst.h")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Huacai Chen <chenhc@lemote.com>
---
 arch/mips/include/asm/asm.h | 4 ++++
 1 file changed, 4 insertions(+)

Comments

WANG Xuerui May 7, 2020, 6:13 a.m. UTC | #1
On 2020/5/7 13:54, Huacai Chen wrote:

> Use __ASSEMBLY__ to guard definitions of some macros (PANIC and PRINT)
> to avoid build error:
>
> 1, PANIC conflicts with drivers/scsi/smartpqi/smartpqi_init.c
> 2, PRINT conflicts with net/netfilter/nf_conntrack_h323_asn1.c and net/
>     mac80211/debugfs_sta.c
>
> Fixes: d339cd02b888eb8c ("MIPS: Move unaligned load/store helpers to inst.h")
> Reported-by: kbuild test robot <lkp@intel.com>
> Signed-off-by: Huacai Chen <chenhc@lemote.com>
> ---
>   arch/mips/include/asm/asm.h | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/arch/mips/include/asm/asm.h b/arch/mips/include/asm/asm.h
> index 934465d..b01762ab 100644
> --- a/arch/mips/include/asm/asm.h
> +++ b/arch/mips/include/asm/asm.h
> @@ -74,6 +74,8 @@ symbol:		.insn
>   		.globl	symbol;				\
>   symbol		=	value
>   
> +#ifdef __ASSEMBLY__
> +
>   #define PANIC(msg)					\
>   		.set	push;				\
>   		.set	reorder;			\
> @@ -98,6 +100,8 @@ symbol		=	value
>   #define PRINT(string)
>   #endif
>   
> +#endif
> +
>   #define TEXT(msg)					\
>   		.pushsection .data;			\
>   8:		.asciiz msg;				\

It looks like the whole file is meant for assembly code, not just the 
couple of conflicting definitions that were caught. At least the parts 
containing assembler directives are nothing to be consumed by C code.

Maybe wrap the whole file and see if it correctly builds?
Huacai Chen May 7, 2020, 6:47 a.m. UTC | #2
Hi, Xuerui,

On Thu, May 7, 2020 at 2:13 PM WANG Xuerui <kernel@xen0n.name> wrote:
>
> On 2020/5/7 13:54, Huacai Chen wrote:
>
> > Use __ASSEMBLY__ to guard definitions of some macros (PANIC and PRINT)
> > to avoid build error:
> >
> > 1, PANIC conflicts with drivers/scsi/smartpqi/smartpqi_init.c
> > 2, PRINT conflicts with net/netfilter/nf_conntrack_h323_asn1.c and net/
> >     mac80211/debugfs_sta.c
> >
> > Fixes: d339cd02b888eb8c ("MIPS: Move unaligned load/store helpers to inst.h")
> > Reported-by: kbuild test robot <lkp@intel.com>
> > Signed-off-by: Huacai Chen <chenhc@lemote.com>
> > ---
> >   arch/mips/include/asm/asm.h | 4 ++++
> >   1 file changed, 4 insertions(+)
> >
> > diff --git a/arch/mips/include/asm/asm.h b/arch/mips/include/asm/asm.h
> > index 934465d..b01762ab 100644
> > --- a/arch/mips/include/asm/asm.h
> > +++ b/arch/mips/include/asm/asm.h
> > @@ -74,6 +74,8 @@ symbol:             .insn
> >               .globl  symbol;                         \
> >   symbol              =       value
> >
> > +#ifdef __ASSEMBLY__
> > +
> >   #define PANIC(msg)                                  \
> >               .set    push;                           \
> >               .set    reorder;                        \
> > @@ -98,6 +100,8 @@ symbol             =       value
> >   #define PRINT(string)
> >   #endif
> >
> > +#endif
> > +
> >   #define TEXT(msg)                                   \
> >               .pushsection .data;                     \
> >   8:          .asciiz msg;                            \
>
> It looks like the whole file is meant for assembly code, not just the
> couple of conflicting definitions that were caught. At least the parts
> containing assembler directives are nothing to be consumed by C code.
>
> Maybe wrap the whole file and see if it correctly builds?
I have tried to wrap the whole file, but it causes a ton of other build errors.

Regards,
Huacai
Thomas Bogendoerfer May 7, 2020, 8:35 a.m. UTC | #3
On Thu, May 07, 2020 at 01:54:23PM +0800, Huacai Chen wrote:
> Use __ASSEMBLY__ to guard definitions of some macros (PANIC and PRINT)
> to avoid build error:
> 
> 1, PANIC conflicts with drivers/scsi/smartpqi/smartpqi_init.c
> 2, PRINT conflicts with net/netfilter/nf_conntrack_h323_asn1.c and net/
>    mac80211/debugfs_sta.c

how about prefixing them to make them more unique ? Something like
MIPS_ASM_PRINT/MIPS_ASM_PANIC ?

Thomas.
Huacai Chen May 7, 2020, 9:55 a.m. UTC | #4
Hi, Thomas,

On Thu, May 7, 2020 at 4:39 PM Thomas Bogendoerfer
<tsbogend@alpha.franken.de> wrote:
>
> On Thu, May 07, 2020 at 01:54:23PM +0800, Huacai Chen wrote:
> > Use __ASSEMBLY__ to guard definitions of some macros (PANIC and PRINT)
> > to avoid build error:
> >
> > 1, PANIC conflicts with drivers/scsi/smartpqi/smartpqi_init.c
> > 2, PRINT conflicts with net/netfilter/nf_conntrack_h323_asn1.c and net/
> >    mac80211/debugfs_sta.c
>
> how about prefixing them to make them more unique ? Something like
> MIPS_ASM_PRINT/MIPS_ASM_PANIC ?
Thanks for your review, and I will send a new patch by renaming them.

Regards,
Huacai
>
> Thomas.
>
> --
> Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
> good idea.                                                [ RFC1925, 2.3 ]
diff mbox series

Patch

diff --git a/arch/mips/include/asm/asm.h b/arch/mips/include/asm/asm.h
index 934465d..b01762ab 100644
--- a/arch/mips/include/asm/asm.h
+++ b/arch/mips/include/asm/asm.h
@@ -74,6 +74,8 @@  symbol:		.insn
 		.globl	symbol;				\
 symbol		=	value
 
+#ifdef __ASSEMBLY__
+
 #define PANIC(msg)					\
 		.set	push;				\
 		.set	reorder;			\
@@ -98,6 +100,8 @@  symbol		=	value
 #define PRINT(string)
 #endif
 
+#endif
+
 #define TEXT(msg)					\
 		.pushsection .data;			\
 8:		.asciiz msg;				\