Skip to content

Pin surge-ping to 0.8: 0.9.1 needs 64-bit atomics - #22

Merged
BKPepe merged 2 commits into
masterfrom
deps/surge-ping-32bit
Nov 5, 2026
Merged

BKPepe merged 2 commits into
masterfrom
deps/surge-ping-32bit

Conversation

@BKPepe

@BKPepe BKPepe commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

surge-ping 0.9.1 reaches for AtomicU64, which does not exist where max-atomic-width is 32: 32-bit PowerPC and MIPS, so mpc85xx, ath79 and ramips. Fixed in kolapapa/surge-ping#80, which is not released yet, so this pins 0.8.4 until a release has it.

Master has failed there since a059533 with unresolved import std::sync::atomic::AtomicU64. 1.2.0 shipped 0.8.4 and is unaffected. 0.9.1's fixes concern cloned clients and cancelled pings, neither of which this client does. Dependabot's lockfile-only keeps it from offering 0.9 back.

The new matrix entry builds for powerpc-unknown-linux-gnu and starts the binary under QEMU, so a dependency like this stops a release instead of breaking OpenWrt afterwards.

Checked: cargo check on the host and of surge-ping for powerpc-unknown-linux-gnu with this lock file. The new CI job itself runs here for the first time in this form.

Copilot AI lite review requested due to automatic review settings September 27, 2026 16:53

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

It reaches for AtomicU64, which does not exist where max-atomic-width is
32: 32-bit PowerPC and MIPS, so mpc85xx, ath79 and ramips in OpenWrt.
Back to 0.8.4, the version 1.2.0 shipped, until a release has the fix from
kolapapa/surge-ping#80.
Nothing here built a target whose max-atomic-width is 32, so surge-ping 0.9.1
reached master without a red job. powerpc-unknown-linux-gnu has that shape, and
its binary now also starts under QEMU like the others.

32-bit PowerPC has no 64-bit atomic instruction, so the compiler calls into
libatomic. Without linking it the build stays green, but the loader cannot start
the binary.
@BKPepe
BKPepe force-pushed the deps/surge-ping-32bit branch from 08a2aad to 21acce8 Compare November 5, 2026 20:44
@BKPepe
BKPepe merged commit a9939d5 into master Nov 5, 2026
20 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants