[PATCH] PPC64 nptl fixes

Steven Munroe <[email protected]>
Newsgroups gmane.comp.lib.phil
Organization IBM Linux Developement
Message-ID <[email protected]>
Finally have a working nplt enabled kernel to test with. With nplt-0.32 found
only two problems. The nptl/tst-cancel-wrappers.sh did not handle the PPC64
'.'ed symbols. Copied the ([.]|) fix from linuxthreads. Plus sysdep-cancel.h
contained a word/doubleword typo that I fixed. The symbol
header.multiple_threads is an int so should be Compare Word Immediate (cmpwi). 

With this patch PPC64 builds and runs make check successfully
(--disable-check-abi).

2003-03-24  Steven Munroe  <[email protected]>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (SINGLE_THREAD_P):
	Fix typo.
	* tst-cancel-wrappers.sh: Handle '.'ed symbols.


-- 
Steven Munroe
[email protected]
Linux on PowerPC-64 Development
GLIBC for PowerPC-64 Development
ppc64-nptl32-20030328.patch (text/plain, 1.2 KB)
diff -rupP nptl-0.32/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h libc23/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
--- nptl-0.32/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h	2003-03-20 02:53:02.000000000 -0600
+++ libc23/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h	2003-03-31 10:01:23.000000000 -0600
@@ -91,7 +91,7 @@
 # else
 #   define SINGLE_THREAD_P						\
   lwz   10,MULTIPLE_THREADS_OFFSET(13);				\
-  cmpdi 10,0
+  cmpwi 10,0
 # endif
 
 #elif !defined __ASSEMBLER__
diff -rupP nptl-0.32/nptl/tst-cancel-wrappers.sh libc23/nptl/tst-cancel-wrappers.sh
--- nptl-0.32/nptl/tst-cancel-wrappers.sh	2003-01-06 18:02:26.000000000 -0600
+++ libc23/nptl/tst-cancel-wrappers.sh	2003-03-31 10:50:28.000000000 -0600
@@ -82,9 +82,9 @@ C["__xpg_sigpause"]=1
 {
   if (C[$1] && $2 ~ /^[TW]$/)
     seen=$1
-  else if ($1 ~ /^__(libc|pthread)_enable_asynccancel$/ && $2 == "U")
+  else if ($1 ~ /^([.]|)__(libc|pthread)_enable_asynccancel$/ && $2 == "U")
     seen_enable=1
-  else if ($1 ~ /^__(libc|pthread)_disable_asynccancel$/ && $2 == "U")
+  else if ($1 ~ /^([.]|)__(libc|pthread)_disable_asynccancel$/ && $2 == "U")
     seen_disable=1
 }
 END {
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.