diff mbox series

parisc: use -fno-strict-aliasing for decompressor

Message ID 20200508093553.2742898-1-arnd@arndb.de (mailing list archive)
State Accepted, archived
Headers show
Series parisc: use -fno-strict-aliasing for decompressor | expand

Commit Message

Arnd Bergmann May 8, 2020, 9:35 a.m. UTC
An experimental patch series of mine reworks how warnings are processed
in Kbuild. A side effect is a new warning about a harmless aliasing
rule violation in an inline function:

In file included from
include/linux/rhashtable-types.h:15:0,
                 from include/linux/ipc.h:7,
                 from include/uapi/linux/sem.h:5,
                 from include/linux/sem.h:5,
                 from include/linux/sched.h:15,
                 from include/linux/uaccess.h:6,
                 from arch/parisc/boot/compressed/misc.c:7:
include/linux/workqueue.h: In function 'work_static':
include/linux/workqueue.h:212:2: warning: dereferencing
type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  return *work_data_bits(work) & WORK_STRUCT_STATIC;

Make the decompressor use -fno-strict-aliasing like the rest of
the kernel for consistency, and to ensure this warning never makes
it into a release.

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/parisc/boot/compressed/Makefile | 1 +
 1 file changed, 1 insertion(+)

Comments

Helge Deller May 8, 2020, 9:40 p.m. UTC | #1
On 08.05.20 11:35, Arnd Bergmann wrote:
> An experimental patch series of mine reworks how warnings are processed
> in Kbuild. A side effect is a new warning about a harmless aliasing
> rule violation in an inline function:
>
> In file included from
> include/linux/rhashtable-types.h:15:0,
>                  from include/linux/ipc.h:7,
>                  from include/uapi/linux/sem.h:5,
>                  from include/linux/sem.h:5,
>                  from include/linux/sched.h:15,
>                  from include/linux/uaccess.h:6,
>                  from arch/parisc/boot/compressed/misc.c:7:
> include/linux/workqueue.h: In function 'work_static':
> include/linux/workqueue.h:212:2: warning: dereferencing
> type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
>   return *work_data_bits(work) & WORK_STRUCT_STATIC;
>
> Make the decompressor use -fno-strict-aliasing like the rest of
> the kernel for consistency, and to ensure this warning never makes
> it into a release.
>
> Reported-by: kbuild test robot <lkp@intel.com>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Helge Deller <deller@gmx.de>

Arnd, will you take it through your trees when you push your experimental
patches, or do you want me to take it through the parisc tree?

Helge

> ---
>  arch/parisc/boot/compressed/Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/parisc/boot/compressed/Makefile b/arch/parisc/boot/compressed/Makefile
> index 1e5879c6a752..dff453687530 100644
> --- a/arch/parisc/boot/compressed/Makefile
> +++ b/arch/parisc/boot/compressed/Makefile
> @@ -16,6 +16,7 @@ targets += real2.S firmware.c
>
>  KBUILD_CFLAGS := -D__KERNEL__ -O2 -DBOOTLOADER
>  KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
> +KBUILD_CFLAGS += -fno-strict-aliasing
>  KBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -fno-builtin-printf
>  KBUILD_CFLAGS += -fno-PIE -mno-space-regs -mdisable-fpregs -Os
>  ifndef CONFIG_64BIT
>
Arnd Bergmann May 8, 2020, 9:43 p.m. UTC | #2
On Fri, May 8, 2020 at 11:40 PM Helge Deller <deller@gmx.de> wrote:
> On 08.05.20 11:35, Arnd Bergmann wrote:
> > An experimental patch series of mine reworks how warnings are processed
> > in Kbuild. A side effect is a new warning about a harmless aliasing
> > rule violation in an inline function:
> >
> > In file included from
> > include/linux/rhashtable-types.h:15:0,
> >                  from include/linux/ipc.h:7,
> >                  from include/uapi/linux/sem.h:5,
> >                  from include/linux/sem.h:5,
> >                  from include/linux/sched.h:15,
> >                  from include/linux/uaccess.h:6,
> >                  from arch/parisc/boot/compressed/misc.c:7:
> > include/linux/workqueue.h: In function 'work_static':
> > include/linux/workqueue.h:212:2: warning: dereferencing
> > type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
> >   return *work_data_bits(work) & WORK_STRUCT_STATIC;
> >
> > Make the decompressor use -fno-strict-aliasing like the rest of
> > the kernel for consistency, and to ensure this warning never makes
> > it into a release.
> >
> > Reported-by: kbuild test robot <lkp@intel.com>
> > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> Acked-by: Helge Deller <deller@gmx.de>
>
> Arnd, will you take it through your trees when you push your experimental
> patches, or do you want me to take it through the parisc tree?

Please take it through your tree. It will take me a while to finish my
series, and having one less change will make it easier to review.

       Arnd
diff mbox series

Patch

diff --git a/arch/parisc/boot/compressed/Makefile b/arch/parisc/boot/compressed/Makefile
index 1e5879c6a752..dff453687530 100644
--- a/arch/parisc/boot/compressed/Makefile
+++ b/arch/parisc/boot/compressed/Makefile
@@ -16,6 +16,7 @@  targets += real2.S firmware.c
 
 KBUILD_CFLAGS := -D__KERNEL__ -O2 -DBOOTLOADER
 KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
+KBUILD_CFLAGS += -fno-strict-aliasing
 KBUILD_CFLAGS += $(cflags-y) -fno-delete-null-pointer-checks -fno-builtin-printf
 KBUILD_CFLAGS += -fno-PIE -mno-space-regs -mdisable-fpregs -Os
 ifndef CONFIG_64BIT