summary refs log tree commit diff
path: root/ChangeLog.hppa
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos_odonell@mentor.com>2012-04-17 05:46:34 +0200
committerCarlos O'Donell <carlos_odonell@mentor.com>2012-04-17 05:46:34 +0200
commitdde6fc785a059a534613c17e8bdd35f53da097e1 (patch)
tree01ea98250c5a3026ece9dfd9f67c04373d48fce2 /ChangeLog.hppa
parentc053fa34cdde3ca0faa026a31a586f16d3257a8f (diff)
downloadglibc-dde6fc785a059a534613c17e8bdd35f53da097e1.tar.gz
glibc-dde6fc785a059a534613c17e8bdd35f53da097e1.tar.xz
glibc-dde6fc785a059a534613c17e8bdd35f53da097e1.zip
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.
Diffstat (limited to 'ChangeLog.hppa')
-rw-r--r--ChangeLog.hppa7
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog.hppa b/ChangeLog.hppa
index 4ad719fd8d..caae3ec8c5 100644
--- a/ChangeLog.hppa
+++ b/ChangeLog.hppa
@@ -1,5 +1,12 @@
 2012-04-17  Carlos O'Donell  <carlos@systemhalted.org>
 
+	* sysdeps/hppa/dl-fptr.h: Add prototype for _dl_fptr_init.
+	* sysdeps/hppa/dl-fptr.c: New file.
+	* sysdeps/hppa/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
+	Call _dl_fptr_init.
+
+2012-04-17  Carlos O'Donell  <carlos@systemhalted.org>
+
 	* sysdeps/hppa/elf/configure: Removed file.
 	* sysdeps/hppa/elf/configure.in: Move to...
 	* sysdeps/hppa/configure.in: ... here.