[bfd] Revise import stubs on hppa.
authorJohn David Anglin <danglin@gcc.gnu.org>
Sat, 19 Oct 2019 17:41:36 +0000 (13:41 -0400)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sat, 19 Oct 2019 17:52:23 +0000 (13:52 -0400)
commit18338fcee6c75bf0b41f803b84ae15221676f8cd
tree62f88dce5f2b25ba32688cfe26196ac3da816217
parent1c1a69dcaeb01037f3191a5ebf1b2f9c0dcbe7a3
[bfd] Revise import stubs on hppa.

This commit updates the import stubs to leave the pointer to the
function descriptor in register %r22.  This provides a backup
mechanism for _dl_runtime_resolve to fixup descriptors during
lazy binding.

bfd/ChangeLog
2019-10-19  John David Anglin  <danglin@gcc.gnu.org>

* elf32-hppa.c: Revise import stub sequences.
(LONG_BRANCH_STUB_SIZE): Define.
(LONG_BRANCH_SHARED_STUB_SIZE): Define.
(IMPORT_STUB_SIZE): Define.
(IMPORT_SHARED_STUB_SIZE): Define.
(EXPORT_STUB_SIZE): Define.
(plt_stub): Revise to not use register %r22.
(LDO_R1_R22): Define.
(LDW_R22_R21): Define.
(LDW_R22_R19): Define.
(hppa_build_one_stub): Update stub generation and use new defines.
(hppa_size_one_stub): Likewise.
bfd/ChangeLog
bfd/elf32-hppa.c