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