1
0
mirror of https://github.com/golang/go synced 2024-09-30 06:24:33 -06:00
go/misc/cgo/testplugin/testdata
Cherry Mui c5da4fb7ac cmd/compile: make jump table symbol local
When using plugins, if the plugin and the main executable both
have the same function, and if it uses jump table, currently the
jump table symbol have the same name so it will be deduplicated by
the dynamic linker. This causes a function in the plugin may (in
the middle of the function) jump to the function with the same name
in the main executable (or vice versa). But the function may be
compiled slightly differently, because the plugin needs to be PIC.
Jumping from the middle of one function to the other will not work.
Avoid this problem by marking the jump table symbol local to a DSO.

Fixes #53989.

Change-Id: I2b573b9dfc22401c8a09ffe9b9ea8bb83d3700ca
Reviewed-on: https://go-review.googlesource.com/c/go/+/418960
Reviewed-by: Keith Randall <khr@google.com>
Run-TryBot: Cherry Mui <cherryyz@google.com>
Reviewed-by: Than McIntosh <thanm@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-07-22 20:12:19 +00:00
..
checkdwarf
common
forkexec cmd/link: force eager binding when using plugins on darwin 2021-12-17 16:05:31 +00:00
host
iface
iface_a
iface_b
iface_i
issue18584
issue18676
issue19418
issue19529
issue19534
issue22175
issue22295.pkg
issue24351
issue25756
issue44956 cmd/compile, cmd/link: dynamically export writable static tmps 2021-03-16 23:14:54 +00:00
issue52937 test,misc: fix builders that do not support plugin 2022-05-17 18:13:13 +00:00
issue53989 cmd/compile: make jump table symbol local 2022-07-22 20:12:19 +00:00
method cmd/compile: mark plugin-exported types as used in interface 2020-11-13 22:01:37 +00:00
method2 all: run gofmt 2021-03-15 21:49:19 +00:00
method3 cmd/link: mark unexported methods for plugins 2022-03-16 20:10:07 +00:00
plugin1
plugin2
sub/plugin1
unnamed1
unnamed2