[PATCH]: Fix pause calcellation on sparc64*-linux
David Miller
davem@davemloft.net
Fri May 9 12:17:00 GMT 2008
When using -fexceptions based cancellations, pause() does not
unwind into the cancellation handler correctly on sparc64*-linux.
This is because sparc64*-*-linux uses the C implementation of
pause() found under glibc/sysdeps/posix/pause.c
Therefore, we have to build both ptw-pause.c and ptw-sigsuspend.c
with -fexceptions so that we can fully unwind into the caller's
cancellation block.
This fixes nptl/tst-cancelx4 on sparc64*-linux as well as any
other test that required pause() cancellation to work with
-fexceptions
Please apply, thanks.
nptl/
2008-05-09 David S. Miller <davem@davemloft.net>
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: New file.
---
.../sysdeps/unix/sysv/linux/sparc/sparc64/Makefile | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
create mode 100644 nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
new file mode 100644
index 0000000..1843833
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
@@ -0,0 +1,4 @@
+CFLAGS-ptw-pause.o += -fexceptions
+CFLAGS-ptw-pause.os += -fexceptions
+CFLAGS-ptw-sigsuspend.o += -fexceptions
+CFLAGS-ptw-sigsuspend.os += -fexceptions
--
1.5.5.1.57.g5909c
More information about the Libc-alpha
mailing list