Hi,

Sorry for digging deep for this old thread, but this issue actually is
deeper than originally expected.

On a recent linux distribution on x86-64, Dyninst failed to handle
relocation type: R_X86_64_REX_GOTPCRELX. I fixed Dyninst's handling of
this relocation type, but found that Dyninst cannot compile on a
relative old linux distribution, also on x86-64. On this old linux
distribution, relocation type R_X86_64_REX_GOTPCRELX is not defined in
the system "elf.h".

Note that this issue is beyond "rhel6 does not support aarch64". On
any architecture (regardless of x86-64, ppc, or aarch64), as long as a
new relocation type is introduced, the "elf.h" on older system of the
same architecture will miss relocation definitions.

We believe the best scenario for us is that elfutils installs "elf.h"
when a non-system install location is specified. Otherwise, I guess
then Dyninst can choose to copy and use the elf.h from the downloaded
source elfutils.

Thanks,

--Xiaozhu


On Sat, Dec 29, 2018 at 11:06 AM John Mellor-Crummey <joh...@rice.edu> wrote:
>
> Dyninst folks,
>
> Below see the advice from Mark Wielaard (elfutils lead) about dyninst and ARM 
> on RHEL6.
>
> --
> John Mellor-Crummey
>
> (sent from my phone)
>
> Begin forwarded message:
>
> From: Mark Wielaard <m...@redhat.com>
> Date: December 29, 2018 at 10:51:20 AM CST
> To: John Mellor-Crummey <joh...@rice.edu>
> Cc: wood...@redhat.com, "Mark W. Krentel" <kren...@rice.edu>
> Subject: Re: Issue with elfutils and elf.h
>
> Hi,
>
> On Fri, 2018-12-28 at 21:56 -0600, John Mellor-Crummey wrote:
>
> See the email thread that discusses problems because elfutils doesn’t
>
> install elf.h.
>
>
> elfutils explicitly doesn't install elf.h because it is a simple copy
> from glibc and we don't want to conflict with it. The issue seems to be
> that the glibc elf.h copy on RHEL6 doesn't support aarch64. Normally
> this wouldn't be an issue since none of the aarch64 related constants
> from elf.h are needed to use libelf.h or elfutils/libdw.h.
>
> I am not sure what the correct approach is here. RHEL6 simply doesn't
> support aarch64. So maybe to simplest approach is to not build aarch64
> related code on targets like rhel6 which doesn't have a new enough
> glibc?
>
> Cheers,
>
> Mark
>
> _______________________________________________
> Dyninst-api mailing list
> Dyninst-api@cs.wisc.edu
> https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to