]> Cypherpunks repositories - gostls13.git/commit
cmd/link: do not use _GLOBAL_OFFSET_TABLE_ on windows/386
authorAlex Brainman <alex.brainman@gmail.com>
Sat, 24 Nov 2018 07:02:29 +0000 (18:02 +1100)
committerAlex Brainman <alex.brainman@gmail.com>
Tue, 27 Nov 2018 08:52:43 +0000 (08:52 +0000)
commit41fd4c88ad900765716d17c14eb1b48b553589e2
treea26fe86ac3bbf86641f543c42a75ebd9d4a07807
parent440368da526b69fe9a500e29ce9cd84aa7cc6c35
cmd/link: do not use _GLOBAL_OFFSET_TABLE_ on windows/386

When building windows/386 executable that imports "plugin" package,
cmd/link adds reference to DLL with blank name. Running

objdump -x a.exe

reports

...
The Import Tables (interpreted .idata section contents)
...
DLL Name:
vma:  Hint/Ord Member-Name Bound-To
25308a     0  _GLOBAL_OFFSET_TABLE_
...

So, obviously, executable cannot run, because Windows complains
that it cannot find DLL when trying to run it.

Stop using _GLOBAL_OFFSET_TABLE_ on windows/386.

Fixes #28789

Change-Id: Idd489eafd998f6e329f40c5d90a2a8965ab1d873
Reviewed-on: https://go-review.googlesource.com/c/151139
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/link/internal/ld/lib.go
src/plugin/plugin_test.go [new file with mode: 0644]