• Junliang Yan's avatar
    PPC/s390: Reland "[turboassembler] Introduce hard-abort mode" · a27871d5
    Junliang Yan authored
    Port d324382e
    
    and
    
    Port bd3f0a68
    
    Original Commit Message:
    
        This is a reland of a462a785
    
        Original change's description:
        > [turboassembler] Introduce hard-abort mode
        >
        > For checks and assertions (mostly for debug code, like stack alignment
        > or zero extension), we had two modes: Emit a call to the {Abort}
        > runtime function (the default), and emit a debug break (used for
        > testing, enabled via --trap-on-abort).
        > In wasm, where we cannot just call a runtime function because code must
        > be isolate independent, we always used the trap-on-abort behaviour.
        > This causes problems for our fuzzers, which do not catch SIGTRAP, and
        > hence do not detect debug code failures.
        >
        > This CL introduces a third mode ("hard abort"), which calls a C
        > function via {ExternalReference}. The C function still outputs the
        > abort reason, but does not print the stack trace. It then aborts via
        > "OS::Abort", just like the runtime function.
        > This will allow fuzzers to detect the crash and even find a nice error
        > message.
        >
        > Even though this looks like a lot of code churn, it is actually not.
        > Most added lines are new tests, and other changes are minimal.
        >
        > R=mstarzinger@chromium.org
        >
        > Bug: chromium:863799
        > Change-Id: I77c58ff72db552d49014614436259ccfb49ba87b
        > Reviewed-on: https://chromium-review.googlesource.com/1142163
        > Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
        > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
        > Cr-Commit-Position: refs/heads/master@{#54592}
    
    R=clemensh@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=
    LOG=N
    
    Change-Id: I60023470fa07576fd313f628ade06e279d5f4927
    Reviewed-on: https://chromium-review.googlesource.com/1165822
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54980}
    a27871d5
macro-assembler-s390.cc 128 KB