This implements support for relaxing these relocations to use the GP
register to commute addresses of globals in the .sdata and .sbss
sections.
This feature is off by default and must be enabled by passing
--relax-gp to the linker.
The GP register might not always be the "global pointer". It can
be used for other purposes. See discussion here
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/371
Don't use the binutils numbers which may conflict with future relocation types.
For now, just use numbers starting with 256, which are unavailable for ELFCLASS32.