]> Cypherpunks repositories - gostls13.git/commit
cmd: fix symbols addressing for aix/ppc64
authorClément Chigot <clement.chigot@atos.net>
Fri, 23 Nov 2018 13:20:19 +0000 (14:20 +0100)
committerIan Lance Taylor <iant@golang.org>
Tue, 27 Nov 2018 21:06:16 +0000 (21:06 +0000)
commit4295ed9bef1f2b15837bdeb52766952c464f225d
tree92aff9a9dd10452220e5c923a4c7bec79b427c79
parentb41cdc4a591b19e09c09f062e785f2b7af06863d
cmd: fix symbols addressing for aix/ppc64

This commit changes the code generated for addressing symbols on AIX
operating system.

On AIX, every symbol accesses must be done via another symbol near the TOC,
named TOC anchor or TOC entry. This TOC anchor is a pointer to the symbol
address.
During Progedit function, when a symbol access is detected, its instructions
are modified to create a load on its TOC anchor and retrieve the symbol.

Change-Id: I00cf8f49c13004bc99fa8af13d549a709320f797
Reviewed-on: https://go-review.googlesource.com/c/151039
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
12 files changed:
src/cmd/internal/obj/link.go
src/cmd/internal/obj/objfile.go
src/cmd/internal/obj/ppc64/a.out.go
src/cmd/internal/obj/ppc64/anames9.go
src/cmd/internal/obj/ppc64/asm9.go
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/internal/obj/util.go
src/cmd/link/internal/ld/data.go
src/cmd/link/internal/ld/xcoff.go
src/cmd/link/internal/ppc64/asm.go
src/cmd/link/internal/sym/symkind.go
src/cmd/link/internal/sym/symkind_string.go