Add 32-bit ARM support with portable-atomic for AtomicU64#304
Add 32-bit ARM support with portable-atomic for AtomicU64#304neeme-praks-sympower wants to merge 2 commits intostreamfold:mainfrom
Conversation
|
I also need to patch opentelemetry-rust to support 32-bits. |
|
I added 32-bit support to OpenTelemetry RUST SDK: open-telemetry/opentelemetry-rust@0948c61 In order to verify my changes in this branch, I had to update some dependencies. Once Rotel updates to OpenTelemetry RUST SDK 0.32 then we can drop those changes from this branch. |
|
This looks good to me, however I'd like to split the tonic, prost and otel lib changes into their own separate PR. The bumps for tonic/prost look large, so I'd like to ensure we rerun some of our benchmarks to make sure there aren't perf regressions. If you'd be up for splitting those off, we could take a look. Caveat, our availability over the next week is limited due to travel. Response time may be longer over the next week. |
No problem, done: #306 |
- Add armv5te-unknown-linux-gnueabi (soft float) and armv7-unknown-linux-gnueabihf (hard float) build targets to CI - Replace std::sync::atomic::AtomicU64 with portable-atomic crate to support platforms without native 64-bit atomics - Build ARM32 targets with --no-default-features --features file_receiver
fbb96c2 to
ca149e1
Compare
|
In case you want to keep the number of dependencies to minimum, I can make |
ca149e1 to
eec7b4c
Compare
Done. |
armv5te-unknown-linux-gnueabi(soft float) andarmv7-unknown-linux-gnueabihf(hard float)std::sync::atomic::AtomicU64withportable-atomiccrate for 32-bit compatibilityPart of #299
Details
32-bit ARM platforms lack native 64-bit atomic operations. This PR adds the
portable-atomiccrate with thefallbackfeature, which provides software-based atomic operations on platforms without hardware support.CI Build Configuration
The new ARM32 build job:
ubuntu-22.04gcc-arm-linux-gnueabi,gcc-arm-linux-gnueabihf)--no-default-features --features file_receiverto avoid rdkafka (which has cross-compilation limitations)