From 535490def4d9e0ee2c9d90de44ff32975b06e7b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sosth=C3=A8ne=20Gu=C3=A9don?= Date: Wed, 3 Apr 2024 17:45:55 +0200 Subject: [PATCH] Fix intrinsics error --- Cargo.lock | 41 ++++++++++++------------------------- Cargo.toml | 1 + runners/embedded/Cargo.toml | 6 ++++++ runners/embedded/Makefile | 6 ++---- 4 files changed, 22 insertions(+), 32 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cced72d9..902fd3b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -227,7 +227,7 @@ dependencies = [ "humansize", "mime", "mime_guess", - "nom 7.1.3", + "nom", "num-traits", "percent-encoding", "proc-macro2", @@ -287,21 +287,22 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "bindgen" -version = "0.56.0" +version = "0.69.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da379dbebc0b76ef63ca68d8fc6e71c0f13e59432e0987e508c1820e6ab5239" +checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "cexpr", "clang-sys", + "itertools", "lazy_static", "lazycell", - "peeking_take_while", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", + "syn 2.0.48", ] [[package]] @@ -510,11 +511,11 @@ dependencies = [ [[package]] name = "cexpr" -version = "0.4.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ - "nom 5.1.3", + "nom", ] [[package]] @@ -1081,6 +1082,7 @@ dependencies = [ "delog", "embedded-hal", "interchange 0.3.0", + "littlefs2-sys", "lpc55-hal", "lpc55-pac", "memory-regions", @@ -1769,8 +1771,7 @@ dependencies = [ [[package]] name = "littlefs2-sys" version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c25e4f545f6ca5415c6325066260e764674d7893dcf0017a52a2ef456ba915f5" +source = "git+https://github.com/trussed-dev/littlefs2-sys.git?rev=39626c0dbc2f6c38b74889a5bf9d5a200614f121#39626c0dbc2f6c38b74889a5bf9d5a200614f121" dependencies = [ "bindgen", "cc", @@ -1936,16 +1937,6 @@ dependencies = [ "utils", ] -[[package]] -name = "nom" -version = "5.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" -dependencies = [ - "memchr", - "version_check", -] - [[package]] name = "nom" version = "7.1.3" @@ -2204,12 +2195,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - [[package]] name = "percent-encoding" version = "2.3.1" @@ -2873,9 +2858,9 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" [[package]] name = "shlex" -version = "0.1.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" diff --git a/Cargo.toml b/Cargo.toml index 0d6eb099..5206b40f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,6 +29,7 @@ apdu-dispatch = { git = "https://github.com/Nitrokey/apdu-dispatch.git", tag = " ctap-types = { git = "https://github.com/trussed-dev/ctap-types.git", rev = "a9f8003a1d9f05f9eea39e615b9159bc0613fcb5" } ctaphid-dispatch = { git = "https://github.com/Nitrokey/ctaphid-dispatch.git", tag = "v0.1.1-nitrokey.3" } littlefs2 = { git = "https://github.com/trussed-dev/littlefs2", rev = "ebd27e49ca321089d01d8c9b169c4aeb58ceeeca" } +littlefs2-sys = { git = "https://github.com/trussed-dev/littlefs2-sys.git", rev = "39626c0dbc2f6c38b74889a5bf9d5a200614f121" } usbd-ctaphid = { git = "https://github.com/trussed-dev/usbd-ctaphid.git", rev = "1db2e014f28669bc484c81ab0406c54b16bba33c" } usbd-ccid = { git = "https://github.com/Nitrokey/usbd-ccid", tag = "v0.2.0-nitrokey.1" } p256-cortex-m4 = { git = "https://github.com/ycrypto/p256-cortex-m4.git", rev = "cdb31e12594b4dc1f045b860a885fdc94d96aee2" } diff --git a/runners/embedded/Cargo.toml b/runners/embedded/Cargo.toml index c206c655..8cd1f5ea 100644 --- a/runners/embedded/Cargo.toml +++ b/runners/embedded/Cargo.toml @@ -44,6 +44,9 @@ systick-monotonic = { version = "1.0.0", optional = true } ### Allocator alloc-cortex-m = { version = "0.4.3", optional = true } +# littlefs2-sys for intrinsics feature +littlefs2-sys = { version = "0.1.7", optional = true } + [build-dependencies] cargo-lock = "7" memory-regions = "1" @@ -60,6 +63,9 @@ provisioner = ["apps/nk3-provisioner", "boards/provisioner", "write-undefined-fl no-delog = ["boards/no-delog", "delog/knock-it-off"] +# Disable littlefs use of compiler intrinsics +littlefs-software-intrinsics = ["dep:littlefs2-sys", "littlefs2-sys/software-intrinsics"] + # Do not use encryption for the filesystem no-encrypted-storage = ["boards/no-encrypted-storage"] diff --git a/runners/embedded/Makefile b/runners/embedded/Makefile index 3e99713b..7a6b3116 100644 --- a/runners/embedded/Makefile +++ b/runners/embedded/Makefile @@ -35,15 +35,13 @@ SHOULD_BUILD_STD=$(shell python3 -c "p = True if '$(BOARD)' == 'nk3xn' and 'test ifeq ($(SHOULD_BUILD_STD), "True") BUILD_STD='-Zbuild-std=core,alloc,panic_abort -Zbuild-std-features=panic_immediate_abort' TOOLCHAIN='RUSTUP_TOOLCHAIN=nightly-2024-04-01' -else - BUILD_STD='' - TOOLCHAIN='' + LITTLEFS_INTRINSICS_FEATURE='littlefs-software-intrinsics' endif RAW_OUT = $(CARGO_TARGET_DIR)/$(TARGET)/$(CUSTOM_PROFILE)/$(SOC)_runner # feature definition -BUILD_FEATURES := board-$(BOARD),$(FEATURES),$(NO_DELOG_FEATURE) +BUILD_FEATURES := board-$(BOARD),$(FEATURES),$(NO_DELOG_FEATURE),$(LITTLEFS_INTRINSICS_FEATURE) .PHONY: list build build-all reset program check doc check-all clean clean-all check-env set-vars lint-all lint