Then, what about this patch?
--- ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h.orig 2007-05-20 23:15:37.000000000 +0200
+++ ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h 2007-05-20 23:15:59.000000000 +0200
@@ -71,10 +71,10 @@
"copy %5, %%r24 \n\t" \
"ble " LWS "(%%sr2, %%r0) \n\t" \
"ldi " LWS_CAS ", %%r20 \n\t" \
+ "sub %%r0, %%r21, %%r21 \n\t" \
"cmpib,=,n " ASM_EAGAIN ",%%r21,0b \n\t" \
"nop \n\t" \
"stw %%r28, %0 \n\t" \
- "sub %%r0, %%r21, %%r21 \n\t" \
"stw %%r21, %1 \n\t" \
: "=m" (lws_ret), "=m" (lws_errno), "=m" (*mem) \
: "r" (mem), "r" (oldval), "r" (newval) \