Skip to content

runtime: openbsd/arm fails when compiled with GOARM=5 #54305

Open
@4a6f656c

Description

@4a6f656c

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:

  1. Revise runtime.read_tls_fallback to use a libc-based system call.

  2. Prevent GOARM < 7 from being used on openbsd/arm and remove the fallback code entirely.

Metadata

Metadata

Assignees

Labels

NeedsFixThe path to resolution is known, but the work has not been done.arch-armIssues solely affecting the 32-bit arm architecture.compiler/runtimeIssues related to the Go compiler and/or runtime.help wanted

Type

No type

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions