Files
packages/lang
Josef Schlehofer 860798e4f6 rust: fix compare_exchange_weak never succeeding on mpc85xx
LLVM places the release fence of a cmpxchg between the load-linked and the
store-conditional. On e500v2 that clears the reservation, so the
store-conditional always fails. The strong form retries and re-reserves; the
weak form has no retry and can never succeed.

fetch_update in core is a weak retry loop, so it spins forever and anything
using it hangs. A tokio reactor livelocks on its first I/O event, burning
CPU without issuing a syscall, which makes async Rust unusable on the
subtarget.

Carry the fix as a patch until it reaches a rustc release. It adds a
TargetLowering hook, defaulting to false, so only PowerPC changes.

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2026-08-16 09:40:07 +02:00
..
2024-07-12 12:56:24 -07:00
…
2025-04-28 13:15:31 +08:00
2025-06-01 10:25:23 +03:00
2024-06-23 11:15:50 -07:00
2024-03-04 00:28:42 +00:00
2024-04-23 18:58:31 -07:00
2025-12-29 12:52:40 +01:00
2026-08-15 12:32:17 +02:00
2024-01-02 14:53:09 -08:00
2024-10-30 05:15:42 -07:00
2024-07-09 17:52:36 -07:00
2024-11-17 20:53:44 +02:00
2024-06-10 13:47:21 -07:00
2026-04-05 15:23:22 +02:00
2025-05-04 20:35:57 +08:00
2024-07-14 16:06:36 -07:00
2026-07-11 21:37:39 +02:00
2025-12-18 13:48:52 +02:00
2025-06-30 10:18:26 +02:00
…
2024-05-14 10:56:51 -07:00