[Bug libdw/22452] Extend ebl_reloc_ hooks with relocations against load address for use in libdwfl/relocate.c

mark at klomp dot org sourceware-bugzilla@sourceware.org
Mon Mar 5 12:52:00 GMT 2018


Mark Wielaard <mark at klomp dot org> changed:

           What    |Removed                     |Added
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #16 from Mark Wielaard <mark at klomp dot org> ---
(In reply to Mark Wielaard from comment #15)
> Did you manage to get a kernel build change upstream?
> It would be nice to point people at it in this bug in case they hit the same
> issue. So they know how to rebuild their kernel.

commit bc3703f21cec8a2ac6a64f6fb3686fbcb1ba1513
Author: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Date:   Mon Nov 20 11:41:07 2017 +0100

    s390/kernel: emit CFI data in .debug_frame and discard .eh_frame sections

    Using perf probe and libdw on kernel modules failed to find CFI
    data for symbols.  The CFI data is stored in the .eh_frame section.
    The elfutils libdw is not able to extract the CFI data correctly,
    because the .eh_frame section requires "non-simple" relocations
    for kernel modules.

    The suggestion is to avoid these "non-simple" relocations by emitting
    the CFI data in the .debug_frame section.  Let gcc emit respective
    directives by specifying the -fno-asynchronous-unwind-tables option.

    Using the .debug_frame section for CFI data, the .eh_frame section
    becomes unused and, thus, discard it for kernel and modules builds

    The vDSO requires the .eh_frame section and, hence, emit the CFI data
    in both, the .eh_frame and .debug_frame sections.

    See also discussion on elfutils/libdw bugzilla:

    Suggested-by: Mark Wielaard <mark@klomp.org>
    Signed-off-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

> I have retitled this bug and will keep it open in case someone has
> time for implementing the ebl hooks for relative load address relocations.

I think the above kernel fix is a better. And there really is not much benefit
to have relative load address relocations for .eh_frame except for these ET_REL
.ko files. Also, nobody seems to have time. So lets close this for now.

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

More information about the Elfutils-devel mailing list