From 9a55fb17a5881b75f9e5eccae87456ca6c8e8b06 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 10 Jan 2006 08:49:29 +0000 Subject: [PATCH] 2006-01-10 Roland McGrath * sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/powerpc/jmpbuf-unwind.h: ... here. * sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/alpha/jmpbuf-unwind.h: ... here. * sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/sparc/sparc32/jmpbuf-unwind.h: ... here. * sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/i386/jmpbuf-unwind.h: ... here. * sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/x86_64/jmpbuf-unwind.h: ... here. * sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/sh/jmpbuf-unwind.h: ... here. * sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/hppa/jmpbuf-unwind.h: ... here, new file. * sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/mips/jmpbuf-unwind.h: ... here. * sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/m68k/jmpbuf-unwind.h: ... here, new file. * sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/s390/jmpbuf-unwind.h: ... here. * sysdeps/unix/sysv/linux/ia64/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/ia64/jmpbuf-unwind.h: ... here. * sysdeps/unix/sysv/linux/sparc/bits/setjmp.h (_JMPBUF_UNWINDS): Move macro ... * sysdeps/sparc/sparc64/jmpbuf-unwind.h: ... here. --- sysdeps/alpha/bits/setjmp.h | 7 +----- sysdeps/hppa/bits/setjmp.h | 8 +------ sysdeps/hppa/{bits/setjmp.h => jmpbuf-unwind.h} | 26 +++------------------ sysdeps/m68k/bits/setjmp.h | 7 +----- sysdeps/m68k/{bits/setjmp.h => jmpbuf-unwind.h} | 31 +++---------------------- sysdeps/mips/bits/setjmp.h | 8 +------ 6 files changed, 10 insertions(+), 77 deletions(-) copy sysdeps/hppa/{bits/setjmp.h => jmpbuf-unwind.h} (59%) copy sysdeps/m68k/{bits/setjmp.h => jmpbuf-unwind.h} (56%) diff --git a/sysdeps/alpha/bits/setjmp.h b/sysdeps/alpha/bits/setjmp.h index 71b7738c..7db0dbf5 100644 --- a/sysdeps/alpha/bits/setjmp.h +++ b/sysdeps/alpha/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. Alpha version. - Copyright (C) 1992, 1997, 2003, 2005 Free Software Foundation, Inc. + Copyright (C) 1992,1997,2003,2005,2006 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 @@ -77,11 +77,6 @@ #ifndef __ASSEMBLY__ typedef long int __jmp_buf[17]; - -/* Test if longjmp to JMPBUF would unwind the frame containing a local - variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(_jmpbuf, _address, _demangle) \ - ((void *)(_address) < (void *) _demangle ((_jmpbuf)[JB_SP])) #endif #endif /* bits/setjmp.h */ diff --git a/sysdeps/hppa/bits/setjmp.h b/sysdeps/hppa/bits/setjmp.h index 07ea01eb..4c8ed07b 100644 --- a/sysdeps/hppa/bits/setjmp.h +++ b/sysdeps/hppa/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2005, 2006 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 @@ -37,10 +37,4 @@ typedef double __jmp_buf[21]; #endif -/* Test if longjmp to JMPBUF would unwind the frame containing a local - variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(_jmpbuf, _address, _demangle) \ - ((void *) (_address) > \ - (void *) _demangle ((((unsigned long *) _jmpbuf)[JB_SP]))) - #endif /* bits/setjmp.h */ diff --git a/sysdeps/hppa/bits/setjmp.h b/sysdeps/hppa/jmpbuf-unwind.h similarity index 59% copy from sysdeps/hppa/bits/setjmp.h copy to sysdeps/hppa/jmpbuf-unwind.h index 07ea01eb..15cae661 100644 --- a/sysdeps/hppa/bits/setjmp.h +++ b/sysdeps/hppa/jmpbuf-unwind.h @@ -1,4 +1,5 @@ -/* Copyright (C) 2000, 2005 Free Software Foundation, Inc. +/* Examine __jmp_buf for unwinding frames. HPPA version. + Copyright (C) 2006 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 @@ -16,31 +17,10 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -/* Define the machine-dependent type `jmp_buf'. HPPA version. */ -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include directly; use instead." -#endif - -/* The previous bits/setjmp.h had __jmp_buf defined as a structure. - We use an array of 'double' instead, to make writing the assembler - easier, and to ensure proper alignment. Naturally, user code should - not depend on either representation. */ - -#if defined __USE_MISC || defined _ASM -#define JB_SP (76/4) -#endif - -#ifndef _ASM -typedef double __jmp_buf[21]; -#endif +#include /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ #define _JMPBUF_UNWINDS(_jmpbuf, _address, _demangle) \ ((void *) (_address) > \ (void *) _demangle ((((unsigned long *) _jmpbuf)[JB_SP]))) - -#endif /* bits/setjmp.h */ diff --git a/sysdeps/m68k/bits/setjmp.h b/sysdeps/m68k/bits/setjmp.h index 612582af..2d5a0822 100644 --- a/sysdeps/m68k/bits/setjmp.h +++ b/sysdeps/m68k/bits/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 2005 Free Software Foundation, Inc. +/* Copyright (C) 1997,1998,2005,2006 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 @@ -42,9 +42,4 @@ typedef struct } __jmp_buf[1]; -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle ((jmpbuf)->__sp)) - #endif /* bits/setjmp.h */ diff --git a/sysdeps/m68k/bits/setjmp.h b/sysdeps/m68k/jmpbuf-unwind.h similarity index 56% copy from sysdeps/m68k/bits/setjmp.h copy to sysdeps/m68k/jmpbuf-unwind.h index 612582af..3490c79b 100644 --- a/sysdeps/m68k/bits/setjmp.h +++ b/sysdeps/m68k/jmpbuf-unwind.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1997, 1998, 2005 Free Software Foundation, Inc. +/* Examine __jmp_buf for unwinding frames. m68k version. + Copyright (C) 2006 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 @@ -16,35 +17,9 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -/* Define the machine-dependent type `jmp_buf'. m68k version. */ -#ifndef _BITS_SETJMP_H -#define _BITS_SETJMP_H 1 - -#if !defined _SETJMP_H && !defined _PTHREAD_H -# error "Never include directly; use instead." -#endif - -typedef struct - { - /* There are eight 4-byte data registers, but D0 is not saved. */ - long int __dregs[7]; - - /* There are six 4-byte address registers, plus the FP and SP. */ - int *__aregs[6]; - int *__fp; - int *__sp; - -#if defined __HAVE_68881__ || defined __HAVE_FPU__ - /* There are eight floating point registers which - are saved in IEEE 96-bit extended format. */ - char __fpregs[8 * (96 / 8)]; -#endif - - } __jmp_buf[1]; +#include /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ #define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ ((void *) (address) < (void *) demangle ((jmpbuf)->__sp)) - -#endif /* bits/setjmp.h */ diff --git a/sysdeps/mips/bits/setjmp.h b/sysdeps/mips/bits/setjmp.h index 5f7c82b8..7b946233 100644 --- a/sysdeps/mips/bits/setjmp.h +++ b/sysdeps/mips/bits/setjmp.h @@ -1,5 +1,5 @@ /* Define the machine-dependent type `jmp_buf'. MIPS version. - Copyright (C) 1992, 1993, 1995, 1997, 2000, 2002, 2003, 2004, 2005 + Copyright (C) 1992,1993,1995,1997,2000,2002,2003,2004,2005,2006 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -77,10 +77,4 @@ typedef struct # define JB_PC 0 #endif - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle ((jmpbuf)[0].__sp)) - #endif /* _MIPS_BITS_SETJMP_H */ -- 2.11.4.GIT