about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-08 02:34:27 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-08 02:34:27 +0000
commit2a051a7d1af290fee89e8b0a5ba8e5a86f325a25 (patch)
tree8f07fb2a508532e8675705d6c956506c3cece73e /sysdeps/unix/sysv/linux/sh/sh4/sysdep.h
parentd9c734e9cdab99931ddbbbc6de30a109be1483e6 (diff)
downloadglibc-2a051a7d1af290fee89e8b0a5ba8e5a86f325a25.tar.gz
glibc-2a051a7d1af290fee89e8b0a5ba8e5a86f325a25.tar.xz
glibc-2a051a7d1af290fee89e8b0a5ba8e5a86f325a25.zip
Update.
2003-02-07  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* elf/tls-macros.h: Add non-PIC TLS macros and fix clobber list
	for SH.
	* sysdeps/unix/sysv/linux/sh/brk.c: Add SYSCALL_INST_PAD
	after the trapa instruction.
	* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Add additional
	parameters.
	* sysdeps/unix/sysv/linux/sh/sh4/sysdep.h: New file.
	(NEED_SYSCALL_INST_PAD): Define.
	* sysdeps/unix/sysv/linux/sh/sys/user.h (start_thread): Undef to
	avoid to use definition for the kernel.
	* sysdeps/unix/sysv/linux/sh/sysdep.h (SYSCALL_ERROR_HANDLER):
	Save and restore the frame pointer.
	(SYSCALL_INST_PAD): Define.
	(INLINE_SYSCALL): Make use of INTERNAL_SYSCALL.
	(INTERNAL_SYSCALL): Make use of ERR parameter. Add SYSCALL_INST_PAD
	after trapa instruction.
	(INTERNAL_SYSCALL_DECL, INTERNAL_SYSCALL_ERRNO,
	INTERNAL_SYSCALL_ERROR_P): Adjust accordingly.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sh/sh4/sysdep.h')
-rw-r--r--sysdeps/unix/sysv/linux/sh/sh4/sysdep.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h b/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h
new file mode 100644
index 0000000000..852f8eed7f
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sh/sh4/sysdep.h
@@ -0,0 +1,4 @@
+/*  4 instruction cycles not accessing cache and TLB are needed after
+    trapa instruction to avoid an SH-4 silicon bug.  */
+#define NEED_SYSCALL_INST_PAD
+#include <sysdeps/unix/sysv/linux/sh/sysdep.h>