1
0
mirror of https://github.com/golang/go synced 2024-11-23 00:10:07 -07:00
go/misc/cgo
Quim Muntal e463c28cc1 cmd/link: avoid exporting all symbols on windows buildmode=pie
Marking one functions with __declspec(dllexport) forces mingw to
create .reloc section without having to export all symbols.

See https://insights.sei.cmu.edu/cert/2018/08/when-aslr-is-not-really-aslr---the-case-of-incorrect-assumptions-and-bad-defaults.html for more info.

This change cuts 73kb of a "hello world" pie binary.

Updates #6853
Fixes #40795

Change-Id: I3cc57c3b64f61187550bc8751dfa085f106c8475
Reviewed-on: https://go-review.googlesource.com/c/go/+/264459
Trust: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Reviewed-by: Austin Clements <austin@google.com>
2020-11-02 00:46:44 +00:00
..
errors cmd/cgo: do not rewrite call if there are more args than parameters 2019-07-12 17:31:29 +00:00
fortran misc/cgo/fortran: avoid writing to $PWD 2019-11-20 22:37:23 +00:00
gmp
life misc: remove use of relative directories in overlayDir functions 2019-11-25 16:26:15 +00:00
nocgo
stdio misc: remove use of relative directories in overlayDir functions 2019-11-25 16:26:15 +00:00
test misc/cgo/test: test C.enum_* 2020-10-27 18:13:59 +00:00
testasan misc: log 'ok' from 'go run' tests on success 2019-11-25 16:43:27 +00:00
testcarchive all: enable more tests on macOS/ARM64 2020-10-06 21:56:24 +00:00
testcshared cmd/link: avoid exporting all symbols on windows buildmode=pie 2020-11-02 00:46:44 +00:00
testgodefs cmd/cgo: don't translate bitfields into Go fields 2020-09-16 03:02:13 +00:00
testplugin misc/cgo/testplugin: fix typo in comment 2020-06-01 23:25:14 +00:00
testsanitizers runtime: save/restore callee saved registers in arm64's sigtramp 2019-06-03 19:02:11 +00:00
testshared cmd/link: don't mark shared library symbols reachable unconditionally 2020-07-27 16:04:55 +00:00
testsigfwd misc: log 'ok' from 'go run' tests on success 2019-11-25 16:43:27 +00:00
testso all: add GOOS=ios 2020-09-23 18:12:59 +00:00
testsovar all: add GOOS=ios 2020-09-23 18:12:59 +00:00
testtls