cmd/link: separate elf addend size from reloc size
cmd/link: separate elf addend size from reloc size

The size of the field may be smaller than the addend,
such is the case with R_PPC64_TOC16_HA/LO and similar
relocations.

Add an extra return value to ldelf.relSize to account for
addend size which may be larger than the relocated field,
and fix the related ppc64 relocations.

Such relocs can be seen in large PIC blobs such
as the ppc64le race detector included with golang.

Change-Id: I457186fea5d0ec5572b9bbf79bb7fa21a36cc1b0
Reviewed-on: https://go-review.googlesource.com/c/go/+/303990
Run-TryBot: Paul Murphy <2e1d8d6f81223fe22f04c5349bc2b02555a275af@ibm.com>
Reviewed-by: Cherry Zhang <d62e63aa42ce272d7b6a5055d97e942b33a34679@google.com>
Reviewed-by: Lynn Boger <b27445fe6fb259c37b8e0a4ce56e22e2413754bf@linux.vnet.ibm.com>
TryBot-Result: Go Bot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Trust: Lynn Boger <b27445fe6fb259c37b8e0a4ce56e22e2413754bf@linux.vnet.ibm.com>

CAFxX/go,cloudflare/go,nawawi/go,golang/go,nawawi/go,CAFxX/go,cloudflare/go,cloudflare/go,CAFxX/go,CAFxX/go,cloudflare/go,nawawi/go,cloudflare/go,cloudflare/go,nawawi/go,golang/go,cloudflare/go,golang/go,CAFxX/go,nawawi/go,CAFxX/go,cloudflare/go,golang/go,golang/go,nawawi/go,CAFxX/go,CAFxX/go,golang/go,golang/go,nawawi/go,nawawi/go,golang/go