embassy-rs / embassy

Modern embedded framework, using Rust and async.
https://embassy.dev
Apache License 2.0
5.64k stars 781 forks source link

Allow building executor on v1.82 xtensa toolchains #3525

Closed wetheredge closed 2 weeks ago

wetheredge commented 2 weeks ago

This is a followup for #3508 that does not rely on the compiler build date, since the Xtensa toolchain's build dates don't match the official ones. In particular, the Xtensa 1.82 releases were built in late October, but still have the old api.

Dirbaio commented 2 weeks ago

cc @bugadani

could you guys clarify which xtensa compiler versions are out there affected by this? which ones were covered by #3508 and which ones did it miss that this PR is now covering?

I'm thinking that maybe we're overcomplicating this and we should just make it unconditionally use the stable WakerHack even if nightly feature is enabled.

bugadani commented 2 weeks ago

Eh yeah I forgot that our compiler is built as a nightly, from the stable branch, so I guess it worked for 1.81 because it was built on the 3rd of September, before the change landed - but 1.82 was already branched off at that point.

~I'd prefer this PR over WakerHack as I think safety: OK because WakerHack has the same layout as Waker is incidental and not guaranteed to not change randomly.~ I guess using WakerHack should be okay, and 1.83 is close also.

Dirbaio commented 2 weeks ago

Fixed in #3528