Open
Description
When the arm architecture is compiled with GOARM=5
, the linker rewrites TLS register loads from MRC
with a call to runtime.read_tls_fallback
- on OpenBSD post 6.9, this fails since runtime.read_tls_fallback
is still a direct system call:
https://github.com/golang/go/blob/master/src/runtime/sys_openbsd_arm.s#L90
This code path is generally never hit, since the minimum ARM CPU supported by OpenBSD is v7 and hence GOARM=7
is the default.
We should either:
-
Revise
runtime.read_tls_fallback
to use a libc-based system call. -
Prevent
GOARM
< 7 from being used on openbsd/arm and remove the fallback code entirely.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Todo