linux/arch/s390
Hendrik Brueckner bc3703f21c s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections
Using perf probe and libdw on kernel modules failed to find CFI
data for symbols.  The CFI data is stored in the .eh_frame section.
The elfutils libdw is not able to extract the CFI data correctly,
because the .eh_frame section requires "non-simple" relocations
for kernel modules.

The suggestion is to avoid these "non-simple" relocations by emitting
the CFI data in the .debug_frame section.  Let gcc emit respective
directives by specifying the -fno-asynchronous-unwind-tables option.

Using the .debug_frame section for CFI data, the .eh_frame section
becomes unused and, thus, discard it for kernel and modules builds

The vDSO requires the .eh_frame section and, hence, emit the CFI data
in both, the .eh_frame and .debug_frame sections.

See also discussion on elfutils/libdw bugzilla:
https://sourceware.org/bugzilla/show_bug.cgi?id=22452

Suggested-by: Mark Wielaard <mark@klomp.org>
Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2017-12-13 10:51:35 +01:00
..
appldata s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
boot s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
configs s390: Remove CONFIG_HARDENED_USERCOPY 2017-11-16 13:12:21 +01:00
crypto s390: Remove redudant license text 2017-12-05 07:51:09 +01:00
hypfs s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
include s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections 2017-12-13 10:51:35 +01:00
kernel s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections 2017-12-13 10:51:35 +01:00
kvm KVM: s390: Fixes for 4.15 2017-12-06 15:55:44 +01:00
lib s390/spinlock: fix indentation 2017-11-14 22:07:58 +01:00
mm s390/mm: fix off-by-one bug in 5-level page table handling 2017-12-05 07:51:09 +01:00
net s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
numa s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pci s390/pci: handle insufficient resources during dma tlb flush 2017-12-13 10:51:33 +01:00
tools s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
defconfig s390: update defconfig 2017-10-16 08:19:28 +02:00
Kbuild s390: add a few more SPDX identifiers 2017-12-05 07:51:09 +01:00
Kconfig s390/perf: add perf_regs support and user stack dump 2017-11-16 15:06:11 +01:00
Kconfig.debug License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections 2017-12-13 10:51:35 +01:00