Alan Modra
4a9699735b
PowerPC64 higher REL16 relocations
There are occasions where someone might want to build a 64-bit
pc-relative offset from 16-bit pieces. This adds the necessary REL16
relocs corresponding to existing ADDR16 relocs that can be used to
build 64-bit absolute values.
include/
* elf/ppc64.h (R_PPC64_REL16_HIGH, R_PPC64_REL16_HIGHA),
(R_PPC64_REL16_HIGHER, R_PPC64_REL16_HIGHERA),
(R_PPC64_REL16_HIGHEST, R_PPC64_REL16_HIGHESTA): Define.
(R_PPC64_LO_DS_OPT, R_PPC64_16DX_HA): Bump value.
bfd/
* reloc.c (BFD_RELOC_PPC64_REL16_HIGH, BFD_RELOC_PPC64_REL16_HIGHA),
(BFD_RELOC_PPC64_REL16_HIGHER, BFD_RELOC_PPC64_REL16_HIGHERA),
(BFD_RELOC_PPC64_REL16_HIGHEST, BFD_RELOC_PPC64_REL16_HIGHESTA):
Define.
* elf64-ppc.c (ppc64_elf_howto_raw): Add new REL16 howtos.
(ppc64_elf_reloc_type_lookup): Translate new REL16 relocs.
(ppc64_elf_check_relocs, ppc64_elf_relocate_section): Handle them.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
gas/
* config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): Allow ADDR16
HIGH, HIGHA, HIGHER, HIGHERA, HIGHEST, and HIGHESTA relocs.
Group 16-bit relocs.
* config/tc-ppc.c (md_apply_fix): Translate those ADDR16 relocs
to REL16 when pcrel. Sort relocs.
2018-08-31 22:15:05 +09:30
..
2018-04-18 09:34:19 +09:30
2018-01-03 17:49:56 +10:30
2018-05-04 18:58:23 +09:30
2018-08-31 22:15:05 +09:30
2018-01-02 07:38:06 +04:00
2018-05-09 15:55:28 +09:30
2018-08-30 13:23:12 -07:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-05-04 18:58:23 +09:30
2018-07-17 20:04:53 +01:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-08-31 22:15:05 +09:30
2016-01-01 22:59:17 +10:30
2017-01-02 13:55:05 +10:30
2018-01-03 17:49:42 +10:30
2012-12-10 12:48:03 +00:00
2018-01-03 17:49:56 +10:30
2018-07-06 15:18:59 +09:30
2018-07-30 12:24:14 +01:00
2018-06-19 14:15:17 -04:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-08-01 14:23:10 +01:00
2018-06-19 14:15:17 -04:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-02-22 13:56:46 -08:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-06-18 09:34:12 -04:00
2018-01-03 17:49:56 +10:30
2018-05-31 10:17:13 +01:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30