Browse Source

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`.

(From OE-Core rev: daecdd577213da0c045e45c47e7acbd279956d41)

Signed-off-by: lixiaoyong <lixiaoyong19@huawei.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lixiaoyong 1 year ago
parent
commit
f5e084ede6
1 changed files with 2 additions and 2 deletions
  1. 2 2
      meta/classes-global/utils.bbclass

+ 2 - 2
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