[OE-core] [PATCH] glibc: Adapt do_install_append_aarch64() for usrmerge

Peter Kjellerstedt peter.kjellerstedt at axis.com
Mon Jan 29 18:56:29 UTC 2018


Apparently this was already merged. However, the assumption is that ${nonarch_base_libdir} will evaluate to /lib, or something that will be accessible as /lib. I.e., the default definition of ${nonarch_base_libdir} is “/lib” unless usrmerge is in DISTRO_FEATURES, in which case it is “${root_prefix/lib” (which evaluates to “/usr/lib”), but then a symbolic link will be created from “/lib” to “/usr/lib”.

//Peter

From: Burton, Ross [mailto:ross.burton at intel.com]
Sent: den 29 januari 2018 18:33
To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
Cc: OE-core <openembedded-core at lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] glibc: Adapt do_install_append_aarch64() for usrmerge

How does the patch relate to the comment which states the ABI says the path *must* be /lib/.  Is that wrong?  How does this interact with the merged symlink creation in image.bbclass?  Please expand on the message so it's clear what is meant to be happening.

Ross

On 27 January 2018 at 03:53, Peter Kjellerstedt <peter.kjellerstedt at axis.com<mailto:peter.kjellerstedt at axis.com>> wrote:
Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the
code in do_install_append_aarch64() for when usrmerge is enabled in
DISTRO_FEATURES.

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt at axis.com<mailto:peter.kjellerstedt at axis.com>>
---
 meta/recipes-core/glibc/glibc-package.inc | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
index 817d850358..4d3dc679b4 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -114,15 +114,15 @@ do_install_append () {
 }

 do_install_append_aarch64 () {
-       if [ "${base_libdir}" != "/lib" ] ; then
+       if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then
                # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1
-               install -d ${D}/lib
+               install -d ${D}${nonarch_base_libdir}
                if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then
-                       ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64.so.1 \
-                               ${D}/lib/ld-linux-aarch64.so.1
+                       ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64.so.1 \
+                               ${D}${nonarch_base_libdir}/ld-linux-aarch64.so.1
                elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ]; then
-                       ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \
-                               ${D}/lib/ld-linux-aarch64_be.so.1
+                       ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \
+                               ${D}${nonarch_base_libdir}/ld-linux-aarch64_be.so.1
                fi
        fi
        do_install_armmultilib
--
2.12.0

--
_______________________________________________
Openembedded-core mailing list
Openembedded-core at lists.openembedded.org<mailto:Openembedded-core at lists.openembedded.org>
http://lists.openembedded.org/mailman/listinfo/openembedded-core

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180129/cacc3d4f/attachment-0002.html>


More information about the Openembedded-core mailing list