diff options
author | Alan Modra <amodra@gmail.com> | 2016-08-19 11:06:41 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2016-08-19 11:06:41 +0930 |
commit | 8a2058b5e3318a337a6fecd61b91349d1131758e (patch) | |
tree | dfa9bedd7bf539614107c9e1ededc173a32b5c18 /bfd/i386aout.c | |
parent | e47d628fad1517ff91e8d66eb4609d84c35a2b1c (diff) | |
download | gdb-8a2058b5e3318a337a6fecd61b91349d1131758e.zip gdb-8a2058b5e3318a337a6fecd61b91349d1131758e.tar.gz gdb-8a2058b5e3318a337a6fecd61b91349d1131758e.tar.bz2 |
PR 20472, PowerPC64 ifunc confusion
This patch fixes quite a lot of confusion in allocate_dynrelocs over
ifuncs. Function descriptors make ELFv1 quite different to ELFv2.
PR 20472
* elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
(readonly_dynrelocs): Comment fix.
(global_entry_stub): New function.
(ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
ELFv2 code deciding on dynamic relocs vs. global entry stubs to
that in size_global_entry_stubs, handling ifunc too. Delete dead
weak sym code.
(allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
undefweak syms. Expand and correct comments.
(size_global_entry_stubs): Ensure symbol is defined.
(ppc64_elf_relocate_section): Match condition under which
dyn_relocs are emitted to that in allocate_dynrelocs.
Diffstat (limited to 'bfd/i386aout.c')
0 files changed, 0 insertions, 0 deletions