diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 4386b985bb..89d30005fd 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh @@ -164,7 +164,9 @@ else fi # limit the length for target_sdk_dir, ensure the relocation behaviour in relocate_sdk.py has right result. -if [ ${#target_sdk_dir} -gt 2048 ]; then +# This is due to ELF interpreter being set to 'a'*1024 in +# meta/recipes-core/meta/uninative-tarball.bb +if [ ${#target_sdk_dir} -gt 1024 ]; then echo "Error: The target directory path is too long!!!" exit 1 fi diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb index 7eebcaf11a..0fd01fdb64 100644 --- a/meta/recipes-core/meta/uninative-tarball.bb +++ b/meta/recipes-core/meta/uninative-tarball.bb @@ -58,6 +58,8 @@ fakeroot archive_sdk() { DEST="./${SDK_ARCH}-${SDK_OS}" mv sysroots/${SDK_SYS} $DEST rm sysroots -rf + # There is a check in meta/files/toolchain-shar-extract.sh -- make sure to + # keep that check up to date if changing the `1024` patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative ${SDK_ARCHIVE_CMD}