diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-12-22 20:10:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-12-22 20:10:10 +0000 |
commit | a334319f6530564d22e775935d9c91663623a1b4 (patch) | |
tree | b5877475619e4c938e98757d518bb1e9cbead751 /hurd/sigunwind.c | |
parent | 0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff) | |
download | glibc-a334319f6530564d22e775935d9c91663623a1b4.tar glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz glibc-a334319f6530564d22e775935d9c91663623a1b4.tar.bz2 glibc-a334319f6530564d22e775935d9c91663623a1b4.zip |
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'hurd/sigunwind.c')
-rw-r--r-- | hurd/sigunwind.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/hurd/sigunwind.c b/hurd/sigunwind.c index 31dbe2a10e..450a385a2a 100644 --- a/hurd/sigunwind.c +++ b/hurd/sigunwind.c @@ -1,5 +1,5 @@ /* longjmp cleanup function for unwinding past signal handlers. - Copyright (C) 1995,1996,1997,1998,2005,2006 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998 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 @@ -18,10 +18,9 @@ 02111-1307 USA. */ #include <hurd.h> -#include <thread_state.h> -#include <jmpbuf-unwind.h> +#include "thread_state.h" +#include <setjmp.h> #include <assert.h> -#include <stdint.h> /* _hurd_setup_sighandler puts a link on the `active resources' chain so that @@ -71,19 +70,11 @@ _hurdsig_longjmp_from_handler (void *data, jmp_buf env, int val) struct hurd_userlink *link; - inline uintptr_t demangle_ptr (uintptr_t x) - { -# ifdef PTR_DEMANGLE - PTR_DEMANGLE (x); -# endif - return x; - } - /* Continue _longjmp_unwind's job of running the unwind forms for frames being unwound, since we will not return to its loop like this one, which called us. */ for (link = ss->active_resources; - link && _JMPBUF_UNWINDS (env[0].__jmpbuf, link, demangle_ptr); + link && _JMPBUF_UNWINDS (env[0].__jmpbuf, link); link = link->thread.next) if (_hurd_userlink_unlink (link)) { @@ -120,7 +111,7 @@ _hurdsig_longjmp_from_handler (void *data, jmp_buf env, int val) link = (void *) &scp[1]; assert (! link->resource.next && ! link->resource.prevp); assert (link->thread.next == ss->active_resources); - assert (link->thread.prevp == &ss->active_resources); + assert (link->thread.prevp = &ss->active_resources); if (link->thread.next) link->thread.next->thread.prevp = &link->thread.next; ss->active_resources = link; |