[all-commits] [llvm/llvm-project] 708cb9: [sanitizer_common] Don't use syscall(SYS_clone) on...
Rainer Orth via All-commits
all-commits at lists.llvm.org
Sat Aug 10 02:49:47 PDT 2024
Branch: refs/heads/release/19.x
Home: https://github.com/llvm/llvm-project
Commit: 708cb9cd3a4b7ca182e35a5b3c17f10f18215084
https://github.com/llvm/llvm-project/commit/708cb9cd3a4b7ca182e35a5b3c17f10f18215084
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2024-08-10 (Sat, 10 Aug 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
Log Message:
-----------
[sanitizer_common] Don't use syscall(SYS_clone) on Linux/sparc64 (#100534)
```
SanitizerCommon-Unit :: ./Sanitizer-sparc-Test/SanitizerCommon/StartSubprocessTest
```
and every single test using the `llvm-symbolizer` `FAIL` on
Linux/sparc64 in a very weird way: when using `StartSubprocess`, there's
a call to `internal_fork`, but we never reach `internal_execve`.
`internal_fork` is implemented using `syscall(SYS_clone)`. The calling
convention of that syscall already varies considerably between targets,
but as documented in `clone(2)`, SPARC again is widely different.
Instead of trying to match `glibc` here, this patch just calls `__fork`.
Tested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.
(cherry picked from commit 1c53b907bd6348138a59da270836fc9b4c161a07)
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list