This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH]: Fix pause calcellation on sparc64*-linux


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]