When ASan testing is enabled on SPARC as per PR #107405, the ``` AddressSanitizer-sparc-linux :: TestCases/Linux/ptrace.cpp ``` `FAIL`s on Linux/sparc64. This happens because the `ptrace` interceptor has no support for that target at all. This patch adds the missing parts and accounts for a couple of issues specific to this target: - In some cases, SPARC just needs to be included in the list of supported targets. - Besides, the types used by the `PTRACE_GETREGS` and `PTRACE_GETFPREGS` requests need to be filled in. - `ptrace` has a weird quirk on this target: for a couple of requests, the meaning of the `data` and `addr` args is reversed. All of the `Linux/ptrace.cpp` test and the interceptor, pre-syscall and post-syscall hooks need to account for that swap in their checks. Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.
5.4 KiB
5.4 KiB