cmd/link: nice error message on ABI mismatch
cmd/link: nice error message on ABI mismatch

Currently, if a symbol is only defined under one ABI and referenced
under another ABI, you simply get a "relocation target X not defined".
This is confusing because it seems like the symbol is defined.

This CL enhances the error message in this case to be "relocation
target X not defined for <ABI> (but is defined for <ABI>)".

For #27539.

Change-Id: If857a1882c3fe9af5346797d5295ca1fe50ae565
Reviewed-on: https://go-review.googlesource.com/c/147159
Run-TryBot: Austin Clements <7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Keith Randall <8c99c3a9284e493be632950b84cd789d08ed3e9d@golang.org>

CAFxX/go,nawawi/go,nawawi/go,CAFxX/go,akutz/go,nawawi/go,josharian/go,josharian/go,akutz/go,golang/go,CAFxX/go,josharian/go,golang/go,golang/go,akutz/go,akutz/go,cloudflare/go,cloudflare/go,cloudflare/go,cloudflare/go,josharian/go,josharian/go,nawawi/go,akutz/go,akutz/go,cloudflare/go,golang/go,cloudflare/go,nawawi/go,josharian/go,akutz/go,josharian/go,akutz/go,josharian/go,CAFxX/go,CAFxX/go,cloudflare/go,CAFxX/go,golang/go,golang/go,nawawi/go,golang/go,nawawi/go,CAFxX/go,cloudflare/go,golang/go,nawawi/go,CAFxX/go