public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "jakub at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug other/26208] Serious problem with unwinding through signal frames
Date: Tue, 28 Feb 2006 22:33:00 -0000	[thread overview]
Message-ID: <20060228222044.23654.qmail@sourceware.org> (raw)
In-Reply-To: <bug-26208-87@http.gcc.gnu.org/bugzilla/>



------- Comment #29 from jakub at gcc dot gnu dot org  2006-02-28 22:20 -------
Subject: Bug 26208

Author: jakub
Date: Tue Feb 28 22:20:34 2006
New Revision: 111581

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111581
Log:
        PR other/26208
        * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field.
        (extract_cie_info): Handle S flag in augmentation string.
        (execute_cfa_program): If context->signal_frame, execute also
        fs->pc == context->ra instructions.
        (uw_frame_state_for): If context->signal_frame, don't subtract one
        from context->ra to find FDE.
        (uw_update_context_1): Set context->signal_frame to
        fs->signal_frame.
        (_Unwind_GetIPInfo): New function.
        * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field.
        * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
        of _Unwind_GetIP.
        * unwind-sjlj.c (_Unwind_GetIPInfo): New function.
        * unwind-generic.h (_Unwind_GetIPInfo): New prototype.
        * unwind-compat.c (_Unwind_GetIPInfo): New function.
        * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0.
        * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function.
        * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define.
        * config/i386/linux-unwind.h (x86_fallback_frame_state,
        x86_64_fallback_frame_state): Set fs->signal_frame.
        * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
        (MD_FROB_UPDATE_CONTEXT): Define unconditionally.
        (frob_update_context): Likewise.  Workaround missing S flag in
        Linux 2.6.12 - 2.6.16 kernel vDSOs.
        * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
        Remove the psw_addr + 1 hack.
libjava/
        * exception.cc (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead
        of _Unwind_GetIP.
        * include/i386-signal.h (MAKE_THROW_FRAME): Change into empty macro.
        (HANDLE_DIVIDE_OVERFLOW): Don't adjust _res->eip if falling through
        to throw.
        * include/x86_64-signal.h (MAKE_THROW_FRAME): Change into empty
        macro.
        * include/powerpc-signal.h (MAKE_THROW_FRAME): Change into empty
        macro.
libstdc++-v3/
        * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
        _Unwind_GetIPInfo instead of _Unwind_GetIP.

Modified:
    branches/redhat/gcc-4_1-branch/gcc/ChangeLog
    branches/redhat/gcc-4_1-branch/gcc/config/arm/unwind-arm.h
    branches/redhat/gcc-4_1-branch/gcc/config/i386/linux-unwind.h
    branches/redhat/gcc-4_1-branch/gcc/config/ia64/unwind-ia64.c
    branches/redhat/gcc-4_1-branch/gcc/config/rs6000/linux-unwind.h
    branches/redhat/gcc-4_1-branch/gcc/config/s390/linux-unwind.h
    branches/redhat/gcc-4_1-branch/gcc/libgcc-std.ver
    branches/redhat/gcc-4_1-branch/gcc/unwind-c.c
    branches/redhat/gcc-4_1-branch/gcc/unwind-compat.c
    branches/redhat/gcc-4_1-branch/gcc/unwind-dw2.c
    branches/redhat/gcc-4_1-branch/gcc/unwind-dw2.h
    branches/redhat/gcc-4_1-branch/gcc/unwind-generic.h
    branches/redhat/gcc-4_1-branch/gcc/unwind-sjlj.c
    branches/redhat/gcc-4_1-branch/libjava/ChangeLog
    branches/redhat/gcc-4_1-branch/libjava/exception.cc
    branches/redhat/gcc-4_1-branch/libjava/include/i386-signal.h
    branches/redhat/gcc-4_1-branch/libjava/include/powerpc-signal.h
    branches/redhat/gcc-4_1-branch/libjava/include/x86_64-signal.h
    branches/redhat/gcc-4_1-branch/libstdc++-v3/ChangeLog
    branches/redhat/gcc-4_1-branch/libstdc++-v3/libsupc++/eh_personality.cc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26208


  parent reply	other threads:[~2006-02-28 22:20 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-10  8:22 [Bug other/26208] New: " jakub at gcc dot gnu dot org
2006-02-10  8:23 ` [Bug other/26208] " jakub at gcc dot gnu dot org
2006-02-10  8:23 ` jakub at gcc dot gnu dot org
2006-02-10  8:24 ` jakub at gcc dot gnu dot org
2006-02-10 20:00 ` uweigand at gcc dot gnu dot org
2006-02-10 20:18 ` jakub at gcc dot gnu dot org
2006-02-10 20:34 ` uweigand at gcc dot gnu dot org
2006-02-21 12:02 ` jakub at gcc dot gnu dot org
2006-02-21 12:02 ` jakub at gcc dot gnu dot org
2006-02-21 13:12 ` jakub at gcc dot gnu dot org
2006-02-21 17:52 ` jakub at gcc dot gnu dot org
2006-02-21 18:47 ` rth at gcc dot gnu dot org
2006-02-21 22:09 ` jakub at gcc dot gnu dot org
2006-02-21 23:09 ` rth at gcc dot gnu dot org
2006-02-21 23:15 ` jakub at gcc dot gnu dot org
2006-02-21 23:25 ` rth at gcc dot gnu dot org
2006-02-22  1:13 ` amodra at bigpond dot net dot au
2006-02-22  5:12 ` amodra at bigpond dot net dot au
2006-02-22  8:11 ` jakub at gcc dot gnu dot org
2006-02-22  9:57 ` uweigand at gcc dot gnu dot org
2006-02-22 10:25 ` jakub at gcc dot gnu dot org
2006-02-23  0:41 ` amodra at bigpond dot net dot au
2006-02-23  1:01 ` rth at gcc dot gnu dot org
2006-02-23  1:08 ` amodra at bigpond dot net dot au
2006-02-24 19:46 ` jakub at gcc dot gnu dot org
2006-02-24 19:56 ` jakub at gcc dot gnu dot org
2006-02-24 19:56 ` jakub at gcc dot gnu dot org
2006-02-25  1:21 ` rth at gcc dot gnu dot org
2006-02-26 22:30 ` jakub at gcc dot gnu dot org
2006-02-27 17:32 ` jakub at gcc dot gnu dot org
2006-02-28 22:33 ` jakub at gcc dot gnu dot org [this message]
2006-04-06 13:30 ` jakub at gcc dot gnu dot org
2006-09-05 14:32 ` pluto at agmk dot net
2008-07-07  8:34 ` ebotcazou at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060228222044.23654.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).