Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Feb 2016 11:21:57 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 207359] projects/clang380-import for TARGET_ARCH=powerpc64 via powerpc64-gcc : c++ exceptions unbounded loop in _Unwind_RaiseException (9 line program)
Message-ID:  <bug-207359-8-TTGccTKF3E@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-207359-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-207359-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=207359

--- Comment #6 from Mark Millard <markmi@dsl-only.net> ---
(In reply to Mark Millard from comment #5)

The uw_update_context_1 material would have been clearler if I'd listed another
line from the source code. So I do below.

fs->cfa_offset is not part of regs but is later used by uw_update_context_1
for:

  /* Compute this frame's CFA.  */
  switch (fs->cfa_how)
    {
    case CFA_REG_OFFSET:
      cfa = _Unwind_GetPtr (&orig_context, fs->cfa_reg);
      cfa += fs->cfa_offset;
      break;
. . .
  context->cfa = cfa;

That last explains how the fs->cfa_offset is supposed to end up involved in
later activity. (fs is local to each loop iteration; context's lifetime spans
across iterations.)


Also: I see that in at least one place I typed "12" instead of "128". Be
warned.

-- 
You are receiving this mail because:
You are the assignee for the bug.


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-207359-8-TTGccTKF3E>