From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31560 invoked by alias); 28 Jun 2012 02:29:08 -0000 Received: (qmail 31552 invoked by uid 22791); 28 Jun 2012 02:29:08 -0000 X-SWARE-Spam-Status: No, hits=-3.1 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail1.windriver.com (HELO mail1.windriver.com) (147.11.146.13) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 28 Jun 2012 02:28:55 +0000 Received: from ALA-HCA.corp.ad.wrs.com (ala-hca [147.11.189.40]) by mail1.windriver.com (8.14.3/8.14.3) with ESMTP id q5S2SqWu027497 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 27 Jun 2012 19:28:52 -0700 (PDT) Received: from Marks-MacBook-Pro.local (172.25.36.233) by ALA-HCA.corp.ad.wrs.com (147.11.189.50) with Microsoft SMTP Server id 14.1.255.0; Wed, 27 Jun 2012 19:28:51 -0700 Message-ID: <4FEBC165.8070100@windriver.com> Date: Thu, 28 Jun 2012 02:29:00 -0000 From: Mark Hatle User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20120614 Thunderbird/13.0.1 MIME-Version: 1.0 To: Maxim Kuvyrkov CC: Subject: Re: [PATCH, cross prelink] 0001-Pull-ld.so-s-name-from-PT_INTERP-to-avoid-the-runtim.patch References: <78E2B6DA-6156-43B6-B788-C8501057C234@codesourcery.com> <4F848E15.1030905@windriver.com> <9C676A7D-F066-4041-B3FB-4F02653D8588@codesourcery.com> <4F8496BA.3010706@windriver.com> <10862750-7E5E-4B2C-9FEF-1EADEB197044@codesourcery.com> <4FC4E890.5010307@windriver.com> In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact prelink-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: prelink-owner@sourceware.org X-SW-Source: 2012-q2/txt/msg00007.txt.bz2 On 6/27/12 5:34 PM, Maxim Kuvyrkov wrote: > Ping. Hmm, I thought I replied sorry. The patch is in the cross prelinker. http://git.yoctoproject.org/cgit/cgit.cgi/prelink-cross/commit/?h=cross_prelink&id=104e49c827b1b452910e0415acf72b8008990141 --Mark > -- > Maxim Kuvyrkov > CodeSourcery / Mentor Graphics > > > On 30/05/2012, at 3:17 AM, Mark Hatle wrote: > >> This was just an oversight it appears. I'm working on a number of merges into the cross prelinker today. Hopefully in a few days it will be tested and pushed. If you don't see anything, feel free to keep reminding me. >> >> --Mark >> >> On 5/25/12 10:42 PM, Maxim Kuvyrkov wrote: >>> On 11/04/2012, at 8:23 AM, Mark Hatle wrote: >>> >>>> On 4/10/12 2:56 PM, Maxim Kuvyrkov wrote: >>>>> On 11/04/2012, at 7:46 AM, Mark Hatle wrote: >>>>> >>>>>> On 4/10/12 2:27 PM, Maxim Kuvyrkov wrote: >>>>>>> Mark, >>>>>>> >>>>>>> This patch makes rtld emulator in cross prelink use ld.so's name as it is encoded in PT_INTERP header. >>>>>>> >>>>>>> Currently, rtld emulator returns "lib/ld.so.1" for runtime linker's name, but the linker actually expects "/lib/ld.so.1" -- that one slash at the beginning causes prelink checks done by the runtime linker to fail and not use prelink information. >>>>>>> >>>>>>> The runtime linker sets up a map for itself under the name stored in PT_INTERP header of the executable, and this patch makes rtld emulator follow the suit. >>>>>>> >>>>>>> I have tested this patch using a different version of rtld emulator (the one that CodeSourcery / Mentor maintains), but the function in question is the same in both, so this patch is also relevant for Yocto's prelink. >>>>>>> >>>>>>> Any comments? Please merge at your leisure. >>>>>> >>>>>> prelinker currently checks that the ld.so name matches what it's expecting for any given arch in the PL_ARCH structure. Does this change any of that behavior? Or does it simply change the internal prelink-rtld behavior so that it the prelink-rtld acts as if it's name is the PT_INTERP element? >>>>> >>>>> It is the latter. Only behavior of prelink-rtld is change to the effect that it outputs "/lib/ld.so.1 -> /lib/ld.so.1 ..." as executable's dependency. >>>>> >>>>> Forgot to mention: the dependency on ld.so.1 [usually] comes from libdl.so, which is, probably, why this bug wasn't noticed before. >>>> >>>> Thanks, I think I understand what is going on now. I'll look into getting this merged into the cross prelinker later today or tomorrow. >>> >>> Mark, >>> >>> This patch is still not merged to cross-prelink, did you encounter a problem with it? >>> >>> Thank you, >>> >>> -- >>> Maxim Kuvyrkov >>> CodeSourcery / Mentor Graphics >> >