Hi,

Please find the attached patch (rust-oe_selftest.patch) of rust cross
testing through oe-selftest method for review.
We have tested for x86, x86_64, mips, mips64, arm, arm64 and powerpc.
Also, attached  test summary (test_result_summary.txt) of each target.

#command to trigger rust testing:
$oe-selftest -r rust.RustSelfTestSystemEmulated.test_rust

Note:
    1. In the case of x86_64 target we were seeing build error as
below, since the target and build section in config.toml are
identical.
        `error: failed to run custom build command for `memchr v2.3.3`
 (When manually entered in config.toml)

        Also, through poky "Exception:
configparser.DuplicateSectionError: Section
'target.x86_64-unknown-linux-gnu' already exists
        config.tome

        So, we have used "x86-poky-linux" as a target in case of
x86_64. To consider this in the rust test we are setting the path  of
"RUST_TARGET_PATH" to
        "${STAGING_LIBDIR_NATIVE}/rustlib".

    2. In the case of mips64 target, we made changes in
"rust-common.bbclass" to generate a rust equivalent target
"mips64-unknown-linux-gnuabi64" .

Regards,
Vinay
X86 Summary
====================================================================================
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> 
i686-unknown-linux-gnu)
uploaded 
"/.../x86_64-unknown-linux-gnu/test/ui/simd/simd-target-feature-mixup/a", 
waiting for result
test result: FAILED. 10366 passed; 2 failed; 97 ignored; 0 measured; 0 filtered 
out
Check compiletest suite=compile-fail mode=compile-fail 
(x86_64-unknown-linux-gnu -> i686-unknown-linux-gnu)
test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind 
(x86_64-unknown-linux-gnu -> i686-unknown-linux-gnu)
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> 
i686-unknown-linux-gnu)
test result: ok. 111 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> 
i686-unknown-linux-gnu)
test result: ok. 163 passed; 0 failed; 45 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen-units mode=codegen-units 
(x86_64-unknown-linux-gnu -> i686-unknown-linux-gnu)
test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> 
i686-unknown-linux-gnu)
test result: ok. 13 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu 
-> i686-unknown-linux-gnu)
test result: ok. 121 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> 
i686-unknown-linux-gnu)
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/alloc-1c173a7f25572b21",
 waiting for result
test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/collectionstests-78f2a197cc56fa0a",
 waiting for result
test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/collectionsbenches-9408c853d203d25c",
 waiting for result
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/coretests-4d668af96c12d75f",
 waiting for result
test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/corebenches-e6b6056d836945bb",
 waiting for result
test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/proc_macro-5141061211bbfd90",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/test-24f1a52b249199cf",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/std-7daa4f1475a61daa",
 waiting for result
test result: ok. 778 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/env-90180799da20d903",
 waiting for result
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/run_time_detect-9e2336a88df11e4f",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/stdbenches-f2f2dd52bc3a78e5",
 waiting for result
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/term-e3a26771b1fad3a8",
 waiting for result
test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/i686-unknown-linux-gnu/release/deps/test-c0ed358159060a8e",
 waiting for result
test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> 
i686-unknown-linux-gnu)
test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out
====================================================================================


X86_64 Summary
====================================================================================
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> 
x86_64-poky-linux)
uploaded 
"/.../x86_64-unknown-linux-gnu/test/ui/simd/simd-target-feature-mixup/a", 
waiting for result
test result: FAILED. 10400 passed; 1 failed; 64 ignored; 0 measured; 0 filtered 
out
Check compiletest suite=compile-fail mode=compile-fail 
(x86_64-unknown-linux-gnu -> x86_64-poky-linux)
test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind 
(x86_64-unknown-linux-gnu -> x86_64-poky-linux)
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> 
x86_64-poky-linux)
test result: ok. 111 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> 
x86_64-poky-linux)
test result: FAILED. 168 passed; 3 failed; 37 ignored; 0 measured; 0 filtered 
out
Check compiletest suite=codegen-units mode=codegen-units 
(x86_64-unknown-linux-gnu -> x86_64-poky-linux)
test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> 
x86_64-poky-linux)
test result: ok. 13 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu 
-> x86_64-poky-linux)
test result: ok. 122 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> 
x86_64-poky-linux)
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/alloc-5b3e32e9e7d6f1e9",
 waiting for result
test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/collectionstests-0675fbdc1cbc3fbc",
 waiting for result
test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/collectionsbenches-8a2e917f783fb34d",
 waiting for result
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/coretests-010d1195a6a088fd",
 waiting for result
test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/corebenches-3364634b4002e3cf",
 waiting for result
test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/proc_macro-62a40d677104774f",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/test-96e1183eea9cc683",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/std-8756034598a92b0b",
 waiting for result
test result: ok. 777 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/env-6b185bc562793f8c",
 waiting for result
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/run_time_detect-47c537f0a0f0368e",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/stdbenches-365578ff8b9fd30d",
 waiting for result
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/term-335bdf39b2be712f",
 waiting for result
test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/x86_64-poky-linux/release/deps/test-0f992b341d477fce",
 waiting for result
test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> 
x86_64-poky-linux)
test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out
====================================================================================


ARM Summary
====================================================================================
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> 
armv7-unknown-linux-gnueabihf)
test result: FAILED. 10352 passed; 1 failed; 112 ignored; 0 measured; 0 
filtered out
Check compiletest suite=compile-fail mode=compile-fail 
(x86_64-unknown-linux-gnu -> armv7-unknown-linux-gnueabihf)
test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind 
(x86_64-unknown-linux-gnu -> armv7-unknown-linux-gnueabihf)
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> 
armv7-unknown-linux-gnueabihf)
test result: ok. 111 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> 
armv7-unknown-linux-gnueabihf)
test result: ok. 154 passed; 0 failed; 54 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen-units mode=codegen-units 
(x86_64-unknown-linux-gnu -> armv7-unknown-linux-gnueabihf)
test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> 
armv7-unknown-linux-gnueabihf)
test result: ok. 13 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu 
-> armv7-unknown-linux-gnueabihf)
test result: FAILED. 120 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> 
armv7-unknown-linux-gnueabihf)
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/alloc-ca5b326643edaba7",
 waiting for result
test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/collectionstests-e37e493f69999707",
 waiting for result
test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/collectionsbenches-bd134e5949f1f002",
 waiting for result
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/coretests-e27bb79ebf92279d",
 waiting for result
test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/corebenches-ef8cf7e4c8a4daca",
 waiting for result
test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/proc_macro-100958fda9e33c34",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/test-078922ebeb224922",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/std-7c8ac83bbb1bacbe",
 waiting for result
test result: ok. 777 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/env-4006eb95d3a5af1a",
 waiting for result
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/run_time_detect-181ce0600cfd56a7",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/stdbenches-f8059acc11039b39",
 waiting for result
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/term-7d7f81c60f906d81",
 waiting for result
test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/armv7-unknown-linux-gnueabihf/release/deps/test-5802dd92cf8a7588",
 waiting for result
test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> 
armv7-unknown-linux-gnueabihf)
test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out
====================================================================================


ARM64 Summary
====================================================================================
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> 
aarch64-unknown-linux-gnu)
uploaded "/.../x86_64-unknown-linux-gnu/test/ui/abi/variadic-ffi/a", waiting 
for result
test result: FAILED. 10351 passed; 2 failed; 112 ignored; 0 measured; 0 
filtered out
Check compiletest suite=compile-fail mode=compile-fail 
(x86_64-unknown-linux-gnu -> aarch64-unknown-linux-gnu)
test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind 
(x86_64-unknown-linux-gnu -> aarch64-unknown-linux-gnu)
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> 
aarch64-unknown-linux-gnu)
test result: ok. 111 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> 
aarch64-unknown-linux-gnu)
test result: FAILED. 167 passed; 1 failed; 40 ignored; 0 measured; 0 filtered 
out
Check compiletest suite=codegen-units mode=codegen-units 
(x86_64-unknown-linux-gnu -> aarch64-unknown-linux-gnu)
test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> 
aarch64-unknown-linux-gnu)
test result: ok. 13 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu 
-> aarch64-unknown-linux-gnu)
test result: ok. 121 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> 
aarch64-unknown-linux-gnu)
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/alloc-993798557f812454",
 waiting for result
test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/collectionstests-5e610168090e405f",
 waiting for result
test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/collectionsbenches-028107bc79c1c367",
 waiting for result
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/coretests-794581fe8bf9256c",
 waiting for result
test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/corebenches-488896c0270e5173",
 waiting for result
test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/proc_macro-99c682d1bb25831d",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/test-80880cc66b4defa1",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/std-f2209ccc31732564",
 waiting for result
test result: ok. 776 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/env-7942e5667b22c25a",
 waiting for result
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/run_time_detect-96a9ac83047f7f0e",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/stdbenches-3b9f754cea711c1e",
 waiting for result
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/term-e49b8306017a9407",
 waiting for result
test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/aarch64-unknown-linux-gnu/release/deps/test-2106fded34d9242c",
 waiting for result
test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> 
aarch64-unknown-linux-gnu)
test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out
====================================================================================


MIPS Summary
====================================================================================
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> 
mips-unknown-linux-gnu)
uploaded 
"/.../x86_64-unknown-linux-gnu/test/ui/simd/simd-intrinsic-generic-bitmask/a", 
waiting for result
test result: FAILED. 10351 passed; 6 failed; 108 ignored; 0 measured; 0 
filtered out
Check compiletest suite=compile-fail mode=compile-fail 
(x86_64-unknown-linux-gnu -> mips-unknown-linux-gnu)
test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind 
(x86_64-unknown-linux-gnu -> mips-unknown-linux-gnu)
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> 
mips-unknown-linux-gnu)
test result: FAILED. 105 passed; 6 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> 
mips-unknown-linux-gnu)
test result: FAILED. 156 passed; 1 failed; 51 ignored; 0 measured; 0 filtered 
out
Check compiletest suite=codegen-units mode=codegen-units 
(x86_64-unknown-linux-gnu -> mips-unknown-linux-gnu)
test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> 
mips-unknown-linux-gnu)
test result: ok. 13 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu 
-> mips-unknown-linux-gnu)
test result: ok. 121 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> 
mips-unknown-linux-gnu)
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/alloc-f1777545f19b32da",
 waiting for result
test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/collectionstests-e2b9c0c341a80014",
 waiting for result
test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/collectionsbenches-c8ada22fff19e50d",
 waiting for result
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/coretests-220be402b26800b5",
 waiting for result
test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/corebenches-61031f3776823d47",
 waiting for result
test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/proc_macro-4d7b2dfd71e95446",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/test-12f1d6c3ee8d9668",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/std-400b1aa89ff240b8",
 waiting for result
test result: ok. 778 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/env-42400f3cb736f72f",
 waiting for result
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/run_time_detect-4ea38c6771fa2fc0",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/stdbenches-9a3d2601c2b52102",
 waiting for result
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/term-78d1209051d3c33e",
 waiting for result
test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips-unknown-linux-gnu/release/deps/test-e1517ca71edbc482",
 waiting for result
test result: FAILED. 44 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> 
mips-unknown-linux-gnu)
test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out
====================================================================================


MIPS64 Summary
====================================================================================
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> 
mips64-unknown-linux-gnuabi64)
uploaded 
"/.../x86_64-unknown-linux-gnu/test/ui/simd/simd-intrinsic-generic-bitmask/a", 
waiting for result
test result: FAILED. 10349 passed; 5 failed; 111 ignored; 0 measured; 0 
filtered out
Check compiletest suite=compile-fail mode=compile-fail 
(x86_64-unknown-linux-gnu -> mips64-unknown-linux-gnuabi64)
test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind 
(x86_64-unknown-linux-gnu -> mips64-unknown-linux-gnuabi64)
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> 
mips64-unknown-linux-gnuabi64)
test result: FAILED. 105 passed; 6 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> 
mips64-unknown-linux-gnuabi64)
test result: FAILED. 156 passed; 1 failed; 51 ignored; 0 measured; 0 filtered 
out
Check compiletest suite=codegen-units mode=codegen-units 
(x86_64-unknown-linux-gnu -> mips64-unknown-linux-gnuabi64)
test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> 
mips64-unknown-linux-gnuabi64)
test result: ok. 13 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu 
-> mips64-unknown-linux-gnuabi64)
test result: ok. 121 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> 
mips64-unknown-linux-gnuabi64)
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/alloc-042b6fa25b5de888",
 waiting for result
test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/collectionstests-de35c9088ba530f4",
 waiting for result
test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/collectionsbenches-834b3506daf675a8",
 waiting for result
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/coretests-38dd98d4de0d60da",
 waiting for result
test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/corebenches-3956797a1eb17538",
 waiting for result
test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/proc_macro-e01241ef50198ebd",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/test-ce1df2eb3e45686d",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/std-e8b4ee3cc0749c8e",
 waiting for result
test result: ok. 777 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/env-370fb767c030dc2d",
 waiting for result
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/run_time_detect-861acd0299b918fe",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/stdbenches-a64f16db256c6ecc",
 waiting for result
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/term-7b8a9d985f8d15aa",
 waiting for result
test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/mips64-unknown-linux-gnuabi64/release/deps/test-52ece0757b124908",
 waiting for result
test result: FAILED. 44 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> 
mips64-unknown-linux-gnuabi64)
test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out
====================================================================================


POWERPC Summary
====================================================================================
Check compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> 
powerpc-unknown-linux-gnu)
uploaded 
"/.../x86_64-unknown-linux-gnu/test/ui/simd/simd-intrinsic-generic-bitmask/a", 
waiting for result
test result: FAILED. 10351 passed; 5 failed; 109 ignored; 0 measured; 0 
filtered out
Check compiletest suite=compile-fail mode=compile-fail 
(x86_64-unknown-linux-gnu -> powerpc-unknown-linux-gnu)
test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-pass-valgrind mode=run-pass-valgrind 
(x86_64-unknown-linux-gnu -> powerpc-unknown-linux-gnu)
test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=mir-opt mode=mir-opt (x86_64-unknown-linux-gnu -> 
powerpc-unknown-linux-gnu)
test result: FAILED. 105 passed; 6 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> 
powerpc-unknown-linux-gnu)
test result: ok. 156 passed; 0 failed; 52 ignored; 0 measured; 0 filtered out
Check compiletest suite=codegen-units mode=codegen-units 
(x86_64-unknown-linux-gnu -> powerpc-unknown-linux-gnu)
test result: ok. 37 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> 
powerpc-unknown-linux-gnu)
test result: ok. 13 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu 
-> powerpc-unknown-linux-gnu)
test result: ok. 121 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> 
powerpc-unknown-linux-gnu)
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/alloc-12e5be899f835d43",
 waiting for result
test result: ok. 115 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/collectionstests-78053dfac6832390",
 waiting for result
test result: ok. 667 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/collectionsbenches-65026fe68ad6d147",
 waiting for result
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/coretests-e1d933322f00efdc",
 waiting for result
test result: ok. 1028 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/corebenches-c48b5d8c3ca7b2c8",
 waiting for result
test result: ok. 277 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/proc_macro-1977fd8601ca7203",
 waiting for result
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/test-6da7892cb83943aa",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/std-3799b876c1c5c377",
 waiting for result
test result: ok. 778 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/env-36bd1c750e18f815",
 waiting for result
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/run_time_detect-98cf51d419c717a9",
 waiting for result
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/stdbenches-6f95532ef2080540",
 waiting for result
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/term-dc119d11b5abecc3",
 waiting for result
test result: ok. 9 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
uploaded 
"/.../x86_64-unknown-linux-gnu/stage2-std/powerpc-unknown-linux-gnu/release/deps/test-e05b795a067d1864",
 waiting for result
test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
Check compiletest suite=run-make mode=run-make (x86_64-unknown-linux-gnu -> 
powerpc-unknown-linux-gnu)
test result: ok. 4 passed; 0 failed; 11 ignored; 0 measured; 0 filtered out
====================================================================================
diff --git a/meta/classes/rust-common.bbclass b/meta/classes/rust-common.bbclass
index ff7b9da8f3..fb75b07ba3 100644
--- a/meta/classes/rust-common.bbclass
+++ b/meta/classes/rust-common.bbclass
@@ -84,7 +84,10 @@ def rust_base_triple(d, thing):
     # This catches ARM targets and appends the necessary hard float bits
     if os == "linux-gnueabi" or os == "linux-musleabi":
         libc = bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hf', '', d)
-    return arch + vendor + '-' + os + libc
+    if d.getVar('TARGET_ARCH') == 'mips64':
+       return arch + vendor + '-' + os + libc + 'abi64'
+    else:
+       return arch + vendor + '-' + os + libc
 
 # Naming explanation
 # Yocto
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 3438be92b7..83e1b68071 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -483,7 +483,7 @@ HOSTTOOLS_DIR = "${TMPDIR}/hosttools"
 HOSTTOOLS += " \
     [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp cpio \
     cpp cut date dd diff diffstat dirname du echo egrep env expand expr false \
-    fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
+    fgrep file find flock g++ gawk gcc cc getconf getopt git grep gunzip gzip \
     head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod \
     mktemp mv nm objcopy objdump od patch perl pr printf pwd \
     python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
new file mode 100644
index 0000000000..69a1a285a9
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: MIT
+import os
+from oeqa.core.decorator import OETestTag
+from oeqa.core.case import OEPTestResultTestCase
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_var, get_bb_vars, runqemu, Command
+
+class RustSelfTestBase(OESelftestTestCase, OEPTestResultTestCase):
+
+	def run_check(self, *suites, ssh = None):
+		# configure ssh target
+		features = []
+		if ssh is not None:
+			features.append('TOOLCHAIN_TEST_TARGET = "ssh"')
+			features.append('TOOLCHAIN_TEST_HOST = "{0}"'.format(ssh))
+			features.append('TOOLCHAIN_TEST_HOST_USER = "root"')
+			features.append('TOOLCHAIN_TEST_HOST_PORT = "22"')
+		self.write_config("\n".join(features))
+
+		recipe = "rust-test"
+		bitbake("{} -c check".format(recipe))
+
+	def run_check_emulated(self, *args, **kwargs):
+		# build remote-test-server before image build
+		recipe = "rust-test"	
+		bitbake("{} -c compile".format(recipe))
+		# build core-image-minimal with required packages
+		default_installed_packages = ["libgcc", "libstdc++", "libatomic", "libgomp"]
+		features = []
+		features.append('IMAGE_FEATURES += "ssh-server-openssh"')
+		features.append('CORE_IMAGE_EXTRA_INSTALL += "{0}"'.format(" ".join(default_installed_packages)))
+		self.write_config("\n".join(features))
+		bitbake("core-image-minimal")
+		# wrap the execution with a qemu instance
+		with runqemu("core-image-minimal", runqemuparams = "nographic slirp") as qemu:
+			return self.run_check(*args, ssh=qemu.ip, **kwargs)
+
+@OETestTag("toolchain-system")
+class RustSelfTestSystemEmulated(RustSelfTestBase):
+	def test_rust(self):
+		self.run_check_emulated("rust")
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index 77ec939ad7..aea7c624ec 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -184,7 +184,13 @@ class QemuRunner:
         # and analyze descendents in order to determine it.
         if os.path.exists(self.qemu_pidfile):
             os.remove(self.qemu_pidfile)
-        self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
+
+        if "slirp" in launch_cmd:
+            self.use_slirp = True
+            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1} -monitor telnet:127.0.0.1:1234,server,nowait -serial mon:stdio -serial null"'.format(bootparams, self.qemu_pidfile)
+        else:
+            self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
+
         if qemuparams:
             self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
 
diff --git a/meta/recipes-devtools/rust/rust-test.inc b/meta/recipes-devtools/rust/rust-test.inc
new file mode 100644
index 0000000000..5ff0868cbc
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-test.inc
@@ -0,0 +1,504 @@
+HOMEPAGE = "http://www.rust-lang.org";
+SECTION = "devel"
+LICENSE = "MIT | Apache-2.0"
+
+inherit rust
+inherit cargo_common
+
+DEPENDS += "file-native python3-native"
+DEPENDS_append_class-native = " rust-llvm-native"
+
+# In case of x86_64 target we setting this path to location of "x86_64-poky-linux.json". 
+# This is to differentiate cross target and build in config.toml file.
+export RUST_TARGET_PATH = "${STAGING_LIBDIR_NATIVE}/rustlib"
+
+export FORCE_CRATE_HASH="${BB_TASKHASH}"
+
+#export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-rust/bin/llvm-config"
+export YOCTO_ALTERNATE_MULTILIB_NAME = "/${BASELIB}"
+
+# We don't want to use bitbakes vendoring because the rust sources do their
+# own vendoring.
+CARGO_DISABLE_BITBAKE_VENDORING = "1"
+
+# We can't use RUST_BUILD_SYS here because that may be "musl" if
+# TCLIBC="musl". Snapshots are always -unknown-linux-gnu
+SNAPSHOT_BUILD_SYS = "${BUILD_ARCH}-unknown-linux-gnu"
+setup_cargo_environment () {
+    # The first step is to build bootstrap and some early stage tools,
+    # these are build for the same target as the snapshot, e.g.
+    # x86_64-unknown-linux-gnu.
+    # Later stages are build for the native target (i.e. target.x86_64-linux)
+    cargo_common_do_configure
+
+    printf '[target.%s]\n' "${SNAPSHOT_BUILD_SYS}" >> ${CARGO_HOME}/config
+    printf "linker = '%s'\n" "${RUST_BUILD_CCLD}" >> ${CARGO_HOME}/config
+}
+
+# Right now this is focused on arm-specific tune features.
+# We get away with this for now as one can only use x86-64 as the build host
+# (not arm).
+# Note that TUNE_FEATURES is _always_ refering to the target, so we really
+# don't want to use this for the host/build.
+def llvm_features_from_tune(d):
+    f = []
+    feat = d.getVar('TUNE_FEATURES')
+    if not feat:
+        return []
+    feat = frozenset(feat.split())
+
+    mach_overrides = d.getVar('MACHINEOVERRIDES')
+    mach_overrides = frozenset(mach_overrides.split(':'))
+
+    if 'vfpv4' in feat:
+        f.append("+vfp4")
+    if 'vfpv3' in feat:
+        f.append("+vfp3")
+    if 'vfpv3d16' in feat:
+        f.append("+d16")
+
+    if 'vfpv2' in feat or 'vfp' in feat:
+        f.append("+vfp2")
+
+    if 'neon' in feat:
+        f.append("+neon")
+
+    if 'aarch64' in feat:
+        f.append("+v8")
+
+    if 'mips32' in feat:
+        f.append("+mips32")
+
+    if 'mips32r2' in feat:
+        f.append("+mips32r2")
+
+    v7=frozenset(['armv7a', 'armv7r', 'armv7m', 'armv7ve'])
+    if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
+        f.append("+v7")
+    if ('armv6' in mach_overrides) or ('armv6' in feat):
+        f.append("+v6")
+
+    if 'dsp' in feat:
+        f.append("+dsp")
+
+    if 'thumb' in feat:
+        if d.getVar('ARM_THUMB_OPT') is "thumb":
+            if (not mach_overrides.isdisjoint(v7)) or (not feat.isdisjoint(v7)):
+                f.append("+thumb2")
+            f.append("+thumb-mode")
+
+    if 'cortexa5' in feat:
+        f.append("+a5")
+    if 'cortexa7' in feat:
+        f.append("+a7")
+    if 'cortexa9' in feat:
+        f.append("+a9")
+    if 'cortexa15' in feat:
+        f.append("+a15")
+    if 'cortexa17' in feat:
+        f.append("+a17")
+
+    return f
+
+# TARGET_CC_ARCH changes from build/cross/target so it'll do the right thing
+# this should go away when https://github.com/rust-lang/rust/pull/31709 is
+# stable (1.9.0?)
+def llvm_features_from_cc_arch(d):
+    f = []
+    feat = d.getVar('TARGET_CC_ARCH')
+    if not feat:
+        return []
+    feat = frozenset(feat.split())
+
+    if '-mmmx' in feat:
+        f.append("+mmx")
+    if '-msse' in feat:
+        f.append("+sse")
+    if '-msse2' in feat:
+        f.append("+sse2")
+    if '-msse3' in feat:
+        f.append("+sse3")
+    if '-mssse3' in feat:
+        f.append("+ssse3")
+    if '-msse4.1' in feat:
+        f.append("+sse4.1")
+    if '-msse4.2' in feat:
+        f.append("+sse4.2")
+    if '-msse4a' in feat:
+        f.append("+sse4a")
+    if '-mavx' in feat:
+        f.append("+avx")
+    if '-mavx2' in feat:
+        f.append("+avx2")
+
+    return f
+
+def llvm_features_from_target_fpu(d):
+    # TARGET_FPU can be hard or soft. +soft-float tell llvm to use soft float
+    # ABI. There is no option for hard.
+
+    fpu = d.getVar('TARGET_FPU', True)
+    return ["+soft-float"] if fpu == "soft" else []
+
+def llvm_features(d):
+    return ','.join(llvm_features_from_tune(d) +
+                    llvm_features_from_cc_arch(d) +
+                    llvm_features_from_target_fpu(d))
+
+## arm-unknown-linux-gnueabihf
+DATA_LAYOUT[arm] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
+LLVM_TARGET[arm] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[arm] = "little"
+TARGET_POINTER_WIDTH[arm] = "32"
+TARGET_C_INT_WIDTH[arm] = "32"
+MAX_ATOMIC_WIDTH[arm] = "64"
+FEATURES[arm] = "+v6,+vfp2"
+
+## aarch64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
+LLVM_TARGET[aarch64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[aarch64] = "little"
+TARGET_POINTER_WIDTH[aarch64] = "64"
+TARGET_C_INT_WIDTH[aarch64] = "32"
+MAX_ATOMIC_WIDTH[aarch64] = "128"
+
+## x86_64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+LLVM_TARGET[x86_64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[x86_64] = "little"
+TARGET_POINTER_WIDTH[x86_64] = "64"
+TARGET_C_INT_WIDTH[x86_64] = "32"
+MAX_ATOMIC_WIDTH[x86_64] = "64"
+
+## i686-unknown-linux-{gnu, musl}
+DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+LLVM_TARGET[i686] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[i686] = "little"
+TARGET_POINTER_WIDTH[i686] = "32"
+TARGET_C_INT_WIDTH[i686] = "32"
+MAX_ATOMIC_WIDTH[i686] = "64"
+
+## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
+DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
+LLVM_TARGET[i586] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[i586] = "little"
+TARGET_POINTER_WIDTH[i586] = "32"
+TARGET_C_INT_WIDTH[i586] = "32"
+MAX_ATOMIC_WIDTH[i586] = "64"
+
+## mips-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips] = "E-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+LLVM_TARGET[mips] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips] = "big"
+TARGET_POINTER_WIDTH[mips] = "32"
+TARGET_C_INT_WIDTH[mips] = "32"
+MAX_ATOMIC_WIDTH[mips] = "32"
+
+## mipsel-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mipsel] = "e-m:m-p:32:32-i8:8:32-i16:16:32-i64:64-n32-S64"
+LLVM_TARGET[mipsel] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mipsel] = "little"
+TARGET_POINTER_WIDTH[mipsel] = "32"
+TARGET_C_INT_WIDTH[mipsel] = "32"
+MAX_ATOMIC_WIDTH[mipsel] = "32"
+
+## mips64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+LLVM_TARGET[mips64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips64] = "big"
+TARGET_POINTER_WIDTH[mips64] = "64"
+TARGET_C_INT_WIDTH[mips64] = "64"
+MAX_ATOMIC_WIDTH[mips64] = "64"
+
+## mips64el-unknown-linux-{gnu, musl}
+DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+LLVM_TARGET[mips64el] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[mips64el] = "little"
+TARGET_POINTER_WIDTH[mips64el] = "64"
+TARGET_C_INT_WIDTH[mips64el] = "64"
+MAX_ATOMIC_WIDTH[mips64el] = "64"
+
+## powerpc-unknown-linux-{gnu, musl}
+DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
+LLVM_TARGET[powerpc] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[powerpc] = "big"
+TARGET_POINTER_WIDTH[powerpc] = "32"
+TARGET_C_INT_WIDTH[powerpc] = "32"
+MAX_ATOMIC_WIDTH[powerpc] = "32"
+
+## riscv32-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv32] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
+LLVM_TARGET[riscv32] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[riscv32] = "little"
+TARGET_POINTER_WIDTH[riscv32] = "32"
+TARGET_C_INT_WIDTH[riscv32] = "32"
+MAX_ATOMIC_WIDTH[riscv32] = "32"
+
+## riscv64-unknown-linux-{gnu, musl}
+DATA_LAYOUT[riscv64] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
+LLVM_TARGET[riscv64] = "${RUST_TARGET_SYS}"
+TARGET_ENDIAN[riscv64] = "little"
+TARGET_POINTER_WIDTH[riscv64] = "64"
+TARGET_C_INT_WIDTH[riscv64] = "64"
+MAX_ATOMIC_WIDTH[riscv64] = "64"
+
+def arch_for(d, thing):
+    return d.getVar('{}_ARCH'.format(thing))
+
+def sys_for(d, thing):
+    return d.getVar('{}_SYS'.format(thing))
+
+def prefix_for(d, thing):
+    return d.getVar('{}_PREFIX'.format(thing))
+
+# Convert a normal arch (HOST_ARCH, TARGET_ARCH, BUILD_ARCH, etc) to something
+# rust's internals won't choke on.
+def arch_to_rust_target_arch(arch):
+    if arch == "i586" or arch == "i686":
+        return "x86"
+    elif arch == "mipsel":
+        return "mips"
+    elif arch == "mip64sel":
+        return "mips64"
+    else:
+        return arch
+
+# generates our target CPU value
+def llvm_cpu(d):
+    cpu = d.getVar('PACKAGE_ARCH')
+    target = d.getVar('TRANSLATED_TARGET_ARCH')
+
+    trans = {}
+    trans['corei7-64'] = "corei7"
+    trans['core2-32'] = "core2"
+    trans['x86-64'] = "x86-64"
+    trans['i686'] = "i686"
+    trans['i586'] = "i586"
+    trans['powerpc'] = "powerpc"
+    trans['mips64'] = "mips64"
+    trans['mips64el'] = "mips64"
+
+    if target in ["mips", "mipsel"]:
+        feat = frozenset(d.getVar('TUNE_FEATURES').split())
+        if "mips32r2" in feat:
+            trans['mipsel'] = "mips32r2"
+            trans['mips'] = "mips32r2"
+        elif "mips32" in feat:
+            trans['mipsel'] = "mips32"
+            trans['mips'] = "mips32"
+
+    try:
+        return trans[cpu]
+    except:
+        return trans.get(target, "generic")
+
+TARGET_LLVM_CPU="${@llvm_cpu(d)}"
+TARGET_LLVM_FEATURES = "${@llvm_features(d)}"
+
+# class-native implies TARGET=HOST, and TUNE_FEATURES only describes the real
+# (original) target.
+TARGET_LLVM_FEATURES_class-native = "${@','.join(llvm_features_from_cc_arch(d))}"
+
+def rust_gen_target(d, thing, wd, features, cpu):
+    import json
+    from distutils.version import LooseVersion
+    arch = arch_for(d, thing)
+    sys = sys_for(d, thing)
+    prefix = prefix_for(d, thing)
+
+    features = features or d.getVarFlag('FEATURES', arch) or ""
+    features = features.strip()
+
+    # build tspec
+    tspec = {}
+    tspec['llvm-target'] = d.getVarFlag('LLVM_TARGET', arch)
+    tspec['data-layout'] = d.getVarFlag('DATA_LAYOUT', arch)
+    tspec['max-atomic-width'] = int(d.getVarFlag('MAX_ATOMIC_WIDTH', arch))
+    tspec['target-pointer-width'] = d.getVarFlag('TARGET_POINTER_WIDTH', arch)
+    tspec['target-c-int-width'] = d.getVarFlag('TARGET_C_INT_WIDTH', arch)
+    tspec['target-endian'] = d.getVarFlag('TARGET_ENDIAN', arch)
+    tspec['arch'] = arch_to_rust_target_arch(arch)
+    tspec['os'] = "linux"
+    if "musl" in tspec['llvm-target']:
+        tspec['env'] = "musl"
+    else:
+        tspec['env'] = "gnu"
+    tspec['vendor'] = "unknown"
+    tspec['target-family'] = "unix"
+    tspec['linker'] = "{}{}gcc".format(d.getVar('CCACHE'), prefix)
+    tspec['ar'] = "{}ar".format(prefix)
+    tspec['cpu'] = cpu
+    if features is not "":
+        tspec['features'] = features
+    tspec['dynamic-linking'] = True
+    tspec['executables'] = True
+    tspec['linker-is-gnu'] = True
+    tspec['linker-flavor'] = "gcc"
+    tspec['has-rpath'] = True
+    tspec['has-elf-tls'] = True
+    tspec['position-independent-executables'] = True
+    tspec['panic-strategy'] = d.getVar("RUST_PANIC_STRATEGY")
+
+    # Don't use jemalloc as it doesn't work for many targets.
+    # https://github.com/rust-lang/rust/pull/37392
+    # From 1.20.0 and forward, system allocator is the default.
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.20.0"):
+        tspec['exe-allocation-crate'] = "alloc_system"
+        tspec['lib-allocation-crate'] = "alloc_system"
+
+    # write out the target spec json file
+    with open(wd + sys + '.json', 'w') as f:
+        json.dump(tspec, f, indent=4)
+
+python do_rust_gen_targets () {
+    wd = d.getVar('WORKDIR') + '/targets/'
+    rust_gen_target(d, 'BUILD', wd, "", "generic")
+}
+
+addtask rust_gen_targets after do_patch before do_compile
+do_rust_gen_targets[dirs] += "${WORKDIR}/targets"
+
+do_rust_setup_snapshot () {
+    for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do
+        "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig
+    done
+
+    # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo
+    # and fail without it there.
+    mkdir -p ${RUSTSRC}/build/${BUILD_SYS}
+    ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0
+}
+addtask rust_setup_snapshot after do_unpack before do_configure
+do_rust_setup_snapshot[dirs] += "${WORKDIR}/rust-snapshot"
+
+
+python do_configure() {
+    import json
+    from distutils.version import LooseVersion
+    try:
+        import configparser
+    except ImportError:
+        import ConfigParser as configparser
+
+    # toml is rather similar to standard ini like format except it likes values
+    # that look more JSON like. So for our purposes simply escaping all values
+    # as JSON seem to work fine.
+
+    e = lambda s: json.dumps(s)
+
+    config = configparser.RawConfigParser()
+
+    # [target.ARCH-unknown-linux-gnu]
+    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
+       target_section = "target.{}".format(d.getVar('RUST_TARGET_SYS', True))
+    else :
+       target_section = "target.{}".format(d.getVar('TARGET_SYS', True))
+
+    config.add_section(target_section)
+
+    config.set(target_section, "cxx", e(d.expand("${RUST_TARGET_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_TARGET_CC}")))
+    config.set(target_section, "linker", e(d.expand("${RUST_TARGET_CCLD}")))
+
+    # If we don't do this rust-native will compile it's own llvm for BUILD.
+    # [target.${BUILD_ARCH}-unknown-linux-gnu]
+    target_section = "target.{}".format(d.getVar('SNAPSHOT_BUILD_SYS', True))
+    config.add_section(target_section)
+
+    config.set(target_section, "cxx", e(d.expand("${RUST_BUILD_CXX}")))
+    config.set(target_section, "cc", e(d.expand("${RUST_BUILD_CC}")))
+
+    # [rust]
+    config.add_section("rust")
+    config.set("rust", "rpath", e(True))
+    config.set("rust", "channel", e("stable"))
+
+    if LooseVersion(d.getVar("PV")) < LooseVersion("1.32.0"):
+        config.set("rust", "use-jemalloc", e(False))
+
+    # Whether or not to optimize the compiler and standard library
+    config.set("rust", "optimize", e(True))
+    
+    # Emits extraneous output from tests to ensure that failures of the test
+    # harness are debuggable just from logfiles 
+    config.set("rust", "verbose-tests", e(True))
+
+    # [build]
+    config.add_section("build")
+    config.set("build", "submodules", e(False))
+    config.set("build", "docs", e(False))
+
+    rustc = d.expand("${WORKDIR}/rust-snapshot/bin/rustc")
+    config.set("build", "rustc", e(rustc))
+
+    cargo = d.expand("${WORKDIR}/rust-snapshot/bin/cargo")
+    config.set("build", "cargo", e(cargo))
+
+    config.set("build", "vendor", e(True))
+
+    if( d.getVar('RUST_TARGET_SYS', True) != d.getVar('SNAPSHOT_BUILD_SYS', True)):
+        targets = [d.getVar("RUST_TARGET_SYS", True)]
+    else:
+        targets = [d.getVar("TARGET_SYS", True)]
+
+    config.set("build", "target", e(targets))
+
+    hosts = [d.getVar("SNAPSHOT_BUILD_SYS", True)]
+    config.set("build", "host", e(hosts))
+
+    # We can't use BUILD_SYS since that is something the rust snapshot knows
+    # nothing about when trying to build some stage0 tools (like fabricate)
+    config.set("build", "build", e(d.getVar("SNAPSHOT_BUILD_SYS", True)))
+
+    with open("config.toml", "w") as f:
+        config.write(f)
+
+    # set up ${WORKDIR}/cargo_home
+    bb.build.exec_func("setup_cargo_environment", d)
+}
+
+
+rust_runx () {
+    echo "COMPILE ${PN}" "$@"
+
+    # CFLAGS, LDFLAGS, CXXFLAGS, CPPFLAGS are used by rust's build for a
+    # wide range of targets (not just TARGET). Yocto's settings for them will
+    # be inappropriate, avoid using.
+    unset CFLAGS
+    unset LDFLAGS
+    unset CXXFLAGS
+    unset CPPFLAGS
+
+    oe_cargo_fix_env
+
+    nativepython3 src/bootstrap/bootstrap.py ${@oe.utils.parallel_make_argument(d, '-j %d')} "$@" 
+}
+rust_runx[vardepsexclude] += "PARALLEL_MAKE"
+
+do_compile () {	
+    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
+    then
+       rust_runx build src/tools/remote-test-server --target "${TARGET_SYS}"
+    else
+       rust_runx build src/tools/remote-test-server --target "${RUST_TARGET_SYS}"
+    fi
+}
+
+do_check[dirs] += "${B}"
+do_check[nostamp] = "1"
+do_check () {
+    scp -P 2223 -o StrictHostKeyChecking=no build/${SNAPSHOT_BUILD_SYS}/stage2-tools-bin/remote-test-server [email protected]:~/
+    ssh -p 2223 -o StrictHostKeyChecking=no -f [email protected] "~/remote-test-server -v remote"
+
+
+    export TEST_DEVICE_ADDR="127.0.0.1:12345"
+    if [  "${SNAPSHOT_BUILD_SYS}" = "${RUST_TARGET_SYS}" ]
+    then
+       rust_runx test --no-fail-fast --bless --target "${TARGET_SYS}" > summary.txt 2> /dev/null
+    else
+       rust_runx test --no-fail-fast --target "${RUST_TARGET_SYS}" > summary.txt 2> /dev/null
+    fi
+
+}
+addtask do_check after do_compile
+
diff --git a/meta/recipes-devtools/rust/rust-test_1.46.0.bb b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
new file mode 100644
index 0000000000..b724ea5eb0
--- /dev/null
+++ b/meta/recipes-devtools/rust/rust-test_1.46.0.bb
@@ -0,0 +1,12 @@
+require rust-test.inc
+require rust-source-${PV}.inc
+require rust-snapshot-${PV}.inc
+
+DEPENDS += "rust-llvm (=${PV})"
+
+# Otherwise we'll depend on what we provide
+INHIBIT_DEFAULT_RUST_DEPS_class-native = "1"
+# We don't need to depend on gcc-native because yocto assumes it exists
+PROVIDES_class-native = "virtual/${TARGET_PREFIX}rust"
+
+BBCLASSEXTEND = "native"
diff --git a/scripts/runqemu b/scripts/runqemu
index dd92a64553..1a21a90add 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1055,7 +1055,7 @@ class BaseConfig(object):
         logger.info("Network configuration:%s", netconf)
         self.kernel_cmdline_script += netconf
         # Port mapping
-        hostfwd = ",hostfwd=tcp::2222-:22,hostfwd=tcp::2323-:23"
+        hostfwd = ",hostfwd=tcp::12345-:12345,hostfwd=tcp::2323-:23,hostfwd=tcp::2222-:22"
         qb_slirp_opt_default = "-netdev user,id=net0%s,tftp=%s" % (hostfwd, self.get('DEPLOY_DIR_IMAGE'))
         qb_slirp_opt = self.get('QB_SLIRP_OPT') or qb_slirp_opt_default
         # Figure out the port
@@ -1084,6 +1084,19 @@ class BaseConfig(object):
                         mac += 1
             if p != p_new:
                 ports.append(p_new)
+                temp=__file__.split(os.path.basename(__file__))[0]
+                with open(temp+"../meta/recipes-devtools/rust/rust-test.inc", 'r+') as f:
+                    text = f.readlines()
+                    temp1=[]
+                    for i in text:
+                        temp = re.sub(r'(\S+\s)(-.)(\s\d+)( -o StrictHostKeyChecking=no .*)', r'\1\2 '+str(p_new)+'\\4', i)
+                        temp1.append(temp)
+                    temp2=''
+                    for i in temp1:
+                        temp2=temp2+i
+                    f.seek(0)
+                    f.write(temp2)
+                    f.truncate()
                 qb_slirp_opt = re.sub(':%s-' % p, ':%s-' % p_new, qb_slirp_opt)
                 logger.info("Port forward changed: %s -> %s" % (p, p_new))
         mac = "%s%02x" % (self.mac_slirp, mac)
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#150292): 
https://lists.openembedded.org/g/openembedded-core/message/150292
Mute This Topic: https://lists.openembedded.org/mt/81936579/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to