about summary refs log tree commit diff
path: root/nptl/sysdeps/unix/sysv/linux/s390
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-09-03 02:53:32 +0000
committerUlrich Drepper <drepper@redhat.com>2003-09-03 02:53:32 +0000
commit5777d565adb19dd2133c71be65455b8551f3ea43 (patch)
tree0e6f0683679db5a5adfa30712c3e3b1b80a91e97 /nptl/sysdeps/unix/sysv/linux/s390
parent6df4dd68082f98367720f856264f48dac3328da7 (diff)
downloadglibc-5777d565adb19dd2133c71be65455b8551f3ea43.tar.gz
glibc-5777d565adb19dd2133c71be65455b8551f3ea43.tar.xz
glibc-5777d565adb19dd2133c71be65455b8551f3ea43.zip
Update.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h (PSEUDO): Also
	defined symbol for entry point to avoid cancellation.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h (PSEUDO):
	Likewise.
	* sysdeps/unix/sysv/linux/i386/not-cancel.h (__open_nocancel,
	__close_nocancel, __read_nocancel, __write_nocancel,
	__waitpid_nocancel): Add attribute_hidden.  If not in libc.so,
	libpthread.so or librt.so, define to corresponding function
	without _nocancel suffix.
	* sysdeps/unix/sysv/linux/s390/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/powerpc/not-cancel.h: New file.
	* sysdeps/unix/sysv/linux/sparc/not-cancel.h: New file.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/s390')
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h1
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h4
3 files changed, 9 insertions, 0 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h
new file mode 100644
index 0000000000..acf1a617e3
--- /dev/null
+++ b/nptl/sysdeps/unix/sysv/linux/s390/not-cancel.h
@@ -0,0 +1 @@
+#include "../i386/not-cancel.h"
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
index 1f7cff8c41..bbbd30b71f 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-32/sysdep-cancel.h
@@ -59,11 +59,15 @@ L(pseudo_cancel):							      \
 ENTRY(name)								      \
 	SINGLE_THREAD_P(%r1)						      \
 	jne	L(pseudo_cancel);					      \
+.type	__##syscall_name##_nocancel,@function;				      \
+.globl	__##syscall_name##_nocancel;					      \
+__##syscall_name##_nocancel:						      \
 	DO_CALL(syscall_name, args);					      \
 L(pseudo_check):							      \
 	lhi	%r4,-4095;						      \
 	clr	%r2,%r4;						      \
 	jnl	SYSCALL_ERROR_LABEL;					      \
+.size	__##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
 L(pseudo_end):
 
 # ifdef IS_IN_libpthread
diff --git a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
index 4d53311f9d..2daf5944e4 100644
--- a/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
+++ b/nptl/sysdeps/unix/sysv/linux/s390/s390-64/sysdep-cancel.h
@@ -53,11 +53,15 @@ L(pseudo_cancel):							      \
 ENTRY(name)								      \
 	SINGLE_THREAD_P							      \
 	jne	L(pseudo_cancel);					      \
+.type	__##syscall_name##_nocancel,@function;				      \
+.globl	__##syscall_name##_nocancel;					      \
+__##syscall_name##_nocancel:						      \
 	DO_CALL(syscall_name, args);					      \
 L(pseudo_check):							      \
 	lghi	%r4,-4095;						      \
 	clgr	%r2,%r4;						      \
 	jgnl	SYSCALL_ERROR_LABEL;					      \
+.size	__##syscall_name##_nocancel,.-__##syscall_name##_nocancel;	      \
 L(pseudo_end):
 
 # ifdef IS_IN_libpthread