[yocto] prelink-cross project sync update

Mark Hatle mark.hatle at windriver.com
Wed Oct 26 10:41:28 PDT 2011


(I'm going to try to send out these quick blurbs as prelink-cross is synced to
the upstream.  Upstream changes are fairly infrequent, so this will be a low
volume set of emails.  Most emails in the future will be shorted then this one.)

prelink-cross has been synced up to the latest upstream prelink changes.

The latest changes include:

2011-10-12  Jakub Jelinek  <jakub at redhat.com>

        * src/main.c (layout_page_size): New variable.
        (OPT_LAYOUT_PAGE_SIZE): Define.
        (options): Add --layout-page-size option.
        (set_default_layout_page_size): New function in i?86/x86_64
        resp. empty macro on other architectures.
        (main): Call it.
        * src/arch-i386.c (i386_layout_libs_init): Fail if
        l->max_page_size is larger than 2MB and exec_shield is true.
        Compute reg0s as REG0S rounded up to l->max_page_size
        boundary and use it instead of REG0S.
        (i386_layout_libs_pre): Compute reg0s as REG0S rounded up to
        l->max_page_size boundary and use it instead of REG0S.
        Fix up a pasto in computation of virt parameter for
        third i386_find_free_addr call.
        * src/prelink.h (layout_page_size): New decl.
        * src/layout.c (layout_libs): Set max_page_size and
        l.max_page_size to maximum of plarch->max_page_size
        and layout_page_size.  Fail if mmap_base or mmap_end
        aren't max_page_size aligned.
        * src/arch-ppc.c (ppc_layout_libs_pre): Give up if
        l->max_page_size is larger than 64KB.

In essence what this does is adds a new option "--layout-page-size" that allows
someone to override the "max_page_size" value when necessary.  (It's not a true
override as the max_page_size is set to either the existing value or
layout-page-size whichever is larger.)

The upstream change also added dynamic run-time detection for the AMD Bulldozer
platform, setting the default to 32k.  Since run-time detection is contrary to
the existing prelink-cross usage, the code has been disabled.

As usual, the upstream version is in the "master" branch, and the cross version
is in the "cross_prelink" branch.

--Mark



More information about the yocto mailing list