]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/ppc64: don't modify runtime.elf_* symbols
authorPaul E. Murphy <murp@ibm.com>
Tue, 12 Mar 2024 20:00:08 +0000 (15:00 -0500)
committerPaul Murphy <murp@ibm.com>
Tue, 19 Mar 2024 20:54:08 +0000 (20:54 +0000)
commitd2eb72fcff90d1c01fb2336a4c6f0f7fd7e01cbc
tree64b6e6ac35737c2837eae5f0abb2b78331f0cd83
parent99522de1c38e4915e061cd2dac7d34ee888c8318
cmd/internal/obj/ppc64: don't modify runtime.elf_* symbols

The runtime.elf_* symbols are assembly functions which are used
to support the gcc/llvm -Os option when used with cgo.

When compiling Go for shared code, we attempt to strip out the
TOC regenation code added by the go assembler for these symbols.

This causes the symbol to no longer appear as an assembly
function which causes problems later on when handling other
implicit symbols.

Avoid adding a TOC regeneration prologue to these functions
to avoid this issue.

Fixes #66265

Change-Id: Icbf8e4438d177082a57bb228e39b232e7a0d7ada
Reviewed-on: https://go-review.googlesource.com/c/go/+/571835
Reviewed-by: Than McIntosh <thanm@google.com>
Run-TryBot: Paul Murphy <murp@ibm.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
src/cmd/go/testdata/script/test_ppc64_linker_funcs.txt
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/link/internal/ppc64/asm.go