diff options
author | Carlos O'Donell <carlos_odonell@mentor.com> | 2012-04-17 05:46:34 +0200 |
---|---|---|
committer | Carlos O'Donell <carlos_odonell@mentor.com> | 2012-04-17 05:46:34 +0200 |
commit | dde6fc785a059a534613c17e8bdd35f53da097e1 (patch) | |
tree | 01ea98250c5a3026ece9dfd9f67c04373d48fce2 /ChangeLog.hppa | |
parent | c053fa34cdde3ca0faa026a31a586f16d3257a8f (diff) | |
download | glibc-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.hppa | 7 |
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. |