gcc/libgo/runtime
Ian Lance Taylor e73d9fcafb runtime: portable access to sigev_notify_thread_id
Previously, libgo relied on the _sigev_un implementation-specific
field in struct sigevent, which is only available on glibc.
This patch uses the sigev_notify_thread_id macro instead which is
mandated by timer_create(2). In theory, this should work with any libc
implementation for Linux. Unfortunately, there is an open glibc bug
as glibc does not define this macro. For this reason, a glibc-specific
workaround is required. Other libcs (such as musl) define the macro
and don't require the workaround.

See https://sourceware.org/bugzilla/show_bug.cgi?id=27417

This makes libgo compatible with musl libc.

Based on patch by Sören Tempel.

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/434755
2022-09-27 09:30:23 -07:00
..
aeshash.c
arch.h
array.h
defs.h
env_posix.c
go-assert.c
go-assert.h
go-caller.c
go-callers.c runtime: ignore __morestack function in runtime.Callers 2022-09-06 18:39:50 -07:00
go-cgo.c
go-construct-map.c
go-context.S
go-ffi.c
go-fieldtrack.c
go-libmain.c
go-main.c
go-matherr.c
go-memclr.c
go-memequal.c
go-memmove.c
go-nanotime.c
go-nosys.c
go-now.c
go-reflect-call.c
go-setenv.c
go-signal.c runtime: portable access to sigev_notify_thread_id 2022-09-27 09:30:23 -07:00
go-string.h
go-unsafe-pointer.c
go-unsetenv.c
go-unwind.c
go-varargs.c
panic.c
print.c
proc.c
rtems-task-variable-add.c
runtime.h
runtime_c.c
stack.c runtime: use C cast syntax in stack.c 2021-08-13 10:38:36 -07:00
yield.c