From: lixiaoyong Date: Sat, 30 Mar 2024 06:41:10 +0000 (+0800) Subject: utils: enhance readelf command call with llvm X-Git-Tag: 2024-04-scarthgap~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=daecdd577213da0c045e45c47e7acbd279956d41;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git utils: enhance readelf command call with llvm Replace `${HOST_PREFIX}readelf` with `${READELF}`. When utilizing llvm for compiling packages, the invocation of GNU readelf will consistently occur if the oe_soinstall and oe_libinstall functions, which are defined in utils.bbclass, are called. This behavior is unfriendly to llvm. So prefer `${READELF}` over `${HOST_PREFIX}readelf`. Signed-off-by: lixiaoyong Signed-off-by: Richard Purdie --- diff --git a/meta/classes-global/utils.bbclass b/meta/classes-global/utils.bbclass index 8d797ff126c..957389928f3 100644 --- a/meta/classes-global/utils.bbclass +++ b/meta/classes-global/utils.bbclass @@ -15,7 +15,7 @@ oe_soinstall() { ;; esac install -m 755 $1 $2/$libname - sonamelink=`${HOST_PREFIX}readelf -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` + sonamelink=`${READELF} -d $1 |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` if [ -z $sonamelink ]; then bbfatal "oe_soinstall: $libname is missing ELF tag 'SONAME'." fi @@ -147,7 +147,7 @@ oe_libinstall() { # special case hack for non-libtool .so.#.#.# links baselibfile=`basename "$libfile"` if (echo $baselibfile | grep -qE '^lib.*\.so\.[0-9.]*$'); then - sonamelink=`${HOST_PREFIX}readelf -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` + sonamelink=`${READELF} -d $libfile |grep 'Library soname:' |sed -e 's/.*\[\(.*\)\].*/\1/'` solink=`echo $baselibfile | sed -e 's/\.so\..*/.so/'` if [ -n "$sonamelink" -a x"$baselibfile" != x"$sonamelink" ]; then __runcmd ln -sf $baselibfile $destpath/$sonamelink