This is the mail archive of the
mailing list for the elfutils project.
[Bug libdw/22452] Failed to obtain CFI data for a OP_call_frame_CFA when looking for func entrypoc in an s390 kernel module
- From: "brueckner at linux dot vnet.ibm.com" <sourceware-bugzilla at sourceware dot org>
- To: elfutils-devel at sourceware dot org
- Date: Mon, 20 Nov 2017 14:00:33 +0000
- Subject: [Bug libdw/22452] Failed to obtain CFI data for a OP_call_frame_CFA when looking for func entrypoc in an s390 kernel module
- Auto-submitted: auto-generated
- References: <firstname.lastname@example.org/bugzilla/>
--- Comment #14 from H. Brueckner <brueckner at linux dot vnet.ibm.com> ---
Hi Mark, Andreas,
(In reply to Andreas Krebbel from comment #11)
> x86 enables generation of .debug_frame by using:
> KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
> in the kernel Makefile. This makes GCC to add ".cfi_sections .debug_frame"
> to the assembler output which in turn triggers gas to generate the section.
> I don't see a reason why we couldn't do the same for s390. The .eh_frame
> section aren't used in the kernel.
Thanks for this direction: Emitting the CFI data in the .debug_frame work
nicely. With that change, perf probe and my test program works. For reference:
I: Looking up xts_paes_crypt@/root/git/linux/arch/s390/crypto/paes_s390.ko
DIE: name=xts_paes_crypt tag=subprogram offset=53957 (0xd2c5)
low pc: 10ca8
high pc: 10e78
entry pc: 10ca8
I: Frame Base: Number of locations: 1 (len=1)
I: Frame Base: Location operation 0: call_frame_cfa
E: Could not obtain CFI (eh): no DWARF information
I: CFA operation: 0: bregx
clearly shows a successful call to dwarf_frame_cfa() obtaining the CFI from the
.debug_frame (and not longe from the .eh_frame).
Having explicit ebl hooks would still be nice but I guess will not be the
top-priority item in the TODO list. I pursue to integrate my change for s390
in the upstream kernel.
You are receiving this mail because:
You are on the CC list for the bug.