mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Take arg of type __jmp_buf, not jmp_buf.
This commit is contained in:
parent
b0a51e5395
commit
29031a89a2
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1992 Free Software Foundation, Inc.
|
/* Copyright (C) 1992, 1994 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -16,13 +16,7 @@ License along with the GNU C Library; see the file COPYING.LIB. If
|
|||||||
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
|
||||||
Cambridge, MA 02139, USA. */
|
Cambridge, MA 02139, USA. */
|
||||||
|
|
||||||
#ifndef __GNUC__
|
/* Global register vars must come before any function defn. */
|
||||||
#error This file uses GNU C extensions; you must compile with GCC.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*#include <setjmp.h>*/
|
|
||||||
#include "jmp_buf.h"
|
|
||||||
#define jmp_buf __jmp_buf
|
|
||||||
|
|
||||||
register long int
|
register long int
|
||||||
r9 asm ("$9"), r10 asm ("$10"), r11 asm ("$11"), r12 asm ("$12"),
|
r9 asm ("$9"), r10 asm ("$10"), r11 asm ("$11"), r12 asm ("$12"),
|
||||||
@ -36,13 +30,14 @@ register double
|
|||||||
f6 asm ("$f6"), f7 asm ("$f7"), f8 asm ("$f8"), f9 asm ("$f9");
|
f6 asm ("$f6"), f7 asm ("$f7"), f8 asm ("$f8"), f9 asm ("$f9");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Jump to the position specified by ENV, causing the
|
#include <setjmp.h>
|
||||||
setjmp call there to return VAL, or 1 if VAL is 0.
|
|
||||||
|
|
||||||
We declare this function to return an `int';
|
|
||||||
in fact, the value being returned is going to the caller of setjmp. */
|
/* Jump to the position specified by ENV, causing the
|
||||||
volatile void
|
setjmp call there to return VAL, or 1 if VAL is 0. */
|
||||||
__longjmp (const jmp_buf env, int val)
|
__NORETURN
|
||||||
|
void
|
||||||
|
__longjmp (const __jmp_buf env, int val)
|
||||||
{
|
{
|
||||||
/* Restore the integer registers. */
|
/* Restore the integer registers. */
|
||||||
r9 = env[0].__9;
|
r9 = env[0].__9;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
|
/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
|
||||||
Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88,
|
Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88,
|
||||||
Copyright (c) 1980 Regents of the University of California.
|
Copyright (c) 1980 Regents of the University of California.
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ Cambridge, MA 02139, USA. */
|
|||||||
setjmp call there to return VAL, or 1 if VAL is 0. */
|
setjmp call there to return VAL, or 1 if VAL is 0. */
|
||||||
__NORETURN
|
__NORETURN
|
||||||
void
|
void
|
||||||
DEFUN(__longjmp, (env, val), CONST jmp_buf env AND int val)
|
DEFUN(__longjmp, (env, val), CONST __jmp_buf env AND int val)
|
||||||
{
|
{
|
||||||
register long int *fp asm("fp");
|
register long int *fp asm("fp");
|
||||||
long int *regsave;
|
long int *regsave;
|
||||||
|
Loading…
Reference in New Issue
Block a user