Patchwork populate_sdk_base.bbclass: make failure to find ld-linux.so a hard error

login
register
mail settings
Submitter Jason Wessel
Date Nov. 30, 2012, 7:34 p.m.
Message ID <1354304048-17216-1-git-send-email-jason.wessel@windriver.com>
Download mbox | patch
Permalink /patch/39999/
State New
Headers show

Comments

Jason Wessel - Nov. 30, 2012, 7:34 p.m.
The shell archive that populates the external SDK should fail if it
cannot find the ld-linux.so else it will corrupt all binaries because
a random path will be used from the list of executables when dl_path
is empty.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
---
 meta/classes/populate_sdk_base.bbclass |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
Jason Wessel - Nov. 30, 2012, 8:10 p.m.
On 11/30/2012 01:34 PM, Jason Wessel wrote:
> The shell archive that populates the external SDK should fail if it
> cannot find the ld-linux.so else it will corrupt all binaries because
> a random path will be used from the list of executables when dl_path
> is empty.
>
> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
> ---
> meta/classes/populate_sdk_base.bbclass | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
> index ac34c32..73bd44d 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -176,6 +176,10 @@ done
> # fix dynamic loader paths in all ELF SDK binaries
> native_sysroot=$(cat $env_setup_script |grep OECORE_NATIVE_SYSROOT|cut -d'=' -f2|tr -d '"')
> dl_path=$(find $native_sysroot/lib -name "ld-linux*")
> +if [ "$dl_path" = "" ] ; then
> + echo "SDK could not be set up. Relocate script to find ld-linux.so. Abort!"

Ooops   Should be.

+    echo "SDK could not be set up. Relocate script unable to find ld-linux.so. Abort!"



>
> + exit 1
> +fi
> executable_files=$(find $native_sysroot -type f -perm +111)
> ${env_setup_script%/*}/relocate_sdk.py $target_sdk_dir $dl_path $executable_files
> if [ $? -ne 0 ]; then


Jason.

Patch

diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index ac34c32..73bd44d 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -176,6 +176,10 @@  done
 # fix dynamic loader paths in all ELF SDK binaries
 native_sysroot=$(cat $env_setup_script |grep OECORE_NATIVE_SYSROOT|cut -d'=' -f2|tr -d '"')
 dl_path=$(find $native_sysroot/lib -name "ld-linux*")
+if [ "$dl_path" = "" ] ; then
+	echo "SDK could not be set up. Relocate script to find ld-linux.so. Abort!"
+	exit 1
+fi
 executable_files=$(find $native_sysroot -type f -perm +111)
 ${env_setup_script%/*}/relocate_sdk.py $target_sdk_dir $dl_path $executable_files
 if [ $? -ne 0 ]; then