[sanitizer] Add the settings of Read and Write flags in SignalContext for LoongArch
authorYouling Tang <tangyouling@loongson.cn>
Thu, 10 Nov 2022 05:34:19 +0000 (13:34 +0800)
committerWeining Lu <luweining@loongson.cn>
Thu, 10 Nov 2022 05:34:22 +0000 (13:34 +0800)
commit14cd113e69935e2de9c4d300c3ab01cf83c5d4db
treeceab3260871e7088c77f2ad0bb55728df75ee1ce
parenteae8d93dc26837c2aa5764b7761e4d475b154081
[sanitizer] Add the settings of Read and Write flags in SignalContext for LoongArch

The bit-30 in this `__flags` means the address error is due to memory load, and the
bit-31 means the address error is due to memory store. (see SC_ADDRERR_RD
and SC_ADDRERR_WR in kernel arch/loongarch/include/uapi/asm/sigcontext.h).

`illegal_write_test.cpp` and `illegal_read_test.cpp` have been tested and passed.

Reviewed By: SixWeining, xen0n, XiaodongLoong

Differential Revision: https://reviews.llvm.org/D137231
compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp