Status Update
Comments
bl...@google.com <bl...@google.com> #2
ca...@google.com <ca...@google.com> #3
compare_exchange
and exchange
functions from std::atomic were not found when linking. One trick was to force alignment to skip the libcalls using pw_alignment, as done in patch 10 (
ap...@google.com <ap...@google.com> #4
Branch: main
commit bb1870ce1c8d99afe0fdf87212a0f19337572ee9
Author: Armando Montanez <amontanez@google.com>
Date: Thu Feb 15 23:37:38 2024
many: Disable tests incompatible with rp2040
Skips tests that are incompatible with the rp2040 when building for that
target.
Bug:
Change-Id: Ic26f657888dc36f241cab43fdd26c1600bd55030
Reviewed-on:
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Erik Gilling <konkers@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Armando Montanez <amontanez@google.com>
M pw_allocator/BUILD.gn
M pw_blob_store/BUILD.gn
M pw_chrono/BUILD.gn
M pw_file/BUILD.gn
M pw_fuzzer/examples/fuzztest/BUILD.gn
M pw_i2c/BUILD.gn
M pw_log_rpc/BUILD.gn
M pw_metric/BUILD.gn
M pw_multibuf/BUILD.gn
M pw_protobuf/BUILD.gn
M pw_rpc/nanopb/BUILD.gn
M pw_rpc/pwpb/BUILD.gn
M pw_rpc/raw/BUILD.gn
M pw_rpc_transport/BUILD.gn
M pw_sync/BUILD.gn
M pw_thread/BUILD.gn
M pw_thread_freertos/BUILD.gn
M pw_trace_tokenized/BUILD.gn
M pw_unit_test/BUILD.gn
M third_party/fuchsia/BUILD.gn
tp...@google.com <tp...@google.com> #5
Given our focus on Pico as a platform, should the priority of this be increased? My reading is that this isn't just a narrow issue with the test, but that pw_intrusive_ptr
doesn't work with the Pico.
he...@google.com <he...@google.com> #6
The issue isn't specific to pw_intrusive_ptr
. Cortex M0/M0+ does not support atomic read/modify/write, so anything that uses std::atomic
types will not compile for Cortex M0.
We could provide implementations of __atomic_fetch_add_4
and related functions. Easy thing to do is disable interrupts (
jr...@google.com <jr...@google.com> #7
Related:
he...@google.com <he...@google.com> #8
For Cortex M0 specifically, support for the necessary functions landed in
Description
pico_executable doesn't build
//pw_intrusive_ptr:intrusive_ptr_test
Disabled this for now inhttps://pigweed-review.googlesource.com/c/pigweed/pigweed/+/121390