tags 408701 patch
thanks
On Wed, 07 Feb 2007 the mental interface of
Mark Andrews via RT told:
> Looking at the assembly it looks like we are using a different
> syntax. We are using "r#" where # is the register number. The
> rest of the code just uses # (no "r" in front).
>
> IBM shows code without the "r"
> http://www.ibm.com/developerworks/library/l-ppc/
>
> This guide for the Mac show code with the "r".
> http://www.lightsoft.co.uk/Fantasm/Beginners/begin1.html
>
> Anyway please try the attached patch and let us know how it goes.
> I don't have access to a powerpc running Linux.
Built without errors and warnings ;) But I can't test the IBM's RISC
ones, as I have none handy :(
Patch attached again for Debian BTS.
Thanks
Elimar
--
Excellent day for drinking heavily.
Spike the office water cooler;-)
Index: lib/isc/powerpc/include/isc/atomic.h
===================================================================
RCS file: /proj/cvs/prod/bind9/lib/isc/powerpc/include/isc/atomic.h,v
retrieving revision 1.1.6.3
diff -u -r1.1.6.3 atomic.h
--- lib/isc/powerpc/include/isc/atomic.h 1 Sep 2005 03:39:13 -0000
1.1.6.3
+++ lib/isc/powerpc/include/isc/atomic.h 7 Feb 2007 03:35:12 -0000
@@ -74,10 +74,10 @@
__asm__ volatile (
"1:"
- "lwarx r6, 0, %1\n"
- "mr %0, r6\n"
- "add r6, r6, %2\n"
- "stwcx. r6, 0, %1\n"
+ "lwarx 6, 0, %1\n"
+ "mr %0, 6\n"
+ "add 6, 6, %2\n"
+ "stwcx. 6, 0, %1\n"
"bne- 1b"
: "=&r"(orig)
: "r"(p), "r"(val)
@@ -91,9 +91,9 @@
isc_atomic_store(void *p, isc_int32_t val) {
__asm__ volatile (
"1:"
- "lwarx r6, 0, %0\n"
- "lwz r6, %1\n"
- "stwcx. r6, 0, %0\n"
+ "lwarx 6, 0, %0\n"
+ "lwz 6, %1\n"
+ "stwcx. 6, 0, %0\n"
"bne- 1b"
:
: "r"(p), "m"(val)
@@ -107,12 +107,12 @@
__asm__ volatile (
"1:"
- "lwarx r6, 0, %1\n"
- "mr %0,r6\n"
- "cmpw r6, %2\n"
+ "lwarx 6, 0, %1\n"
+ "mr %0,6\n"
+ "cmpw 6, %2\n"
"bne 2f\n"
- "mr r6, %3\n"
- "stwcx. r6, 0, %1\n"
+ "mr 6, %3\n"
+ "stwcx. 6, 0, %1\n"
"bne- 1b\n"
"2:"
: "=&r" (orig)