Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/vdso: Generate unwind information for C modules

GDB fails to unwind vDSO functions with error message "PC not saved",
for instance when stepping through gettimeofday().

Add -fasynchronous-unwind-tables to CFLAGS to generate .eh_frame
DWARF unwind information for the vDSO C modules.

Fixes: 4bff8cb54502 ("s390: convert to GENERIC_VDSO")
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>

authored by

Jens Remus and committed by
Alexander Gordeev
10f70525 712c5d5f

+4 -2
+2 -1
arch/s390/kernel/vdso32/Makefile
··· 20 20 21 21 KBUILD_CFLAGS_32 := $(filter-out -m64,$(KBUILD_CFLAGS)) 22 22 KBUILD_CFLAGS_32 := $(filter-out -mno-pic-data-is-text-relative,$(KBUILD_CFLAGS_32)) 23 - KBUILD_CFLAGS_32 += -m31 -fPIC -shared -fno-common -fno-builtin 23 + KBUILD_CFLAGS_32 := $(filter-out -fno-asynchronous-unwind-tables,$(KBUILD_CFLAGS_32)) 24 + KBUILD_CFLAGS_32 += -m31 -fPIC -shared -fno-common -fno-builtin -fasynchronous-unwind-tables 24 25 25 26 LDFLAGS_vdso32.so.dbg += -shared -soname=linux-vdso32.so.1 \ 26 27 --hash-style=both --build-id=sha1 -melf_s390 -T
+2 -1
arch/s390/kernel/vdso64/Makefile
··· 26 26 KBUILD_CFLAGS_64 := $(filter-out -m64,$(KBUILD_CFLAGS)) 27 27 KBUILD_CFLAGS_64 := $(filter-out -mno-pic-data-is-text-relative,$(KBUILD_CFLAGS_64)) 28 28 KBUILD_CFLAGS_64 := $(filter-out -munaligned-symbols,$(KBUILD_CFLAGS_64)) 29 - KBUILD_CFLAGS_64 += -m64 -fPIC -fno-common -fno-builtin 29 + KBUILD_CFLAGS_64 := $(filter-out -fno-asynchronous-unwind-tables,$(KBUILD_CFLAGS_64)) 30 + KBUILD_CFLAGS_64 += -m64 -fPIC -fno-common -fno-builtin -fasynchronous-unwind-tables 30 31 ldflags-y := -shared -soname=linux-vdso64.so.1 \ 31 32 --hash-style=both --build-id=sha1 -T 32 33