summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-01 11:37:38 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-02 21:22:25 +0100
commite3cb3958cc14672feef5d4d8953131f55db68573 (patch)
treed4ae13c75d9ea09ddb7bc578b1e39ed78ca02844
parent05706a487c2e57fb26935276a2ec650405900243 (diff)
downloadopenembedded-core-e3cb3958cc14672feef5d4d8953131f55db68573.tar.gz
cargo: Apply uninative fix to snapshot as with rust
Also add the interpreter relocation trick from uninative to the prebuilt cargo binary to match rust-native, just in case that causes other problems later too. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/cargo/cargo.inc5
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/recipes-devtools/cargo/cargo.inc b/meta/recipes-devtools/cargo/cargo.inc
index 6161c327e8..1cf7dd6214 100644
--- a/meta/recipes-devtools/cargo/cargo.inc
+++ b/meta/recipes-devtools/cargo/cargo.inc
@@ -20,6 +20,11 @@ inherit cargo
do_cargo_setup_snapshot () {
${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig
+ # Need to use uninative's loader if enabled/present since the library paths
+ # are used internally by rust and result in symbol mismatches if we don't
+ if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then
+ patchelf-uninative ${WORKDIR}/${CARGO_SNAPSHOT}/bin/cargo --set-interpreter ${UNINATIVE_LOADER}
+ fi
}
addtask cargo_setup_snapshot after do_unpack before do_configure