Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR for llvm/llvm-project#53612 #11

Open
wants to merge 1 commit into
base: release/14.x
Choose a base branch
from
Open

PR for llvm/llvm-project#53612 #11

wants to merge 1 commit into from

Commits on Feb 7, 2022

  1. [libunwind] [sparc] Add SPARCv9 support

    Adds libunwind support for SPARCv9 (aka sparc64). This is a rebase of @kettenis' patch D32450, which I created (with his permission) because the original review has become inactive.
    The changes are of a cosmetic nature to make it fit better with the new code style, and to reuse the existing SPARCv8 code, whenever possible.
    
    Please let me know if I posted this on the wrong place. Also, the summary of the original review is reproduced below:
    
    > This adds unwinder support for 64-bit SPARC (aka SPARCv9). The implementation was done on OpenBSD/sparc64, so it takes StackGhost into account:
    >
    > https://www.usenix.org/legacy/publications/library/proceedings/sec01/full_papers/frantzen/frantzen_html/index.html
    >
    > Since StackGhost xor's return addresses with a random cookie before storing them on the stack, the unwinder has to do some extra work to recover those. This is done by introducing a new kRegisterInCFADecrypt "location" type that is used to implement the DW_CFA_GNU_window_save opcode. That implementation is SPARC-specific, but should work for 32-bit SPARC as well. DW_CFA_GNU_window_save is only ever generated on SPARC as far as I know.
    
    Co-authored-by: Mark Kettenis
    Reviewed By: #libunwind, thesamesam, MaskRay, Arfrever
    
    Differential Revision: https://reviews.llvm.org/D116857
    
    (cherry picked from commit 2b9554b)
    koachan authored and llvmbot committed Feb 7, 2022
    Configuration menu
    Copy the full SHA
    effdff8 View commit details
    Browse the repository at this point in the history