[yocto] prelink & mklibs problem

Mark Hatle mark.hatle at windriver.com
Tue Dec 9 07:51:26 PST 2014


On 12/8/14, 3:55 AM, Jegan Chandru wrote:
> I recommend you to file a bug here 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

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>> 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>> 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>> 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>
>             https://lists.yoctoproject.org/listinfo/yocto
>
>
>
>
>         --
>         JCP
>
>
>
>
>
> --
> JCP
>
>




More information about the yocto mailing list