[go] runtime: on AIX check isarchive before calling libpreinit

0 views
Skip to first unread message

David Chase (Gerrit)

unread,
Dec 9, 2025, 12:33:44 PM (3 days ago) Dec 9
to Ian Lance Taylor, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Keith Randall, Keith Randall, Gopher Robot, Go LUCI, Austin Clements, Martin Möhrmann, golang-co...@googlegroups.com

David Chase submitted the change

Change information

Commit message:
runtime: on AIX check isarchive before calling libpreinit

On AIX, all externally linked programs call _rt0_ppc64_aix_lib,
as seen in runtime/cgo/gcc_aix_ppc64.c. The idea is that we
only do the library initialization is isarchive is set.
However, before this CL, AIX programs would call libpreinit
before checking isarchive. The effect was that signals were
initialized twice. That caused the signal code to record that
all signals had an existing forwarding address, namely the
Go signal handler that was always installed. This caused signal
forwarding to enter an infinite loop. This caused, for example,
"go test os" to hang forever when running TestStdPipe.

Fixes #76081
Change-Id: I5555f8c5e299d45549f5ce601568dc6b3cff4ecc
Reviewed-by: Keith Randall <k...@golang.org>
Reviewed-by: David Chase <drc...@google.com>
Reviewed-by: Keith Randall <k...@google.com>
Files:
  • M src/runtime/asm_ppc64x.s
Change size: XS
Delta: 1 file changed, 4 insertions(+), 3 deletions(-)
Branch: refs/heads/master
Submit Requirements:
  • requirement satisfiedCode-Review: +1 by David Chase, +2 by Keith Randall, +1 by Keith Randall
  • requirement satisfiedTryBots-Pass: LUCI-TryBot-Result+1 by Go LUCI
Open in Gerrit
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: merged
Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I5555f8c5e299d45549f5ce601568dc6b3cff4ecc
Gerrit-Change-Number: 727820
Gerrit-PatchSet: 4
Gerrit-Owner: Ian Lance Taylor <ia...@golang.org>
Gerrit-Reviewer: Austin Clements <aus...@google.com>
Gerrit-Reviewer: David Chase <drc...@google.com>
Gerrit-Reviewer: Gopher Robot <go...@golang.org>
Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
Gerrit-Reviewer: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Keith Randall <k...@google.com>
Gerrit-Reviewer: Martin Möhrmann <moeh...@google.com>
open
diffy
satisfied_requirement
Reply all
Reply to author
Forward
0 new messages