[OE-core] [PATCH] prelink: Move to latest release

Mark Hatle mark.hatle at windriver.com
Mon Sep 14 20:21:34 UTC 2015


On 9/14/15 2:59 PM, Phil Blundell wrote:
> On Mon, 2015-09-14 at 10:47 -0500, Mark Hatle wrote:
>> [YOCTO #8227]
>>
>> The latest release has a fix for prelinking on ARM with recent binutils.
>>
>> For more information on why the change was necessary, see:
>>
>>   https://sourceware.org/ml/binutils/2014-06/msg00228.html
> 
> That link isn't particularly illuminating for someone not well versed in
> the art of prelink.  I assume the significant thing is that the default
> MAXPAGESIZE has changed for arm, but it's not entirely obvious why this
> matters to prelink, what problem it caused, or what the change in
> prelink is that fixes the problem.  Can you elaborate?

Prelink patch in question:

http://git.yoctoproject.org/cgit/cgit.cgi/prelink-cross/commit/?h=cross_prelink&id=3a559ca14412f6e87874e5cf88f974e373cdfd27

It's both pieces listed that matter:

"Increase the maximum page size to 64kB and align the TEXT_START_ADDR
to a 64kB boundary."

The TEXT_START_ADDR has moved in memory outside of the original TEXT_START_ADDR.
 Prelink has a verification in it that checks to make sure the program is
requesting a start address and page size within the bounds of the prelinkers
knowledge of the ABI.

The so the page size was increased which caused the text_start_addr to move --
together causing the integrity check in the prelinker to fail.

The new prelinker will still be able to prelink older executables as the older
page size (and thus start address) are within the bounds of the expected system.

This is my understand, but I'm not an ARM ABI expect.  So if I'm wrong, you'll
have to query the person who submitted the patch that fixed the issue.  (And yes
the patch has been verified as working both with the internal prelink tests and
also on the target inspecting the ld.so statistics to show that the prelink
settings are being honored.)

--Mark

> thanks
> 
> p.
> 
> 




More information about the Openembedded-core mailing list