* sysdeps/sh/bsd-setjmp.S (setjmp): Use correct argument registers.

* sysdeps/sh/bsd-_setjmp.S (_setjmp): Likewise.
	* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Do correct sanity
	check for the first argument.
This commit is contained in:
Roland McGrath 2007-07-15 00:12:18 +00:00
parent b25effae3d
commit 84c23a3d72
4 changed files with 18 additions and 11 deletions

View File

@ -1,3 +1,10 @@
2007-07-06 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/bsd-setjmp.S (setjmp): Use correct argument registers.
* sysdeps/sh/bsd-_setjmp.S (_setjmp): Likewise.
* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Do correct sanity
check for the first argument.
2007-07-12 Jakub Jelinek <jakub@redhat.com>
[BZ #4775]

View File

@ -1,5 +1,5 @@
/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. SH version.
Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2002, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -36,14 +36,14 @@ ENTRY (_setjmp)
mov.l 3f, r1
mov.l @(r0,r1), r1
jmp @r1
mov #0, r0
mov #0, r5
.align 2
3:
.long C_SYMBOL_NAME(__sigsetjmp@GOT)
#else
mov.l 1f, r1
jmp @r1
mov #0, r0
mov #0, r5
.align 2
1:
.long C_SYMBOL_NAME(__sigsetjmp)

View File

@ -1,5 +1,5 @@
/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. SH version.
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -36,14 +36,14 @@ ENTRY (setjmp)
mov.l 3f, r1
mov.l @(r0,r1), r1
jmp @r1
mov #1, r0
mov #1, r5
.align 2
3:
.long C_SYMBOL_NAME(__sigsetjmp@GOT)
#else
mov.l 1f, r1
jmp @r1
mov #1, r0
mov #1, r5
.align 2
1:
.long C_SYMBOL_NAME(__sigsetjmp)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
/* Copyright (C) 1999, 2000, 2003, 2004, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -32,12 +32,12 @@
ENTRY(__clone)
/* sanity check arguments. */
tst r4, r4
bf/s 1f
bt/s 0f
tst r5, r5
bf/s 1f
mov #-EINVAL,r0
bf 1f
0:
bra .Lsyscall_error
nop
mov #-EINVAL,r0
1:
/* insert the args onto the new stack */
mov.l r7, @-r5