[yocto] prelink & mklibs problem
Mark Hatle
mark.hatle at windriver.com
Tue Dec 9 19:01:02 PST 2014
On 12/9/14, 8:41 PM, Qiang Yu wrote:
> I have submitted a bug here:
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=7056
(Responded in the bug as well...) I have a test version of the cross prelink
with the ARM HF patch available, as commit:
2cde4ff118b5244f5577d9bc585c1ee521740af0
To enable it, use the following in your local.conf:
SRCREV_pn-prelink = "2cde4ff118b5244f5577d9bc585c1ee521740af0"
If this works for you, I'll finish the patch and submit the changes.
--Mark
> Regards,
> Qiang
>
> On Tue, Dec 9, 2014 at 11:51 PM, Mark Hatle <mark.hatle at windriver.com
> <mailto:mark.hatle at windriver.com>> wrote:
>
> On 12/8/14, 3:55 AM, Jegan Chandru wrote:
>
> I recommend you to file a bug here https://bugzilla.yoctoproject.__org/
> <https://bugzilla.yoctoproject.org/> if not
> done already. You may get a proper answer on armhf support there. From
> what I
> see, (someone please correct me if I am wrong), there is no prelink
> dynamic link
> armhf patch. You can also create and submit the patch for review. AFAIK,
> you are
> gonna need to something like below,
>
> .dynamic_linker = "/lib/ld-linux-armhf.so.3" in arch-arm.c.
>
> This is not tested though. Please do a test yourselves.
>
>
> See: http://marc.info/?l=fedora-__arm&m=135417053128837&w=2
> <http://marc.info/?l=fedora-arm&m=135417053128837&w=2>
>
> Nobody had requested prelink support for armhf up to this point.
>
> Open an enhancement / bug and assign it to me. I'll do what I can to
> integrate the patch officially.
>
> I had been waiting for the prelink upstream to merge this, but they never
> bothered to, so I'll have to make it a Yocto Project 'cross-prelink'
> specific path.
>
> --Mark
>
> -JC
>
> On Mon, Dec 8, 2014 at 1:52 PM, Qiang Yu <yuq825 at gmail.com
> <mailto:yuq825 at gmail.com>
> <mailto:yuq825 at gmail.com <mailto:yuq825 at gmail.com>>> wrote:
>
> Thanks for your reply. I almost give up.
>
> You mean that current yocto build doesn't support hard float ABI
> prelink,
> and the prelink source code needs to
> be modified to use ld-linux-armhf.so.3?
>
> So this problem affect all armhf build of yocto, in other words prelink
> doesn't work for yocto armhf at all now?
>
> Regards,
> Qiang
>
> On Mon, Dec 8, 2014 at 3:28 PM, Jegan Chandru <pcjegan at gmail.com
> <mailto:pcjegan at gmail.com>
> <mailto:pcjegan at gmail.com <mailto:pcjegan at gmail.com>>> wrote:
>
> Hi,
>
> I think it has to do with the ld-linux-armhf.so.3. May be you
> should
> tell prelink that you have hard float ARM ABI to prelink for, than
> ld-linux.so.3 . It means you need to add ld-linux-armhf.so.3 as a
> dynamic linker.
> You should patch the prelink source to get this done.
>
> HTH.
>
> -JC
>
>
>
> On Fri, Dec 5, 2014 at 7:41 AM, Qiang Yu <yuq825 at gmail.com
> <mailto:yuq825 at gmail.com>
> <mailto:yuq825 at gmail.com <mailto:yuq825 at gmail.com>>> wrote:
>
> Hi all,
>
> I'm building a image with local.conf:
> USER_CLASSES ?= "buildstats image-mklibs image-prelink"
>
> but I think prelink does nothing on my image, because the
> MD5SUM is
> the same before and after
> the prelink stage. The mklibs stage is also strange not print
> anything. How to make prelink and
> mklibs really work?
>
> Here is the log of log.do_rootfs:
>
> NOTE: ###### Generate images #######
> NOTE: Executing mklibs_optimize_image ...
> DEBUG: Executing shell function mklibs_optimize_image
> DEBUG: Shell function mklibs_optimize_image finished
> NOTE: Executing prelink_image ...
> DEBUG: Executing shell function prelink_image
> Size before prelinking 49304.
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /sbin/fstab-decode: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /sbin/bootlogd: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /sbin/killall5: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /sbin/init.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /sbin/halt.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /sbin/shutdown.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /sbin/runlevel.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /usr/sbin/dropbearmulti: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /bin/mountpoint.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /bin/busybox.suid: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /bin/busybox.nosuid: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /usr/bin/utmpdump.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /usr/bin/mesg.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /usr/bin/last.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /usr/bin/opkg-cl: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /usr/bin/bmw: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3
> as dynamic linker
>
> /opt/yocto/rootfs/tmp/__sysroots/x86_64-linux/usr/__sbin/prelink:
> /usr/bin/wall.sysvinit: Using /lib/ld-linux-armhf.so.3, not
> /lib/ld-linux.so.3 as dynamic linker
> Size after prelinking 49304.
> DEBUG: Shell function prelink_image finished
>
> Regards,
> Qiang
>
>
> --
> _________________________________________________
> yocto mailing list
> yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>
> <mailto:yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>__>
> https://lists.yoctoproject.__org/listinfo/yocto
> <https://lists.yoctoproject.org/listinfo/yocto>
>
>
>
>
> --
> JCP
>
>
>
>
>
> --
> JCP
>
>
>
> --
> _________________________________________________
> yocto mailing list
> yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>
> https://lists.yoctoproject.__org/listinfo/yocto
> <https://lists.yoctoproject.org/listinfo/yocto>
>
>
More information about the yocto
mailing list