All of lore.kernel.org
 help / color / mirror / Atom feed
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:20:18 -0500	[thread overview]
Message-ID: <4DF824F2.3050204@windriver.com> (raw)
In-Reply-To: <4DF820DD.30606@windriver.com>

On 6/14/11 10:02 PM, Mark Hatle wrote:
> 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)

Forgot to note, look at the cross_prelink branch.  This is the head of tree for
the embedded items.  The "master" is a mirror of the current SVN tree from Jakub
Jelinek.

The ld-linux... patch hunk is already there, and in a better shape then the one
proposed.  Both the ld-linux.so.2 and ld-linux.so.3 are supported.

> --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
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel




  reply	other threads:[~2011-06-15  3:23 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
2011-06-15  3:20       ` Mark Hatle [this message]
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=4DF824F2.3050204@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.