[dev.cc] liblink: don't patch jumps to jumps to symbols
[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

d0f/go-zh,webfd/go-zh,d0f/go-zh,bryanxu/go-zh,webfd/go-zh,bryanxu/go-zh,d0f/go-zh,d0f/go-zh,d0f/go-zh,webfd/go-zh,bryanxu/go-zh,bryanxu/go-zh,bryanxu/go-zh,webfd/go-zh,webfd/go-zh,webfd/go-zh,d0f/go-zh,d0f/go-zh,bryanxu/go-zh,bryanxu/go-zh,webfd/go-zh,webfd/go-zh,d0f/go-zh,bryanxu/go-zh