s390: disable -Warray-bounds
authorSven Schnelle <svens@linux.ibm.com>
Mon, 25 Apr 2022 12:17:42 +0000 (14:17 +0200)
committerHeiko Carstens <hca@linux.ibm.com>
Wed, 27 Apr 2022 10:53:07 +0000 (12:53 +0200)
commit8b202ee218395319aec1ef44f72043e1fbaccdd6
treee76434d0d187e7688550079cc687801336e2a714
parentaf2d861d4cd2a4da5137f795ee3509e6f944a25b
s390: disable -Warray-bounds

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@linux.ibm.com>
Link: https://lore.kernel.org/r/yt9dzgkelelc.fsf@linux.ibm.com
Link: https://lore.kernel.org/r/20220422134308.1613610-1-svens@linux.ibm.com
Link: https://lore.kernel.org/r/20220425121742.3222133-1-svens@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/Makefile