mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
e3726b056b
Thu Aug 31 13:23:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> * sysdeps/unix/i386/brk.S [PIC]: Set __curbrk through the GOT. Rewrote i386 setjmp code in assembly, so as to avoid fighting with the compiler for the register values. * sysdeps/i386/setjmp.S, sysdeps/i386/__longjmp.S: New files. * sysdeps/i386/setjmp.c, sysdeps/i386/__longjmp.c: Files removed. * sysdeps/i386/jmp_buf.h [! _ASM] (__jmp_buf): Define as array of ints. [__USE_MISC || _ASM] (JB_*): New macros, for indices therein. (_JMPBUF_UNWINDS): Use JB_SP.
20 lines
447 B
C
20 lines
447 B
C
/* Define the machine-dependent type `jmp_buf'. Intel 386 version. */
|
|
|
|
#if defined (__USE_MISC) || defined (_ASM)
|
|
#define JB_BX 0
|
|
#define JB_SI 1
|
|
#define JB_DI 2
|
|
#define JB_BP 3
|
|
#define JB_SP 4
|
|
#define JB_PC 5
|
|
#endif
|
|
|
|
#ifndef _ASM
|
|
typedef int __jmp_buf[6];
|
|
#endif
|
|
|
|
/* Test if longjmp to JMPBUF would unwind the frame
|
|
containing a local variable at ADDRESS. */
|
|
#define _JMPBUF_UNWINDS(jmpbuf, address) \
|
|
((int) (address) < (jmpbuf)[JB_SP])
|