• Joel Sing's avatar
    runtime/cgo: make cgo work with openbsd ABI changes · 0dcd330b
    Joel Sing authored
    OpenBSD 6.0 (due out November 2016) will support PT_TLS, which will
    allow for the OpenBSD cgo pthread_create() workaround to be removed.
    
    However, in order for Go to continue working on supported OpenBSD
    releases (the current release and the previous release - 5.9 and 6.0,
    once 6.0 is released), we cannot enable PT_TLS immediately. Instead,
    adjust the existing code so that it works with the previous TCB
    allocation and the new TIB allocation. This allows the same Go
    runtime to work on 5.8, 5.9 and later 6.0.
    
    Once OpenBSD 5.9 is no longer supported (May 2017, when 6.1 is
    released), PT_TLS can be enabled and the additional cgo runtime
    code removed.
    
    Change-Id: I3eed5ec593d80eea78c6656cb12557004b2c0c9a
    Reviewed-on: https://go-review.googlesource.com/23197Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    Run-TryBot: Joel Sing <joel@sing.id.au>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    0dcd330b
gcc_openbsd_amd64.c 4.65 KB