82f9c6c [release-branch.go1.15] cmd/link: avoid exporting all symbols on windows buildmode=pie

6 files Authored by Quim Muntal 3 years ago, Committed by Dmitri Shuralyov 3 years ago,
    [release-branch.go1.15] 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.
    Updates #40795.
    Fixes #43592.
    
    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>
    Reviewed-on: https://go-review.googlesource.com/c/go/+/300692
    Trust: Dmitri Shuralyov <dmitshur@golang.org>
    Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
    Reviewed-by: David Chase <drchase@google.com>
    
        
file modified
+33 -0