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 08:08:03 +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 #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.
You are receiving this mail because:
You are on the CC list for the bug.