toolchain-shar-relocate.sh: support multiple dynamic loaders for multilib

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 ]

(From OE-Core rev: 703187755244b1a45dd9f90aeaf620d4c92a6757)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Hongxu Jia 2025-02-07 13:27:46 +08:00 committed by Richard Purdie
parent 5c8705b483
commit 4ed99ca9b4

View File

@ -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