diff mbox series

[3/9] toolchain-shar-relocate.sh: support multiple dynamic loaders for multilib

Message ID 20250121085526.1370937-3-hongxu.jia@windriver.com
State New
Headers show
Series [1/9] perl: fix do_install failed for nativesdk-perl | expand

Commit Message

Hongxu Jia Jan. 21, 2025, 8:55 a.m. UTC
While nativesdk support multilib, there are two dynamic loaders,

    $OECORE_NATIVE_SYSROOT/lib64/ld-linux-x86-64.so.2
    $OECORE_NATIVE_SYSROOT/lib/ld-linux.so.2

Search them with wildcard and call relocate_sdk.py separately

[ YOCTO #15722 ]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 meta/files/toolchain-shar-relocate.sh | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta/files/toolchain-shar-relocate.sh b/meta/files/toolchain-shar-relocate.sh
index 69ea063c8c..c7170349db 100644
--- a/meta/files/toolchain-shar-relocate.sh
+++ b/meta/files/toolchain-shar-relocate.sh
@@ -8,8 +8,8 @@  done
 # fix dynamic loader paths in all ELF SDK binaries
 # allow symlinks to be accessed via the find command too
 native_sysroot=$($SUDO_EXEC cat $env_setup_script |grep 'OECORE_NATIVE_SYSROOT='|cut -d'=' -f2|tr -d '"')
-dl_path=$($SUDO_EXEC find $native_sysroot/lib/ -maxdepth 1 -name "ld-linux*")
-if [ "$dl_path" = "" ] ; then
+dl_paths=$($SUDO_EXEC find $native_sysroot/lib*/ -maxdepth 1 -name "ld-linux*")
+if [ "$dl_paths" = "" ] ; then
 	echo "SDK could not be set up. Relocate script unable to find ld-linux.so. Abort!"
 	exit 1
 fi
@@ -39,7 +39,9 @@  if [ x\${PYTHON} = "x"  ]; then
 	echo "SDK could not be relocated.  No python found."
 	exit 1
 fi
-\${PYTHON} ${env_setup_script%/*}/relocate_sdk.py $target_sdk_dir $dl_path $executable_files
+for dl_path in \$(echo "$dl_paths"); do
+    \${PYTHON} ${env_setup_script%/*}/relocate_sdk.py $target_sdk_dir \$dl_path $executable_files
+done
 EOF
 
 $SUDO_EXEC mv $tdir/relocate_sdk.sh ${env_setup_script%/*}/relocate_sdk.sh