diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-07-15 07:34:00 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-07-15 07:34:00 +0000 |
commit | 71150804d1ac8ed2f7b9c6d3025fd415c58b129e (patch) | |
tree | aab8c892a813847614070f73e711178cd3c9ec74 /libc/sysdeps/linux/h8300/bits/setjmp.h | |
parent | 255fbb6abcef56c5f8c36383d49a902686f258f5 (diff) |
h8300 updates from Yoshinori Sato
Diffstat (limited to 'libc/sysdeps/linux/h8300/bits/setjmp.h')
-rw-r--r-- | libc/sysdeps/linux/h8300/bits/setjmp.h | 42 |
1 files changed, 13 insertions, 29 deletions
diff --git a/libc/sysdeps/linux/h8300/bits/setjmp.h b/libc/sysdeps/linux/h8300/bits/setjmp.h index 78f9c83fb..024861440 100644 --- a/libc/sysdeps/linux/h8300/bits/setjmp.h +++ b/libc/sysdeps/linux/h8300/bits/setjmp.h @@ -1,43 +1,27 @@ -/* Copyright (C) 1997, 1998 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 - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - 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, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* Define the machine-dependent type `jmp_buf'. H8/300H version. */ +/* Copyright (C) 2004, Yoshinori Sato <ysato@users.sourceforge.jp> */ +/* Define the machine-dependent type `jmp_buf'. H8/300 version. */ #ifndef _SETJMP_H # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." #endif -#include <signal.h> +#ifndef _ASM typedef struct { - /* er1-er5 */ - long int __regs[5]; - - /* er6 */ - int *__fp; - /* sp */ - int *__sp; - /* pc */ - void *__pc; + unsigned long __regs[4]; /* save er4 - er7(sp) */ + unsigned long __pc; /* the return address */ } __jmp_buf[1]; +#endif /* _ASM */ + +#define JB_REGS 0 +#define JB_PC 16 +#define JB_SIZE 20 + + /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ #define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((void *) (address) < (void *) (jmpbuf)->__sp) + ((void *) (address) < (void *) (jmpbuf)->__regs[3]) |