From acc7443a4feb0aa098f12207f2da44c21d382e66 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 26 Jul 2016 21:32:47 +0200 Subject: deduplicate jmpbuf-unwind.h Reviewed-by: Max Filippov --- libc/sysdeps/linux/alpha/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/arc/jmpbuf-unwind.h | 6 ------ libc/sysdeps/linux/arm/jmpbuf-unwind.h | 7 +------ libc/sysdeps/linux/avr32/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/bfin/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/c6x/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/cris/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/hppa/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/ia64/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/m68k/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/metag/bits/setjmp.h | 10 ---------- libc/sysdeps/linux/metag/jmpbuf-offsets.h | 7 +++++++ libc/sysdeps/linux/metag/jmpbuf-unwind.h | 8 +++++--- libc/sysdeps/linux/microblaze/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/mips/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/nios2/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/powerpc/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/sh/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/sparc/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/x86_64/jmpbuf-unwind.h | 1 + libc/sysdeps/linux/xtensa/jmpbuf-unwind.h | 1 + 21 files changed, 29 insertions(+), 25 deletions(-) create mode 100644 libc/sysdeps/linux/metag/jmpbuf-offsets.h (limited to 'libc') diff --git a/libc/sysdeps/linux/alpha/jmpbuf-unwind.h b/libc/sysdeps/linux/alpha/jmpbuf-unwind.h index 80fe8b37d..b14837e1a 100644 --- a/libc/sysdeps/linux/alpha/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/alpha/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include diff --git a/libc/sysdeps/linux/arc/jmpbuf-unwind.h b/libc/sysdeps/linux/arc/jmpbuf-unwind.h index 8c41816c5..d16506a46 100644 --- a/libc/sysdeps/linux/arc/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/arc/jmpbuf-unwind.h @@ -16,12 +16,6 @@ #include #include -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#undef _JMPBUF_UNWINDS -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle (jmpbuf[__JMP_BUF_SP])) - #define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \ _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj) diff --git a/libc/sysdeps/linux/arm/jmpbuf-unwind.h b/libc/sysdeps/linux/arm/jmpbuf-unwind.h index d7b49e224..44f9a1b71 100644 --- a/libc/sysdeps/linux/arm/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/arm/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include @@ -15,12 +16,6 @@ #include #include -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#undef _JMPBUF_UNWINDS -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle (jmpbuf[__JMP_BUF_SP])) - #define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \ _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj) diff --git a/libc/sysdeps/linux/avr32/jmpbuf-unwind.h b/libc/sysdeps/linux/avr32/jmpbuf-unwind.h index 5caa2ee44..f19f491ba 100644 --- a/libc/sysdeps/linux/avr32/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/avr32/jmpbuf-unwind.h @@ -5,6 +5,7 @@ * Public License. See the file "COPYING.LIB" in the main directory of this * archive for more details. */ + #include #include diff --git a/libc/sysdeps/linux/bfin/jmpbuf-unwind.h b/libc/sysdeps/linux/bfin/jmpbuf-unwind.h index bb7a374fd..26b56db5c 100644 --- a/libc/sysdeps/linux/bfin/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/bfin/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include /* Test if longjmp to JMPBUF would unwind the frame diff --git a/libc/sysdeps/linux/c6x/jmpbuf-unwind.h b/libc/sysdeps/linux/c6x/jmpbuf-unwind.h index ad2ab5979..58eb18ae7 100644 --- a/libc/sysdeps/linux/c6x/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/c6x/jmpbuf-unwind.h @@ -17,6 +17,7 @@ * along with this program; see the file COPYING.LIB. If not, see * . */ + #include #include diff --git a/libc/sysdeps/linux/cris/jmpbuf-unwind.h b/libc/sysdeps/linux/cris/jmpbuf-unwind.h index 8b75dce5c..b5950ad1f 100644 --- a/libc/sysdeps/linux/cris/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/cris/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include diff --git a/libc/sysdeps/linux/hppa/jmpbuf-unwind.h b/libc/sysdeps/linux/hppa/jmpbuf-unwind.h index 0590754f8..efed134cd 100644 --- a/libc/sysdeps/linux/hppa/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/hppa/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include diff --git a/libc/sysdeps/linux/ia64/jmpbuf-unwind.h b/libc/sysdeps/linux/ia64/jmpbuf-unwind.h index 91e2df8e7..4eb0eeae6 100644 --- a/libc/sysdeps/linux/ia64/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/ia64/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include /* Test if longjmp to JMPBUF would unwind the frame containing a local diff --git a/libc/sysdeps/linux/m68k/jmpbuf-unwind.h b/libc/sysdeps/linux/m68k/jmpbuf-unwind.h index d87ace333..c5a8886e2 100644 --- a/libc/sysdeps/linux/m68k/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/m68k/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include /* Test if longjmp to JMPBUF would unwind the frame diff --git a/libc/sysdeps/linux/metag/bits/setjmp.h b/libc/sysdeps/linux/metag/bits/setjmp.h index 8ad4b12d2..d80a355b0 100644 --- a/libc/sysdeps/linux/metag/bits/setjmp.h +++ b/libc/sysdeps/linux/metag/bits/setjmp.h @@ -28,17 +28,7 @@ */ #define _JBLEN 24 -#if defined (__USE_MISC) || defined (_ASM) -#define JB_SP 0 -#endif -#ifndef _ASM typedef int __jmp_buf[_JBLEN] __attribute__((aligned (8))); -#endif - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((void *) (address) > (void *) (jmpbuf)[JB_SP]) #endif /* bits/setjmp.h */ diff --git a/libc/sysdeps/linux/metag/jmpbuf-offsets.h b/libc/sysdeps/linux/metag/jmpbuf-offsets.h new file mode 100644 index 000000000..e4faf4206 --- /dev/null +++ b/libc/sysdeps/linux/metag/jmpbuf-offsets.h @@ -0,0 +1,7 @@ +/* + * Copyright (C) 2013, Imagination Technologies Ltd. + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#define JB_SP 0 diff --git a/libc/sysdeps/linux/metag/jmpbuf-unwind.h b/libc/sysdeps/linux/metag/jmpbuf-unwind.h index 175cd7ab0..bf791413b 100644 --- a/libc/sysdeps/linux/metag/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/metag/jmpbuf-unwind.h @@ -1,14 +1,16 @@ /* + * Copyright (C) 2013, Imagination Technologies Ltd. + * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ #include +#include /* Test if longjmp to JMPBUF would unwind the frame containing a local variable at ADDRESS. */ -#undef _JMPBUF_UNWINDS -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) > (void *) demangle (jmpbuf[JB_SP])) +#define _JMPBUF_UNWINDS(jmpbuf, address) \ + ((void *) (address) > (void *) jmpbuf[JB_SP]) #ifdef __UCLIBC_HAS_THREADS_NATIVE__ #include diff --git a/libc/sysdeps/linux/microblaze/jmpbuf-unwind.h b/libc/sysdeps/linux/microblaze/jmpbuf-unwind.h index a24cd12f0..2c1c0793c 100644 --- a/libc/sysdeps/linux/microblaze/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/microblaze/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include /* Test if longjmp to JMPBUF would unwind the frame diff --git a/libc/sysdeps/linux/mips/jmpbuf-unwind.h b/libc/sysdeps/linux/mips/jmpbuf-unwind.h index 2c0df95f5..3242eae0c 100644 --- a/libc/sysdeps/linux/mips/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/mips/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include /* Test if longjmp to JMPBUF would unwind the frame diff --git a/libc/sysdeps/linux/nios2/jmpbuf-unwind.h b/libc/sysdeps/linux/nios2/jmpbuf-unwind.h index 64cd55fab..c22ab2409 100644 --- a/libc/sysdeps/linux/nios2/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/nios2/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include /* Test if longjmp to JMPBUF would unwind the frame diff --git a/libc/sysdeps/linux/powerpc/jmpbuf-unwind.h b/libc/sysdeps/linux/powerpc/jmpbuf-unwind.h index 54322b805..d650b3230 100644 --- a/libc/sysdeps/linux/powerpc/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/powerpc/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include diff --git a/libc/sysdeps/linux/sh/jmpbuf-unwind.h b/libc/sysdeps/linux/sh/jmpbuf-unwind.h index 8875cc1c8..34977df6b 100644 --- a/libc/sysdeps/linux/sh/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/sh/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include /* Test if longjmp to JMPBUF would unwind the frame diff --git a/libc/sysdeps/linux/sparc/jmpbuf-unwind.h b/libc/sysdeps/linux/sparc/jmpbuf-unwind.h index 90efb7719..31449d8d4 100644 --- a/libc/sysdeps/linux/sparc/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/sparc/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include diff --git a/libc/sysdeps/linux/x86_64/jmpbuf-unwind.h b/libc/sysdeps/linux/x86_64/jmpbuf-unwind.h index 152587222..b3f39b524 100644 --- a/libc/sysdeps/linux/x86_64/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/x86_64/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include diff --git a/libc/sysdeps/linux/xtensa/jmpbuf-unwind.h b/libc/sysdeps/linux/xtensa/jmpbuf-unwind.h index 4516d9398..13161e915 100644 --- a/libc/sysdeps/linux/xtensa/jmpbuf-unwind.h +++ b/libc/sysdeps/linux/xtensa/jmpbuf-unwind.h @@ -3,6 +3,7 @@ * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ + #include #include -- cgit v1.2.3