Patch "s390/vdso64: filter out munaligned-symbols flag for vdso" has been added to the 6.6-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/vdso64: filter out munaligned-symbols flag for vdso

to the 6.6-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-vdso64-filter-out-munaligned-symbols-flag-for-v.patch
and it can be found in the queue-6.6 subdirectory.

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



commit 662c1f2baa46ad30bcc8f8e92ddbd885de95d2a0
Author: Sumanth Korikkar <sumanthk@xxxxxxxxxxxxx>
Date:   Mon Feb 19 14:27:31 2024 +0100

    s390/vdso64: filter out munaligned-symbols flag for vdso
    
    [ Upstream commit 8192a1b3807510d0ed5be1f8988c08f8d41cced9 ]
    
    Gcc recently implemented an optimization [1] for loading symbols without
    explicit alignment, aligning with the IBM Z ELF ABI. This ABI mandates
    symbols to reside on a 2-byte boundary, enabling the use of the larl
    instruction. However, kernel linker scripts may still generate unaligned
    symbols. To address this, a new -munaligned-symbols option has been
    introduced [2] in recent gcc versions.
    
    [1] https://gcc.gnu.org/pipermail/gcc-patches/2023-June/622872.html
    [2] https://gcc.gnu.org/pipermail/gcc-patches/2023-August/625986.html
    
    However, when -munaligned-symbols  is used in vdso code, it leads to the
    following compilation error:
    `.data.rel.ro.local' referenced in section `.text' of
    arch/s390/kernel/vdso64/vdso64_generic.o: defined in discarded section
    `.data.rel.ro.local' of arch/s390/kernel/vdso64/vdso64_generic.o
    
    vdso linker script discards .data section to make it lightweight.
    However, -munaligned-symbols in vdso object files references literal
    pool and accesses _vdso_data. Hence, compile vdso code without
    -munaligned-symbols.  This means in the future, vdso code should deal
    with alignment of newly introduced unaligned linker symbols.
    
    Acked-by: Vasily Gorbik <gor@xxxxxxxxxxxxx>
    Signed-off-by: Sumanth Korikkar <sumanthk@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240219132734.22881-2-sumanthk@xxxxxxxxxxxxx
    Signed-off-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
    Stable-dep-of: 10f705253651 ("s390/vdso: Generate unwind information for C modules")
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/s390/kernel/vdso64/Makefile b/arch/s390/kernel/vdso64/Makefile
index 11f798e6cfea7..aa410a0a141cc 100644
--- a/arch/s390/kernel/vdso64/Makefile
+++ b/arch/s390/kernel/vdso64/Makefile
@@ -25,6 +25,7 @@ KBUILD_AFLAGS_64 += -m64
 
 KBUILD_CFLAGS_64 := $(filter-out -m64,$(KBUILD_CFLAGS))
 KBUILD_CFLAGS_64 := $(filter-out -mno-pic-data-is-text-relative,$(KBUILD_CFLAGS_64))
+KBUILD_CFLAGS_64 := $(filter-out -munaligned-symbols,$(KBUILD_CFLAGS_64))
 KBUILD_CFLAGS_64 += -m64 -fPIC -fno-common -fno-builtin
 ldflags-y := -shared -soname=linux-vdso64.so.1 \
 	     --hash-style=both --build-id=sha1 -T




[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