linux/arch/s390
Heiko Carstens 9ea29ff30e s390/decompressor: fix misaligned symbol build error
commit 938f0c35d7 upstream.

Nathan Chancellor reported a kernel build error on Fedora 39:

$ clang --version | head -1
clang version 16.0.5 (Fedora 16.0.5-1.fc39)

$ s390x-linux-gnu-ld --version | head -1
GNU ld version 2.40-1.fc39

$ make -skj"$(nproc)" ARCH=s390 CC=clang CROSS_COMPILE=s390x-linux-gnu- olddefconfig all
s390x-linux-gnu-ld: arch/s390/boot/startup.o(.text+0x5b4): misaligned symbol `_decompressor_end' (0x35b0f) for relocation R_390_PC32DBL
make[3]: *** [.../arch/s390/boot/Makefile:78: arch/s390/boot/vmlinux] Error 1

It turned out that the problem with misaligned symbols on s390 was fixed
with commit 80ddf5ce1c ("s390: always build relocatable kernel") for the
kernel image, but did not take into account that the decompressor uses its
own set of CFLAGS, which come without -fPIE.

Add the -fPIE flag also to the decompresser CFLAGS to fix this.

Reported-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Reported-by: CKI <cki-project@redhat.com>
Suggested-by: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/1747
Link: https://lore.kernel.org/32935.123062114500601371@us-mta-9.us.mimecast.lan/
Link: https://lore.kernel.org/r/20230622125508.1068457-1-hca@linux.ibm.com
Cc: <stable@vger.kernel.org>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-07-23 13:54:08 +02:00
..
appldata s390: simplify dynamic sysctl registration for appldata_register_ops 2023-03-20 10:56:49 +01:00
boot s390/mm: fix direct map accounting 2023-04-13 17:36:28 +02:00
configs s390/iommu: get rid of S390_CCW_IOMMU and S390_AP_IOMMU 2023-05-17 15:20:18 +02:00
crypto s390/crypto: use vector instructions only if available for ChaCha20 2023-05-15 14:20:13 +02:00
hypfs s390/hypfs: remove unused info_blk_hdr__pcpus() function 2022-11-23 16:24:07 +01:00
include s390/uapi: cover statfs padding by growing f_spare 2023-05-17 15:20:17 +02:00
kernel s390 updates for 6.4-rc3 2023-05-19 11:11:04 -07:00
kvm KVM: s390/diag: fix racy access of physical cpu number in diag 9c handler 2023-07-19 16:36:38 +02:00
lib s390/lib: use SYM* macros instead of ENTRY(), etc. 2023-04-19 17:24:16 +02:00
mm s390/kasan: fix insecure W+X mapping warning 2023-07-19 16:35:07 +02:00
net bpf-next-for-netdev 2023-04-21 20:32:37 -07:00
pci Merge branch 'uaccess-inline-asm-cleanup' into features 2023-04-04 18:29:28 +02:00
purgatory s390/purgatory: disable branch profiling 2023-06-01 16:59:43 +02:00
tools KVM: s390: Add facility 197 to the allow list 2022-07-13 15:25:25 +02:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig s390/iommu: get rid of S390_CCW_IOMMU and S390_AP_IOMMU 2023-05-17 15:20:18 +02:00
Kconfig.debug s390/Kconfig.debug: fix indentation 2022-06-01 12:03:15 +02:00
Makefile s390/decompressor: fix misaligned symbol build error 2023-07-23 13:54:08 +02:00