* sysdeps/s390/__longjmp.c: Add __ to JB_GPR*.
This commit is contained in:
Andreas Jaeger 2000-08-23 09:53:54 +00:00
parent 84056c71ce
commit ea18f67073
3 changed files with 22 additions and 20 deletions

View File

@ -1,5 +1,7 @@
2000-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com> 2000-08-23 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/__longjmp.c: Add __ to JB_GPR*.
* sysdeps/s390/bits/setjmp.h: Add __ to JB_GPR* defines. * sysdeps/s390/bits/setjmp.h: Add __ to JB_GPR* defines.
2000-08-23 Ulrich Drepper <drepper@redhat.com> 2000-08-23 Ulrich Drepper <drepper@redhat.com>

View File

@ -9,13 +9,13 @@
The GNU C Library is distributed in the hope that it will be useful, The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details. Library General Public License for more details.
You should have received a copy of the GNU Library General Public You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not, License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#include <errno.h> #include <errno.h>
#include <sysdep.h> #include <sysdep.h>
@ -29,12 +29,12 @@
void void
__longjmp (__jmp_buf env, int val) __longjmp (__jmp_buf env, int val)
{ {
/* Restore registers and jump back */ /* Restore registers and jump back. */
asm volatile("lr %%r2,%0\n\t" /* put val in grp 2 */ asm volatile ("lr %%r2,%0\n\t" /* PUT val in grp 2. */
"lm %%r6,%%r15,%1\n\t" "lm %%r6,%%r15,%1\n\t"
"br %%r14" "br %%r14"
: : "r" (val == 0 ? 1 : val), : : "r" (val == 0 ? 1 : val),
"m" (env->gregs[JB_GPR6]) : "2" ); "m" (env->gregs[__JB_GPR6]) : "2" );
/* Avoid `volatile function does return' warnings. */ /* Avoid `volatile function does return' warnings. */
for (;;); for (;;);

View File

@ -21,24 +21,24 @@
#ifndef __S390_SETJMP_H__ #ifndef __S390_SETJMP_H__
#define __S390_SETJMP_H__ #define __S390_SETJMP_H__
#define __JB_GPR6 0 #define __JB_GPR6 0
#define __JB_GPR7 1 #define __JB_GPR7 1
#define __JB_GPR8 2 #define __JB_GPR8 2
#define __JB_GPR9 3 #define __JB_GPR9 3
#define __JB_GPR10 4 #define __JB_GPR10 4
#define __JB_GPR11 5 #define __JB_GPR11 5
#define __JB_GPR12 6 #define __JB_GPR12 6
#define __JB_GPR13 7 #define __JB_GPR13 7
#define __JB_GPR14 8 #define __JB_GPR14 8
#define __JB_GPR15 9 #define __JB_GPR15 9
#ifndef _ASM #ifndef _ASM
typedef struct { typedef struct {
/* We save registers 6-15 */ /* We save registers 6-15. */
long int gregs[10]; long int gregs[10];
/* We save fpu registers 4 and 6 */ /* We save fpu registers 4 and 6. */
long long fpregs[2]; long long fpregs[2];
} __jmp_buf[1]; } __jmp_buf[1];