cmd/link: default to internal linking mode for PIE #35545
Closed
Comments
Change https://golang.org/cl/207877 mentions this issue: |
I saw this after filing #36028. I don't think internal linking should be enabled PIE until that is fixed, unless I'm mistaking something and it's not a common problem. Regardless, I just sent http://golang.org/cl/210181 to fix that issue. |
Change https://golang.org/cl/220654 mentions this issue: |
gopherbot
pushed a commit
that referenced
this issue
Feb 25, 2020
In CL 210180 we detect gaps between PT_LOAD segments and subtract them from size calculation. The code there only works when PT_LOAD segments are next to each other. But it is possible that there are other segments in between (e.g. a GNU_RELRO segment). Relax the gap detection to count gaps between PT_LOAD segments regardless of whether they are next to each other. Updates #36023. Updates #35545. Change-Id: I8b94506359fa649a4478acc742d86d4b16022dbc Reviewed-on: https://go-review.googlesource.com/c/go/+/220654 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When using -buildmode=pie, we used to default to internal linking mode. Then we forced external linking because internal linking was found broken. Then we fixed internal linking, but still default to external linking.
As far as I know, internal linking PIE works reasonably well, at least on Linux/AMD64 and Linux/ARM64. We may want to change the default back to internal linking mode.
The text was updated successfully, but these errors were encountered: