summaryrefslogtreecommitdiff
path: root/lib/time/update.bash
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2014-12-05 09:24:01 -0500
committerAustin Clements <austin@google.com>2014-12-05 09:24:01 -0500
commitd39e7f8f9d8d330acbcfeba7e8e254b131b05f39 (patch)
tree4d213e0eea8cb18b515976df92d3be754c492f30 /lib/time/update.bash
parent57231fa56130b0863b592dc8fda71cf87c947c74 (diff)
downloadgo-d39e7f8f9d8d330acbcfeba7e8e254b131b05f39.tar.gz
[dev.cc] liblink: don't patch jumps to jumps to symbols
When liblink sees something like JMP x ... x: JMP y it rewrites the first jump to jump directly to y. This is fine if y is a resolved label. However, it *also* does this if y is a function symbol, but fails to carry over the relocation that would later patch in that symbol's value. As a result, the original jump becomes either a self-jump (if relative) or a jump to PC 0 (if absolute). Fix this by disabling this optimization if the jump being patched in is a jump to a symbol. LGTM=minux R=rsc, minux CC=golang-codereviews https://codereview.appspot.com/185890044
Diffstat (limited to 'lib/time/update.bash')
0 files changed, 0 insertions, 0 deletions