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

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


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

--- Comment #10 from H. Brueckner <brueckner at linux dot vnet.ibm.com> ---
(In reply to Mark Wielaard from comment #9)
> (In reply to H. Brueckner from comment #8)
> > (In reply to Mark Wielaard from comment #5)
> > > (In reply to Mark Wielaard from comment #4)
> > > > So, if you could provide the output of eu-readelf --relocs paes_s390.ko (on
> > > > your combined paes_s390.ko containing both code and debug) that would be
> > > > helpful.
> > > 
> > > eu-readelf --debug-dump=frames --relocs paes_s390.ko
> > > 
> > 
> > Just attached the output; also the output of the binutils readelf command
> > for comparision. I guess that there are some more issues because lots of
> > invalid relocations are listed.
> 
> Is that eu-readelf from a distro install? Then there is something wrong with
> that install. If it is a build from source then make sure LD_LIBRARY_PATH
> contains the backends directory that has libebl_s390.so. Otherwise
> eu-readelf won't know about machine specific ELF/DWARF mappings (like the
> relocation types/names).

It was a local built and install, the LD_LIBRARY_PATH was not set properly.
However, setting is correctly, the relocation are displayed like with readelf.
Will update the attachment soon.

> 
> But the output does confirm what I feared. The R_390_PC32 .rela.eh_frame
> relocations are not "simple". They are load based.

So now it comes to that point I have feared, as it looks like the libdw just
performs "simple" relocations.  Your comment and the ebl_reloc_simple_type()
call in  libdwfl/relocate.c proofs that. Anyhow, do you plan to extend the
relocation code to support more complex relocations tool?

> It might not be too hard to add support for those.

What needs to be done / is necessary for that?


> But if there is any
> possibility to generate .debug_frame based CFI for the s390x kernel modules
> that would IMHO a much better/simpler solution because it makes things more
> in line with other arches. It should also make the kernel modules smaller.
> Does anything actually use the loaded .eh_frame CFI on s390x?

I will check the module usage on .eh_frame and will have a try on including the
CFI in the .debug_frame.

Thanks.

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


More information about the Elfutils-devel mailing list