[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