This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/18508] S390: backtrace() returns infinitely deep stack frames with makecontext().


https://sourceware.org/bugzilla/show_bug.cgi?id=18508

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  0ac4f1dab3e5778c79994a89111b4eb1d247ab12 (commit)
      from  f30d94a74a30b832354d4b87c23a4909ed24b929 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0ac4f1dab3e5778c79994a89111b4eb1d247ab12

commit 0ac4f1dab3e5778c79994a89111b4eb1d247ab12
Author: Chris Metcalf <cmetcalf@ezchip.com>
Date:   Tue Jul 21 12:04:52 2015 -0400

    tile: Fix BZ #18508 (makecontext yield infinite backtrace)

    It turns out tile suffered from the same problem as S390.  However,
    disabling CFI information for the __startcontext on tile was not
    sufficient to fix the problem; I think the backtracer will just
    blindly try to follow the link register (lr) in that case.

    Instead, the change adds a cfi_undefined directive for "lr"
    and then arranges to call __startcontext directly when the new
    context starts, rather than just synthesizing a return to it.
    In addition to being a bit easier now to understand the control
    flow, this also allows the cfi_undefined directive to be placed in
    a way that causes it to be in force at the address that the "lr"
    from the called function points to.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                  |    7 +++++++
 sysdeps/unix/sysv/linux/tile/makecontext.c |    8 ++++----
 sysdeps/unix/sysv/linux/tile/setcontext.S  |    2 ++
 3 files changed, 13 insertions(+), 4 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]