diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-12-19 01:37:13 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-12-19 01:37:13 +0000 |
commit | 675620f74c6fd1233ab57c19a3b1c6279e782c09 (patch) | |
tree | 7e2b24adbcf086227800b7d6164cf0b15645647f /nptl/sysdeps/unix | |
parent | 3434f152228af9fa619de254559815363f86868a (diff) | |
download | glibc-675620f74c6fd1233ab57c19a3b1c6279e782c09.tar.gz glibc-675620f74c6fd1233ab57c19a3b1c6279e782c09.tar.xz glibc-675620f74c6fd1233ab57c19a3b1c6279e782c09.zip |
Update.
2003-12-18 Ulrich Drepper <drepper@redhat.com> * tst-eintr1.c: Better error messages. * Makefile (tests): Add tst-eintr2. * tst-eintr2.c: New file. 2003-12-18 Jakub Jelinek <jakub@redhat.com> * Makefile (tests): Add tst-cancel21 and tst-cancelx21. (CFLAGS-tst-cancelx21.c): Set. * tst-cancel21.c: New test. * tst-cancelx21.c: New test. * unwind.c (FRAME_LEFT): Add adj argument. Subtract it from each comparison operand. (unwind_stop): Use _JMPBUF_CFA_UNWINDS_ADJ macro instead of _JMPBUF_CFA_UNWINDS. Adjust FRAME_LEFT invocations. * pt-longjmp.c: Include jmpbuf-unwind.h. (__pthread_cleanup_upto): Use _JMPBUF_UNWINDS_ADJ macro instead of _JMPBUF_UNWINDS. Adjust compared pointers. * init.c (__pthread_initialize_minimal_internal): Initialize pd->stackblock_size. * sysdeps/pthread/jmpbuf-unwind.h: Removed. * sysdeps/alpha/jmpbuf-unwind.h: New file. * sysdeps/i386/jmpbuf-unwind.h: New file. * sysdeps/powerpc/jmpbuf-unwind.h: New file. * sysdeps/s390/jmpbuf-unwind.h: New file. * sysdeps/sh/jmpbuf-unwind.h: New file. * sysdeps/sparc/sparc32/jmpbuf-unwind.h: New file. * sysdeps/x86_64/jmpbuf-unwind.h: New file. * sysdeps/ia64/jmpbuf-unwind.h: Include stdint.h. (_JMPBUF_CFA_UNWINDS): Remove. (_JMPBUF_CFA_UNWINDS_ADJ, _JMPBUF_UNWINDS_ADJ): Define. 2003-12-12 Jakub Jelinek <jakub@redhat.com> * Makefile (tests): Add tst-cancel20 and tst-cancelx20. (CFLAGS-tst-cancelx20.c): Set. * tst-cancel20.c: New test. * tst-cancelx20.c: New test.
Diffstat (limited to 'nptl/sysdeps/unix')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h b/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h index 4a526b0f72..90b5764e81 100644 --- a/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h +++ b/nptl/sysdeps/unix/sysv/linux/ia64/jmpbuf-unwind.h @@ -18,12 +18,16 @@ 02111-1307 USA. */ #include <setjmp.h> +#include <stdint.h> #include <unwind.h> -#define _JMPBUF_CFA_UNWINDS(_jmpbuf, _context) \ - ({ void *_cfa = (void *) _Unwind_GetCFA (_context); \ - (_cfa < (void *)(((long *)(_jmpbuf))[0]) \ - || (_cfa == (void *)(((long *)(_jmpbuf))[0]) \ - && (void *) _Unwind_GetBSP (_context) \ - >= (void *)(((long *)(_jmpbuf))[17]))); \ +#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \ + ({ uintptr_t _cfa = (uintptr_t) _Unwind_GetCFA (_context) - (_adj); \ + (_cfa < (uintptr_t)(((long *)(_jmpbuf))[0]) - (_adj) \ + || (_cfa == (uintptr_t)(((long *)(_jmpbuf))[0]) - (_adj) \ + && (uintptr_t) _Unwind_GetBSP (_context) - (_adj) \ + >= (uintptr_t)(((long *)(_jmpbuf))[17]) - (_adj))); \ }) + +#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \ + ((uintptr_t)(_address) - (_adj) < (uintptr_t)(((long *)_jmpbuf)[0]) - (_adj)) |