Re: nptl 0.33

Simon Derr <[email protected]>
Newsgroups gmane.comp.lib.phil
Message-ID <[email protected]>
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.
corrig033 (text/plain, 1.7 KB)
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);	      \
 	}								      \
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.