From: Srinuvasan A <
srinuv...@siemens.com>
With the present implementation find statemnt return the regular
executable files under bin,sbin and usr/lib/gcc* which contains the
script files as well.
Actually we are tuning interp and rpath only for ELF executable, hence
added additional condition in the find statement to return only ELF
executable.
With this change we are avoiding unncessarily checking the interpreter
for non ELF executable files.
Signed-off-by: Srinuvasan A <
srinuv...@siemens.com>
---
meta/recipes-devtools/sdk-files/files/relocate-sdk.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/sdk-files/files/relocate-sdk.sh b/meta/recipes-devtools/sdk-files/files/relocate-sdk.sh
index 82f63b30..e02e71f4 100755
--- a/meta/recipes-devtools/sdk-files/files/relocate-sdk.sh
+++ b/meta/recipes-devtools/sdk-files/files/relocate-sdk.sh
@@ -27,7 +27,7 @@ fi
echo -n "Adjusting path of SDK to '${new_sdkroot}'... "
-for binary in $(find ${sdkroot}/usr/bin ${sdkroot}/usr/sbin ${sdkroot}/usr/lib/gcc* -executable -type f); do
+for binary in $(find ${sdkroot}/usr/bin ${sdkroot}/usr/sbin ${sdkroot}/usr/lib/gcc* -executable -type f -exec file {} \; | grep ELF | awk -F ':' '{ print $1 }'); do
interpreter=$(patchelf --print-interpreter ${binary} 2>/dev/null)
oldpath=${interpreter%/lib*/ld-linux*}
interpreter=${interpreter#${oldpath}}
--
2.34.1