hppa: Remove relocation in OPD handling code.
A current bug in the hppa binutils code causes
relative relocations to be mixed with OPD relocations.
The OPD handling code in ld.so requires a relocation to
setup one of the data structures.
At startup ld.so tries to use the structure to handle
an OPD relocation *before* the structure is completely
setup by the relative relocation and this causes a crash.
This code is a workaround and a bandaid, the real fix
is in the static linker, but until then we must avoid
relocations in dl-fptr.c.
We copy dl-fptr.c from generic code, modify it, and
adjust the headers to fixup the structure at runtime
instead of having the relocation do this for us
automatically.