From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 33917 invoked by alias); 20 Nov 2017 09:28:39 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 33880 invoked by uid 48); 20 Nov 2017 09:28:35 -0000 From: "mark at klomp dot org" To: elfutils-devel@sourceware.org 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 Date: Mon, 20 Nov 2017 09:28:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: elfutils X-Bugzilla-Component: libdw X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: mark at klomp dot org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2017-q4/txt/msg00062.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=3D22452 --- Comment #12 from Mark Wielaard --- (In reply to H. Brueckner from comment #10) > (In reply to Mark Wielaard from comment #9) > > But the output does confirm what I feared. The R_390_PC32 .rela.eh_frame > > relocations are not "simple". They are load based. >=20 > So now it comes to that point I have feared, as it looks like the libdw j= ust > performs "simple" relocations. Your comment and the ebl_reloc_simple_typ= e() > call in libdwfl/relocate.c proofs that. Anyhow, do you plan to extend the > relocation code to support more complex relocations tool? >=20 > > It might not be too hard to add support for those. >=20 > What needs to be done / is necessary for that? We would need to extend ebl_reloc_simple_type, or add a new ebl backend hoo= k, that signals a relocation uses the load address. Then in libdwfl/relocate.c= use that to adjust the value to include the load address that libdwfl assigns to the section (given by struct dwfl_relocation start). This is similar to what arch/s390/kernel/module.c in the kernel does, but slightly more complicated because we want it to work "offline" cross architecture. This would be helpful in general for any ET_REL file for which we want to inspect the .eh_frame section CFI data. But since this is just for the kern= el modules at the moment I would wait with implementing it till you have experimented with adjusting the kernel build like suggested in comment #11. --=20 You are receiving this mail because: You are on the CC list for the bug.