ruby/coroutine
Jeremy Evans a60831f9b6 Use ENDBR instruction in amd64 coroutine on OpenBSD
When running on newer Intel processors supporting the feature,
OpenBSD enforces indirect branch tracking.  Without this endbr64
instruction, jumps to the coroutine_transfer function result
in SIGILL on OpenBSD/amd64 when using such processors.

The OpenBSD Ruby ports have been using a patch similar to this
for the past two months.

From some research, cet.h has been supported by GCC for about
6 years and LLVM for about 4 years.
2024-06-13 07:28:59 -07:00
..
amd64 Use ENDBR instruction in amd64 coroutine on OpenBSD 2024-06-13 07:28:59 -07:00
arm32 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
arm64 Extract hardening CFLAGS to a special $hardenflags variable 2024-06-11 20:48:55 +10:00
asyncify wasm: align fiber stack pointer to 16 bytes 2024-01-29 23:45:36 +09:00
emscripten Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
loongarch64 Add support for LoongArch (#7343) 2023-02-22 13:11:33 +09:00
ppc Do not use non-ASCII chars in sources 2023-11-05 02:14:26 +09:00
ppc64 Do not use non-ASCII chars in sources 2023-11-05 02:14:26 +09:00
ppc64le Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
pthread Ignore dead threads in `coroutine_join`. 2021-07-02 12:36:14 +12:00
riscv64 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
ucontext Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
universal Ruby31: add support for Darwin ppc/ppc64 (#5927) 2022-05-22 15:02:03 +12:00
win32 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00
win64 Win32: Use prototype 2024-02-11 20:55:26 +09:00
x86 Replace copy coroutine with pthread implementation. 2021-07-01 11:23:03 +12:00