From: Mark Hatle <mark.hatle@windriver.com>
To: <openembedded-devel@lists.openembedded.org>
Subject: Re: [PATCH] prelink: Added prelink-20100106, which works on ARM.
Date: Tue, 14 Jun 2011 22:02:53 -0500 [thread overview]
Message-ID: <4DF820DD.30606@windriver.com> (raw)
In-Reply-To: <840A81C1B782724A8EB52725BD519EFF02EA9D@MBX20.4emm.local>
Have you looked at:
http://git.yoctoproject.org/cgit/cgit.cgi/prelink-cross/
As far as I'm aware, this version works properly for all of the expected
targets, including ARM.
If it doesn't work, someone should submit a patch to the maintainer (me) and
we'll get things resolved.
The Yocto prelinker contains both local (on-target) as well as cross-prelinking
support... (This is already integrated into oe-core)
--Mark
On 6/14/11 8:16 PM, James Limbouris wrote:
> On Tuesday, 14 June 2011 5:17 PM, Phil Blundell wrote:
>> On Tue, 2011-06-14 at 15:49 +0800, James Limbouris wrote:
>>> This version of prelink, together with a patch by Carsten Munk
>>> <carsten@maemo.org>, taken from MeeGo, fixes an ARM incompatibility
>>> with 20090925.
>>>
>>> Signed-off-by: James Limbouris <james@digitalmatter.com.au>
>>> ---
>>> .../prelink-20100106-arm-fix.patch | 86 ++++++++++++++++++++
>>> recipes/prelink/prelink_20100106.bb | 53 ++++++++++++
>>> 2 files changed, 139 insertions(+), 0 deletions(-) create mode
>>> 100755 recipes/prelink/prelink-20100106/prelink-20100106-arm-fix.patch
>>> create mode 100644 recipes/prelink/prelink_20100106.bb
>>>
>>> diff --git
>>> a/recipes/prelink/prelink-20100106/prelink-20100106-arm-fix.patch
>>> b/recipes/prelink/prelink-20100106/prelink-20100106-arm-fix.patch
>>> new file mode 100755
>>> index 0000000..a694541
>>> --- /dev/null
>>> +++ b/recipes/prelink/prelink-20100106/prelink-20100106-arm-fix.patch
>>> @@ -0,0 +1,86 @@
>>> +diff -ru prelink-old/src/arch-arm.c prelink/src/arch-arm.c
>>> +--- prelink-old/src/arch-arm.c 2009-06-15 07:37:50.000000000 -0400
>>> ++++ prelink/src/arch-arm.c 2010-08-17 03:35:05.000000000 -0400
>>> +@@ -832,7 +832,7 @@
>>> + .R_COPY = R_ARM_COPY,
>>> + .R_RELATIVE = R_ARM_RELATIVE,
>>> + .rtype_class_valid = RTYPE_CLASS_VALID,
>>> +- .dynamic_linker = "/lib/ld-linux.so.2",
>>> ++ .dynamic_linker = "/lib/ld-linux.so.3",
>>
>> That looks like it's going to break OABI binaries. I'm not sure to what extent
>> we care about those anymore, but I'm not sure I would describe this as a
>> "fix" exactly.
>>
>>> +- switch (vfork ())
>>> ++ switch (pid=fork ())
>>> + {
>>> + case -1:
>>> + error (0, errno, "Could not run %s", path); @@ -63,7 +65,9 @@
>>> + close (p[1]);
>>> + }
>>> + dup2 (1, 2);
>>> +- execve (path, argv, envp);
>>> ++ while (*envp)
>>> ++ putenv(*envp++);
>>> ++ execv (path, argv);
>>> + _exit (127);
>>
>> What's that about?
>>
>> p.
>
> Hi,
>
> I believe the vfork() changes are for qemu compatibility - I don't know what the issue was exactly.
>
> I didn't realise the linker version was for EABI/OABI compatibility - I guess prelink should determine the ABI and choose accordingly...
> But I don't have any OABI binaries on my system at all...
> So we can:
> 1. Fix it properly
> 2. Switch from OABI only to EABI only
> 3. Make a prelink-eabi recipe.
>
> I don't really have the patience for 1., since I have no OABI binaries. Does anyone have any preferences here?
>
> Regards,
> James
>
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
next prev parent reply other threads:[~2011-06-15 3:06 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-14 7:49 [PATCH] prelink: Added prelink-20100106, which works on ARM James Limbouris
2011-06-14 9:16 ` Phil Blundell
2011-06-15 1:16 ` James Limbouris
2011-06-15 3:02 ` Mark Hatle [this message]
2011-06-15 3:20 ` Mark Hatle
2011-06-14 12:37 ` Paul Menzel
-- strict thread matches above, loose matches on Subject: below --
2011-06-15 1:33 James Limbouris
2011-06-15 9:18 James Limbouris
2011-06-15 14:08 ` Mark Hatle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DF820DD.30606@windriver.com \
--to=mark.hatle@windriver.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.