[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: nptl 0.33



Hi,

nptl-0.33 did not compile out of the box on my ia64 machine.

I tried to fix what seems to be a bunch of typos in
nptl/sysdeps/ia64/bits/atomic.h (see attached patch), and copied some
parts of libc/include/atomic.h to nptl/atomic.h (not in the patch, this is
probably wrong), and thus got rid of all the undefined references to
'atomic_compare_and_exchange_val_acq'.

But later the libc build hangs when running rpcgen (It works correctly
when building WITHOUT nptl).

I'm using a glibc cvs snapshot taken this morning.


Did anyone get nptl-0.33 to compile on ia64 ?


	Regards,

		Simon.
diff -ur orig3glibc/libc/nptl/sysdeps/ia64/bits/atomic.h 3glibc/libc/nptl/sysdeps/ia64/bits/atomic.h
--- orig3glibc/libc/nptl/sysdeps/ia64/bits/atomic.h	Wed Apr  2 14:05:47 2003
+++ 3glibc/libc/nptl/sysdeps/ia64/bits/atomic.h	Wed Apr  2 13:36:29 2003
@@ -59,11 +59,18 @@
   (!__sync_bool_compare_and_swap_di ((long *) (mem), (long) (oldval), \
 				     (long) (newval)))
 
-#define __arch_compare_and_exchange_32_val_acq(mem, newval, oldval) \
+
+#define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
+  (abort (), 0)
+
+#define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
+  (abort (), 0)
+
+#define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
   __sync_val_compare_and_swap_si ((int *) (mem), (int) (long) (oldval), \
 				  (int) (long) (newval))
 
-# define __arch_compare_and_exchange_64_val_acq(mem, newval, oldval) \
+#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
   __sync_val_compare_and_swap_di ((long *) (mem), (long) (oldval), \
 				  (long) (newval))
 
@@ -78,7 +85,7 @@
       do								      \
 	{								      \
 	  __oldval = __val;						      \
-	  __val = __arch_compare_and_exchange_32_val_acq (__memp,	      \
+	  __val = __arch_compare_and_exchange_val_32_acq (__memp,	      \
 							  __oldval + __value, \
 							  __oldval);	      \
 	}								      \
@@ -87,7 +94,7 @@
       do								      \
 	{								      \
 	  __oldval = __val;						      \
-	  __val = __arch_compare_and_exchange_64_val_acq (__memp,	      \
+	  __val = __arch_compare_and_exchange_val_64_acq (__memp,	      \
 							  __oldval + __value, \
 							  __oldval);	      \
 	}								      \

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]