You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by ms...@apache.org on 2021/11/23 21:31:38 UTC

[incubator-teaclave-trustzone-sdk] branch master updated: Update Rust toolchain to nightly-2021-09-20 and std to 1.56.1 (#53)

This is an automated email from the ASF dual-hosted git repository.

mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-trustzone-sdk.git


The following commit(s) were added to refs/heads/master by this push:
     new 0e1e9c6  Update Rust toolchain to nightly-2021-09-20 and std to 1.56.1 (#53)
0e1e9c6 is described below

commit 0e1e9c6a32ad43058d924f482b469f60e7de4ac2
Author: rwwwwww21 <82...@users.noreply.github.com>
AuthorDate: Wed Nov 24 05:31:31 2021 +0800

    Update Rust toolchain to nightly-2021-09-20 and std to 1.56.1 (#53)
    
    Co-authored-by: rmheng <29...@qq.com>
    Co-authored-by: Mingshen Sun <bo...@mssun.me>
---
 .github/workflows/ci.yml                           |  18 ++--
 .gitmodules                                        |   6 +-
 Dockerfile                                         |   7 +-
 examples/acipher-rs/ta/Cargo.lock                  |  60 ++++++------
 examples/acipher-rs/ta/Xargo.toml                  |   6 +-
 examples/aes-rs/ta/Cargo.lock                      |  60 ++++++------
 examples/aes-rs/ta/Xargo.toml                      |   6 +-
 examples/authentication-rs/ta/Cargo.lock           |  60 ++++++------
 examples/authentication-rs/ta/Xargo.toml           |   6 +-
 examples/big_int-rs/ta/Cargo.lock                  |  60 ++++++------
 examples/big_int-rs/ta/Xargo.toml                  |   6 +-
 examples/diffie_hellman-rs/ta/Cargo.lock           |  60 ++++++------
 examples/diffie_hellman-rs/ta/Xargo.toml           |   6 +-
 examples/digest-rs/ta/Cargo.lock                   |  60 ++++++------
 examples/digest-rs/ta/Xargo.toml                   |   6 +-
 examples/hello_world-rs/ta/Cargo.lock              |  60 ++++++------
 examples/hello_world-rs/ta/Xargo.toml              |   6 +-
 examples/hotp-rs/ta/Cargo.lock                     |  60 ++++++------
 examples/hotp-rs/ta/Xargo.toml                     |   6 +-
 .../message_passing_interface-rs/ta/Cargo.lock     |  88 ++++++++---------
 .../message_passing_interface-rs/ta/Xargo.toml     |   6 +-
 examples/random-rs/ta/Cargo.lock                   |  60 ++++++------
 examples/random-rs/ta/Xargo.toml                   |   6 +-
 examples/secure_storage-rs/ta/Cargo.lock           |  60 ++++++------
 examples/secure_storage-rs/ta/Xargo.toml           |   6 +-
 examples/serde-rs/ta/Cargo.lock                    | 106 ++++++++++-----------
 examples/serde-rs/ta/Xargo.toml                    |   6 +-
 examples/supp_plugin-rs/ta/Cargo.lock              |  62 ++++++------
 examples/supp_plugin-rs/ta/Xargo.toml              |   6 +-
 examples/tcp_client-rs/ta/Cargo.lock               |  60 ++++++------
 examples/tcp_client-rs/ta/Xargo.toml               |   6 +-
 examples/time-rs/ta/Cargo.lock                     |  60 ++++++------
 examples/time-rs/ta/Xargo.toml                     |   6 +-
 examples/udp_socket-rs/ta/Cargo.lock               |  60 ++++++------
 examples/udp_socket-rs/ta/Xargo.toml               |   6 +-
 optee-utee/Cargo.toml                              |   2 +-
 optee-utee/Xargo.toml                              |   6 +-
 optee-utee/optee-utee-sys/Cargo.toml               |   2 +-
 rust-toolchain                                     |   2 +-
 rust/compiler-builtins                             |   2 +-
 rust/libc                                          |   2 +-
 rust/rust                                          |   2 +-
 setup.sh                                           |   6 +-
 43 files changed, 597 insertions(+), 590 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 9d8ee5f..df22076 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,7 +24,7 @@ defaults:
 jobs:
   build-and-run-examples:
     runs-on: ubuntu-20.04
-    container: teaclave/teaclave-trustzone-sdk-build:0.2.2
+    container: teaclave/teaclave-trustzone-sdk-build:0.3.0
     steps:
       - name: Checkout repository
         uses: actions/checkout@v2
@@ -40,14 +40,16 @@ jobs:
           source environment &&
           make optee &&
           . ~/.cargo/env &&
-          rustup default nightly-2019-07-08 &&
+          rustup component add rust-src &&
+          rustup target install aarch64-unknown-linux-gnu arm-unknown-linux-gnueabihf &&
+          rustup default nightly-2021-09-20 &&
           make examples
       - name: Run tests and examples
         run: |
           cd ci && ./ci.sh
   build-utee-teec:
     runs-on: ubuntu-20.04
-    container: teaclave/teaclave-trustzone-sdk-build:0.2.2
+    container: teaclave/teaclave-trustzone-sdk-build:0.3.0
     steps:
       - name: Checkout repository
         uses: actions/checkout@v2
@@ -63,12 +65,14 @@ jobs:
           source environment &&
           make optee &&
           . ~/.cargo/env &&
-          rustup default nightly-2019-07-08 &&
+          rustup component add rust-src &&
+          rustup target install aarch64-unknown-linux-gnu arm-unknown-linux-gnueabihf &&
+          rustup default nightly-2021-09-20 &&
           (cd optee-utee && xargo build --target aarch64-unknown-optee-trustzone -vv) &&
           (cd optee-teec && cargo build --target aarch64-unknown-linux-gnu -vv)
   build-and-run-examples-in-OPTEE-repo:
     runs-on: ubuntu-20.04
-    container: teaclave/teaclave-trustzone-sdk-build:0.2.2
+    container: teaclave/teaclave-trustzone-sdk-build:0.3.0
     steps:
       - name: Checkout OP-TEE repository
         run: |
@@ -77,7 +81,7 @@ jobs:
           export PATH=~/bin:$PATH
           mkdir optee-qemuv8 && cd optee-qemuv8 &&
           repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml &&
-          repo sync -j4 --no-clone-bundle   
+          repo sync -j4 --no-clone-bundle
       - name: Build images and run tests
         run: |
           cd optee-qemuv8
@@ -89,4 +93,4 @@ jobs:
     steps:
       - uses: actions/checkout@v2
       - name: Check License Header
-        uses: apache/skywalking-eyes@main 
+        uses: apache/skywalking-eyes@main
diff --git a/.gitmodules b/.gitmodules
index 56670cc..48bfdb9 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -10,12 +10,12 @@
 [submodule "rust/rust"]
 	path = rust/rust
 	url = https://github.com/mesalock-linux/rust.git
-	branch = optee-trustzone
+	branch = teaclave-trustzone-sdk-1.56.1
 [submodule "rust/libc"]
 	path = rust/libc
 	url = https://github.com/mesalock-linux/libc.git
-	branch = optee-trustzone
+	branch = teaclave-trustzone-sdk-0.2.99
 [submodule "rust/compiler-builtins"]
 	path = rust/compiler-builtins
 	url = https://github.com/mesalock-linux/compiler-builtins.git
-	branch = optee-trustzone
+	branch = teaclave-trustzone-sdk-0.1.44
diff --git a/Dockerfile b/Dockerfile
index cc69dca..1e1cd58 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -75,8 +75,11 @@ RUN apt-get update && \
     screen \
     libvdeplug-dev \
     libsdl2-dev \
+    pip \
     ca-certificates
 
+RUN pip install cryptography
+
 RUN apt-get install -y software-properties-common && \
     add-apt-repository ppa:linuxuprising/libpng12 && \
     apt-get update && \
@@ -85,10 +88,10 @@ RUN apt-get install -y software-properties-common && \
 # Install Rust
 RUN curl https://sh.rustup.rs -sSf | sh -s -- -y && \
   . $HOME/.cargo/env && \
-  rustup default nightly-2019-07-08 && \
+  rustup default nightly-2021-09-20 && \
   rustup component add rust-src && \
   rustup target install aarch64-unknown-linux-gnu && \
   rustup default 1.44.0 && cargo +1.44.0 install xargo && \
-  rustup default nightly-2019-07-08
+  rustup default nightly-2021-09-20
 
 ENV PATH="/root/.cargo/bin:$PATH"
diff --git a/examples/acipher-rs/ta/Cargo.lock b/examples/acipher-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/acipher-rs/ta/Cargo.lock
+++ b/examples/acipher-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/acipher-rs/ta/Xargo.toml b/examples/acipher-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/acipher-rs/ta/Xargo.toml
+++ b/examples/acipher-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/aes-rs/ta/Cargo.lock b/examples/aes-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/aes-rs/ta/Cargo.lock
+++ b/examples/aes-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/aes-rs/ta/Xargo.toml b/examples/aes-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/aes-rs/ta/Xargo.toml
+++ b/examples/aes-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/authentication-rs/ta/Cargo.lock b/examples/authentication-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/authentication-rs/ta/Cargo.lock
+++ b/examples/authentication-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/authentication-rs/ta/Xargo.toml b/examples/authentication-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/authentication-rs/ta/Xargo.toml
+++ b/examples/authentication-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/big_int-rs/ta/Cargo.lock b/examples/big_int-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/big_int-rs/ta/Cargo.lock
+++ b/examples/big_int-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/big_int-rs/ta/Xargo.toml b/examples/big_int-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/big_int-rs/ta/Xargo.toml
+++ b/examples/big_int-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/diffie_hellman-rs/ta/Cargo.lock b/examples/diffie_hellman-rs/ta/Cargo.lock
index 87f9816..d31ac83 100644
--- a/examples/diffie_hellman-rs/ta/Cargo.lock
+++ b/examples/diffie_hellman-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.33 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "64c827cea7a7ab30ce4593e5e04d7a11617ad6ece2fa230605a78b00ff965316"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
 dependencies = [
- "proc-macro2 0.4.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ec52cd796e5f01d0067225a5392e70084acc4c0013fa71d55166d38a8b307836"
 dependencies = [
- "proc-macro2 0.4.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.29 (registry+https://github.com/rust-lang/crates.io-index)" = "64c827cea7a7ab30ce4593e5e04d7a11617ad6ece2fa230605a78b00ff965316"
-"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-"checksum syn 0.15.33 (registry+https://github.com/rust-lang/crates.io-index)" = "ec52cd796e5f01d0067225a5392e70084acc4c0013fa71d55166d38a8b307836"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/diffie_hellman-rs/ta/Xargo.toml b/examples/diffie_hellman-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/diffie_hellman-rs/ta/Xargo.toml
+++ b/examples/diffie_hellman-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/digest-rs/ta/Cargo.lock b/examples/digest-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/digest-rs/ta/Cargo.lock
+++ b/examples/digest-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/digest-rs/ta/Xargo.toml b/examples/digest-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/digest-rs/ta/Xargo.toml
+++ b/examples/digest-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/hello_world-rs/ta/Cargo.lock b/examples/hello_world-rs/ta/Cargo.lock
index 4fb4331..682ddf0 100644
--- a/examples/hello_world-rs/ta/Cargo.lock
+++ b/examples/hello_world-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-"checksum syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/hello_world-rs/ta/Xargo.toml b/examples/hello_world-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/hello_world-rs/ta/Xargo.toml
+++ b/examples/hello_world-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/hotp-rs/ta/Cargo.lock b/examples/hotp-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/hotp-rs/ta/Cargo.lock
+++ b/examples/hotp-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/hotp-rs/ta/Xargo.toml b/examples/hotp-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/hotp-rs/ta/Xargo.toml
+++ b/examples/hotp-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/message_passing_interface-rs/ta/Cargo.lock b/examples/message_passing_interface-rs/ta/Cargo.lock
index aad3582..d4e5c5a 100644
--- a/examples/message_passing_interface-rs/ta/Cargo.lock
+++ b/examples/message_passing_interface-rs/ta/Cargo.lock
@@ -1,150 +1,150 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "itoa"
 version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde",
+ "serde_json",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "ryu"
 version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
 
 [[package]]
 name = "serde"
 version = "1.0.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a72e9b96fa45ce22a4bc23da3858dfccfd60acd28a25bcd328a98fdd6bea43fd"
 dependencies = [
- "serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
 version = "1.0.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "101b495b109a3e3ca8c4cbe44cf62391527cdfb6ba15821c5ce80bcd5ea23f9f"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "serde_json"
 version = "1.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
 dependencies = [
- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itoa",
+ "ryu",
+ "serde",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum ryu 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "b96a9549dc8d48f2c283938303c4b5a77aa29bfbc5b54b084fb1630408899a8f"
-"checksum serde 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)" = "a72e9b96fa45ce22a4bc23da3858dfccfd60acd28a25bcd328a98fdd6bea43fd"
-"checksum serde_derive 1.0.91 (registry+https://github.com/rust-lang/crates.io-index)" = "101b495b109a3e3ca8c4cbe44cf62391527cdfb6ba15821c5ce80bcd5ea23f9f"
-"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/message_passing_interface-rs/ta/Xargo.toml b/examples/message_passing_interface-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/message_passing_interface-rs/ta/Xargo.toml
+++ b/examples/message_passing_interface-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/random-rs/ta/Cargo.lock b/examples/random-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/random-rs/ta/Cargo.lock
+++ b/examples/random-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/random-rs/ta/Xargo.toml b/examples/random-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/random-rs/ta/Xargo.toml
+++ b/examples/random-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/secure_storage-rs/ta/Cargo.lock b/examples/secure_storage-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/secure_storage-rs/ta/Cargo.lock
+++ b/examples/secure_storage-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/secure_storage-rs/ta/Xargo.toml b/examples/secure_storage-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/secure_storage-rs/ta/Xargo.toml
+++ b/examples/secure_storage-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/serde-rs/ta/Cargo.lock b/examples/serde-rs/ta/Cargo.lock
index d9f7fd3..4bdf265 100644
--- a/examples/serde-rs/ta/Cargo.lock
+++ b/examples/serde-rs/ta/Cargo.lock
@@ -1,185 +1,185 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "itoa"
 version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote 0.6.12",
+ "syn 0.15.39",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid 0.1.0",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "1.0.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
 dependencies = [
- "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid 0.2.1",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 0.4.30",
 ]
 
 [[package]]
 name = "quote"
 version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"
 dependencies = [
- "proc-macro2 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.24",
 ]
 
 [[package]]
 name = "ryu"
 version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
 
 [[package]]
 name = "serde"
 version = "1.0.123"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"
 dependencies = [
- "serde_derive 1.0.123 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
 version = "1.0.123"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"
 dependencies = [
- "proc-macro2 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 1.0.60 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.24",
+ "quote 1.0.8",
+ "syn 1.0.60",
 ]
 
 [[package]]
 name = "serde_json"
 version = "1.0.61"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"
 dependencies = [
- "itoa 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
- "ryu 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde 1.0.123 (registry+https://github.com/rust-lang/crates.io-index)",
+ "itoa",
+ "ryu",
+ "serde",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 0.4.30",
+ "quote 0.6.12",
+ "unicode-xid 0.1.0",
 ]
 
 [[package]]
 name = "syn"
 version = "1.0.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
 dependencies = [
- "proc-macro2 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2 1.0.24",
+ "quote 1.0.8",
+ "unicode-xid 0.2.1",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "serde 1.0.123 (registry+https://github.com/rust-lang/crates.io-index)",
- "serde_json 1.0.61 (registry+https://github.com/rust-lang/crates.io-index)",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "serde",
+ "serde_json",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "unicode-xid"
 version = "0.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum itoa 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
-"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-"checksum proc-macro2 1.0.24 (registry+https://github.com/rust-lang/crates.io-index)" = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
-"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-"checksum quote 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df"
-"checksum ryu 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-"checksum serde 1.0.123 (registry+https://github.com/rust-lang/crates.io-index)" = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"
-"checksum serde_derive 1.0.123 (registry+https://github.com/rust-lang/crates.io-index)" = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"
-"checksum serde_json 1.0.61 (registry+https://github.com/rust-lang/crates.io-index)" = "4fceb2595057b6891a4ee808f70054bd2d12f0e97f1cbb78689b59f676df325a"
-"checksum syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
-"checksum syn 1.0.60 (registry+https://github.com/rust-lang/crates.io-index)" = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum unicode-xid 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/serde-rs/ta/Xargo.toml b/examples/serde-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/serde-rs/ta/Xargo.toml
+++ b/examples/serde-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/supp_plugin-rs/ta/Cargo.lock b/examples/supp_plugin-rs/ta/Cargo.lock
index 1a58667..679c546 100644
--- a/examples/supp_plugin-rs/ta/Cargo.lock
+++ b/examples/supp_plugin-rs/ta/Cargo.lock
@@ -1,111 +1,111 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid 0.8.2",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid 0.7.4",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid 0.8.2",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-"checksum syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90dbc611eb48397705a6b0f6e917da23ae517e4d127123d2cf7674206627d32a"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/supp_plugin-rs/ta/Xargo.toml b/examples/supp_plugin-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/supp_plugin-rs/ta/Xargo.toml
+++ b/examples/supp_plugin-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/tcp_client-rs/ta/Cargo.lock b/examples/tcp_client-rs/ta/Cargo.lock
index 4fb4331..682ddf0 100644
--- a/examples/tcp_client-rs/ta/Cargo.lock
+++ b/examples/tcp_client-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-"checksum syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/tcp_client-rs/ta/Xargo.toml b/examples/tcp_client-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/tcp_client-rs/ta/Xargo.toml
+++ b/examples/tcp_client-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/time-rs/ta/Cargo.lock b/examples/time-rs/ta/Cargo.lock
index 194a942..9d011c6 100644
--- a/examples/time-rs/ta/Cargo.lock
+++ b/examples/time-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.29"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
 dependencies = [
- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/time-rs/ta/Xargo.toml b/examples/time-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/time-rs/ta/Xargo.toml
+++ b/examples/time-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/examples/udp_socket-rs/ta/Cargo.lock b/examples/udp_socket-rs/ta/Cargo.lock
index 4fb4331..682ddf0 100644
--- a/examples/udp_socket-rs/ta/Cargo.lock
+++ b/examples/udp_socket-rs/ta/Cargo.lock
@@ -1,105 +1,105 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "bitflags"
 version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
 
 [[package]]
 name = "hex"
 version = "0.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
 
 [[package]]
 name = "libc"
-version = "0.2.59"
+version = "0.2.99"
 
 [[package]]
 name = "optee-utee"
 version = "0.1.0"
 dependencies = [
- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.59",
- "optee-utee-macros 0.1.0",
- "optee-utee-sys 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "hex",
+ "libc",
+ "optee-utee-macros",
+ "optee-utee-sys",
+ "uuid",
 ]
 
 [[package]]
 name = "optee-utee-macros"
 version = "0.1.0"
 dependencies = [
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)",
+ "quote",
+ "syn",
 ]
 
 [[package]]
 name = "optee-utee-sys"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
+ "libc",
 ]
 
 [[package]]
 name = "proc-macro2"
 version = "0.4.30"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
 dependencies = [
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "proto"
 version = "0.1.0"
 dependencies = [
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "uuid",
 ]
 
 [[package]]
 name = "quote"
 version = "0.6.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
 ]
 
 [[package]]
 name = "syn"
 version = "0.15.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
 dependencies = [
- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
- "quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
 ]
 
 [[package]]
 name = "ta"
 version = "0.1.0"
 dependencies = [
- "libc 0.2.59",
- "optee-utee 0.1.0",
- "optee-utee-sys 0.1.0",
- "proto 0.1.0",
- "uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "libc",
+ "optee-utee",
+ "optee-utee-sys",
+ "proto",
+ "uuid",
 ]
 
 [[package]]
 name = "unicode-xid"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 
 [[package]]
 name = "uuid"
 version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
-"checksum hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77"
-"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-"checksum quote 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "faf4799c5d274f3868a4aae320a0a182cbd2baee377b378f080e16a23e9d80db"
-"checksum syn 0.15.39 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c"
-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
-"checksum uuid 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
+checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
diff --git a/examples/udp_socket-rs/ta/Xargo.toml b/examples/udp_socket-rs/ta/Xargo.toml
index 86e2e66..c9ed04e 100644
--- a/examples/udp_socket-rs/ta/Xargo.toml
+++ b/examples/udp_socket-rs/ta/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../../../rust/rust/src/libstd"
+path = "../../../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../../../rust/libc" }
 compiler_builtins =  { path = "../../../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../../../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../../../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../../../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../../../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/optee-utee/Cargo.toml b/optee-utee/Cargo.toml
index 55270fe..6704593 100644
--- a/optee-utee/Cargo.toml
+++ b/optee-utee/Cargo.toml
@@ -27,7 +27,7 @@ edition = "2018"
 [dependencies]
 optee-utee-sys = { path = "optee-utee-sys" }
 optee-utee-macros = { path = "macros" }
-libc = { path = "../rust/libc", version = "=0.2.59" }
+libc = { path = "../rust/libc", version = "=0.2.99" }
 bitflags = "=1.0.4"
 uuid = { version = "0.8", default-features = false }
 hex = "0.3"
diff --git a/optee-utee/Xargo.toml b/optee-utee/Xargo.toml
index e61c071..e5b0856 100644
--- a/optee-utee/Xargo.toml
+++ b/optee-utee/Xargo.toml
@@ -16,10 +16,10 @@
 # under the License.
 
 [dependencies.std]
-path = "../rust/rust/src/libstd"
+path = "../rust/rust/library/std"
 
 [patch.crates-io]
 libc =  { path = "../rust/libc" }
 compiler_builtins =  { path = "../rust/compiler-builtins" }
-rustc-std-workspace-core = { path = "../rust/rust/src/tools/rustc-std-workspace-core" }
-rustc-std-workspace-alloc = { path = "../rust/rust/src/tools/rustc-std-workspace-alloc" }
+rustc-std-workspace-core = { path = "../rust/rust/library/rustc-std-workspace-core" }
+rustc-std-workspace-alloc = { path = "../rust/rust/library/rustc-std-workspace-alloc" }
diff --git a/optee-utee/optee-utee-sys/Cargo.toml b/optee-utee/optee-utee-sys/Cargo.toml
index 48933e8..4caeba7 100644
--- a/optee-utee/optee-utee-sys/Cargo.toml
+++ b/optee-utee/optee-utee-sys/Cargo.toml
@@ -25,4 +25,4 @@ description = "Native bindings to the libutee library."
 edition = "2018"
 
 [dependencies]
-libc = { path = "../../rust/libc", version = "=0.2.59" }
+libc = { path = "../../rust/libc", version = "=0.2.99" }
diff --git a/rust-toolchain b/rust-toolchain
index 69e8031..513fbad 100644
--- a/rust-toolchain
+++ b/rust-toolchain
@@ -1 +1 @@
-nightly-2019-07-08
\ No newline at end of file
+nightly-2021-09-20
diff --git a/rust/compiler-builtins b/rust/compiler-builtins
index aa60c8d..45a2e49 160000
--- a/rust/compiler-builtins
+++ b/rust/compiler-builtins
@@ -1 +1 @@
-Subproject commit aa60c8d12bda0cb5d6b13e3d147e020623bab555
+Subproject commit 45a2e4996fe732172004b292b07397f9a02265ab
diff --git a/rust/libc b/rust/libc
index 2b065db..1ddfbbb 160000
--- a/rust/libc
+++ b/rust/libc
@@ -1 +1 @@
-Subproject commit 2b065db4e628e2b69e5b93225e654dbae1246eab
+Subproject commit 1ddfbbbc190bec0f5ec32b08e97585b34d0c6b09
diff --git a/rust/rust b/rust/rust
index 52331ae..6abda66 160000
--- a/rust/rust
+++ b/rust/rust
@@ -1 +1 @@
-Subproject commit 52331ae5f05900ecf2c39002afa0414b033c1eab
+Subproject commit 6abda667852184641149d34da4730d96ba4f7d31
diff --git a/setup.sh b/setup.sh
index 59f405f..4bfada5 100755
--- a/setup.sh
+++ b/setup.sh
@@ -18,16 +18,16 @@
 # under the License.
 
 # install Rust and select a proper version
-curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly-2019-07-08
+curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain nightly-2021-09-20
 source $HOME/.cargo/env
 rustup component add rust-src && rustup target install aarch64-unknown-linux-gnu arm-unknown-linux-gnueabihf
 
 # install Xargo
 rustup default 1.44.0 && cargo +1.44.0 install xargo
 # switch to nightly
-rustup default nightly-2019-07-08
+rustup default nightly-2021-09-20
 
 # initialize Teaclave TrustZone SDK submodule
 git submodule update --init -- rust
 cd rust/compiler-builtins && git submodule update --init libm
-cd ../rust && git submodule update --init src/stdsimd
+cd ../rust && git submodule update --init library/stdarch && git submodule update --init library/backtrace

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org