[Bug libdw/22452] Failed to obtain CFI data for a OP_call_frame_CFA when looking for func entrypoc in an s390 kernel module

krebbel at linux dot vnet.ibm.com sourceware-bugzilla@sourceware.org
Mon Nov 20 10:08:00 GMT 2017


https://sourceware.org/bugzilla/show_bug.cgi?id=22452

--- Comment #13 from Andreas Krebbel <krebbel at linux dot vnet.ibm.com> ---
The .eh_frame section in an .o file uses PC-relative relocations in order to
get its offset to the code determined during final link step. It probably does
this to avoid runtime relocations which would be necessary for an absolute
relocation. .eh_frame is read-only in the mapping, so runtime relocs are not
supposed to occur after final link step.
Since in the kernel module scenario libdw has to deal with the .eh_frame
section from the .o file it encounters these PC-relative relocs which it cannot
handle. I agree with Mark that libdw does not really need to support these
relocs since they only occur in that weird scenario which can be avoided using
.debug_frame instead.

.debug_frame does not have a location in the address space so a PC-relative
relocation would be pointless. Instead it is supposed to be read by tools where
applying absolute relocs is no problem.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Elfutils-devel mailing list