[oe] Prelink problems -- need help!

Mark Hatle mark.hatle at windriver.com
Mon Oct 26 14:28:38 UTC 2015


I'm cross posting this in an effort to ask for help for the cross-prelink
project.  (If you are unaware of what the prelinker does, it goes through and
adjusts the relocation addresses to predefined values in an attempt to speed up
executable load times.  For embedded systems, this can be fairly critical in
meeting boot and runtime load performance targets.)

As some people might be aware, the upstream 'prelink' project that was
maintained by Jakub Jelinek at Red Hat appears to have been abandoned.

I've been the maintainer for the Yocto Project's 'prelink-cross' project for a
few years, but my work has been dealing with compilation issues and other things
that have to do with using the prelinker in a cross compilation environment.

This means that unfortunately I'm in a situation where I am having problems
trying to fix the problems in the prelinker itself, but I am not an ELF expert.
 Currently the cross prelinker appears to be broken for pretty much every
architecture and I need help trying to resolve these problems.

Issues I know of right now:

Introduction of RTYPE_CLASS_EXTERN_PROTECTED_DATA appears to be causing failures
on ARM32, x86 and x86_64.

Some possibly unrelated issue is causing various items to relocate incorrectly
(IFUNCs perhaps) on ARMv7 builds.

Power is no longer working properly, most likely due to an optimization in the
way the PPC GOT table(s) are setup.

Power64 hasn't been working properly for a while, possibly due to the switch to
ELFv2.

MIPS and MIPS64 also do not appear to be working, and I've not found a possible
cause.

As you can see, pretty much everything is currently broken and I'm struggling to
find community people with the right skill sets to help me resolve the issues.

The current state of my work in progress is available at:

git://git.yoctoproject.org/prelink-cross

branch cross_prelink_staging

If you think you can help, please let me know.
--Mark



More information about the Openembedded-devel mailing list