2004-10-06  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/s390/jmpbuf-unwind.h: Include bits/wordsize.h.
	(JMPBUF_CFA_UNWINDS_ADJ): Subtract 96 resp. 160 bytes from CFA.
This commit is contained in:
Ulrich Drepper 2004-10-06 17:40:56 +00:00
parent 67060ef581
commit 6bdd38ba71
2 changed files with 14 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2004-10-06 Jakub Jelinek <jakub@redhat.com>
* sysdeps/s390/jmpbuf-unwind.h: Include bits/wordsize.h.
(JMPBUF_CFA_UNWINDS_ADJ): Subtract 96 resp. 160 bytes from CFA.
2004-10-05 Ulrich Drepper <drepper@redhat.com>
* elf/rtld.c (dl_main): Use _dl_debug_printf instead of _dl_printf

View File

@ -20,13 +20,18 @@
#include <setjmp.h>
#include <stdint.h>
#include <unwind.h>
#include <bits/wordsize.h>
/* On s390{,x}, CFA is always 96 (resp. 160) bytes above actual
%r15. */
#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
_JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
_JMPBUF_UNWINDS_ADJ (_jmpbuf, \
(void *) (_Unwind_GetCFA (_context) \
- 32 - 2 * __WORDSIZE), _adj)
#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
((uintptr_t) (_address) - (_adj) \
#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
((uintptr_t) (_address) - (_adj) \
< (uintptr_t) (_jmpbuf)->__gregs[__JB_GPR15] - (_adj))
/* We use the normal lobngjmp for unwinding. */
/* We use the normal longjmp for unwinding. */
#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)