]> git.ipfire.org Git - thirdparty/glibc.git/commit - ChangeLog.old-ports-hppa
hppa: Remove relocation in OPD handling code.
authorCarlos O'Donell <carlos_odonell@mentor.com>
Tue, 17 Apr 2012 03:46:34 +0000 (05:46 +0200)
committerCarlos O'Donell <carlos_odonell@mentor.com>
Tue, 17 Apr 2012 03:46:34 +0000 (05:46 +0200)
commitdde6fc785a059a534613c17e8bdd35f53da097e1
tree01ea98250c5a3026ece9dfd9f67c04373d48fce2
parentc053fa34cdde3ca0faa026a31a586f16d3257a8f
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.
ChangeLog.hppa
sysdeps/hppa/dl-fptr.c [new file with mode: 0644]
sysdeps/hppa/dl-fptr.h
sysdeps/hppa/dl-machine.h