Patch "s390: disable -Warray-bounds" has been added to the 4.19-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    s390: disable -Warray-bounds

to the 4.19-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     s390-disable-warray-bounds.patch
and it can be found in the queue-4.19 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c01aac3e235fe5c5e04355d6f63a681536038366
Author: Sven Schnelle <svens@xxxxxxxxxxxxx>
Date:   Mon Apr 25 14:17:42 2022 +0200

    s390: disable -Warray-bounds
    
    [ Upstream commit 8b202ee218395319aec1ef44f72043e1fbaccdd6 ]
    
    gcc-12 shows a lot of array bound warnings on s390. This is caused
    by the S390_lowcore macro which uses a hardcoded address of 0.
    
    Wrapping that with absolute_pointer() works, but gcc no longer knows
    that a 12 bit displacement is sufficient to access lowcore. So it
    emits instructions like 'lghi %r1,0; l %rx,xxx(%r1)' instead of a
    single load/store instruction. As s390 stores variables often
    read/written in lowcore, this is considered problematic. Therefore
    disable -Warray-bounds on s390 for gcc-12 for the time being, until
    there is a better solution.
    
    Signed-off-by: Sven Schnelle <svens@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/yt9dzgkelelc.fsf@xxxxxxxxxxxxx
    Link: https://lore.kernel.org/r/20220422134308.1613610-1-svens@xxxxxxxxxxxxx
    Link: https://lore.kernel.org/r/20220425121742.3222133-1-svens@xxxxxxxxxxxxx
    Signed-off-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/s390/Makefile b/arch/s390/Makefile
index 9a3a698c8fca..4d0082f3de47 100644
--- a/arch/s390/Makefile
+++ b/arch/s390/Makefile
@@ -27,6 +27,16 @@ KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-option,-ffreestanding)
 KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member)
 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g)
 KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,))
+
+ifdef CONFIG_CC_IS_GCC
+	ifeq ($(call cc-ifversion, -ge, 1200, y), y)
+		ifeq ($(call cc-ifversion, -lt, 1300, y), y)
+			KBUILD_CFLAGS += $(call cc-disable-warning, array-bounds)
+			KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, array-bounds)
+		endif
+	endif
+endif
+
 UTS_MACHINE	:= s390x
 STACK_SIZE	:= 16384
 CHECKFLAGS	+= -D__s390__ -D__s390x__



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux