Home | History | Annotate | Download | only in gold

Lines Matching full:adrp

146   // Retrieve encoded adrp 33-bit signed imm value. This value is obtained by
150 aarch64_adrp_decode_imm(const Insntype adrp)
154 gold_assert(is_adrp(adrp));
155 // 21-bit imm encoded in adrp.
156 uint64_t imm = ((adrp >> 29) & mask2) | (((adrp >> 5) & mask19) << 2);
676 // Using adrp/add pair, 4 insns (including alignment) without mem access,
753 0x90000010, /* adrp ip0, X */
1061 // erratum, we may choose to replace 'adrp' with 'adr', in this case, we need
1062 // adrp's code position (two or three insns before erratum insn itself).
1082 // Section offset of "adrp". (We do not need a "adrp_shndx_" field, because we
1134 // Constant used to determine if an offset fits in the adrp instruction
1147 // Determine whether the offset fits in the adrp immediate field.
1987 // with 'adrp', when final value calculated by adrp fits in adr, we can just
1988 // replace 'adrp' with 'adr', so we save 2 jumps per occurrence. (Note, however,
2010 // Get adrp 33-bit signed imm value.
2013 // adrp - final value transferred to target register is calculated as:
2027 // Convert 'adrp' into 'adr'.
3302 // ST_E_843419, we need an additional field for adrp offset.
4025 The_reloc_functions::adrp(view, dest, address);
4587 0x90000010, /* adrp x16, PLT_GOT+0x8 */
4603 0x90000010, /* adrp x16, PLT_GOT+0x8 */
4619 0x90000010, /* adrp x16, PLT_GOT+16 */
4635 0x90000010, /* adrp x16, PLT_GOT+16 */
4650 0x90000010, /* adrp x16, PLTGOT + n * 4 */
4662 0x90000010, /* adrp x16, PLTGOT + n * 4 */
4674 0x90000010, /* adrp x16, PLTGOT + n * 8 */
4686 0x90000010, /* adrp x16, PLTGOT + n * 8 */
4702 // adrp x16, PLT_GOT + 16 Get the page base of the GOTPLT
4713 // Fill in the top 21 bits for this: ADRP x16, PLT_GOT + 8 * 2.
4714 // ADRP: (PG(S+A)-PG(P)) >> 12) & 0x1fffff.
4716 AArch64_relocate_functions<size, big_endian>::adrp(pov + 4,
4751 AArch64_relocate_functions<size, big_endian>::adrp(
4777 adrp x2, 0 */
4778 0x90000003, /* adrp x3, 0 */
4792 0x90000002, /* adrp x2, 0 */
4793 0x90000003, /* adrp x3, 0 */
4807 0x90000002, /* adrp x2, 0 */
4808 0x90000003, /* adrp x3, 0 */
4822 0x90000002, /* adrp x2, 0 */
4823 0x90000003, /* adrp x3, 0 */
4849 AArch64_relocate_functions<size, big_endian>::adrp(
4855 AArch64_relocate_functions<size, big_endian>::adrp(
4969 {0x60ffffe0, 29, 5}, // ADRP [30:29]-immlo [23:5]-immhi
5053 // Update adr or adrp instruction with immed.
5054 // In adr and adrp: [30:29] immlo [23:5] immhi
5270 // Calculate PG(S+A) - PG(address), update adrp instruction.
5274 adrp(
5289 // Calculate PG(S+A) - PG(address), update adrp instruction.
5293 adrp(unsigned char* view,
6978 reloc_status = Reloc::adrp(view, object, psymval, addend, address,
7022 reloc_status = Reloc::adrp(view, value + addend, address);
7172 // Relocate the address into adrp/ld, adrp/add pair.
7176 return aarch64_reloc_funcs::adrp(
7221 return aarch64_reloc_funcs::adrp(
7304 // Relocate the address into adrp/ld, adrp/add pair.
7308 return aarch64_reloc_funcs::adrp(view, got_entry_address + addend,
7426 return aarch64_reloc_funcs::adrp(view,
7482 // 90000000 adrp x0, 0 <main>
7495 if(!(insn1 == 0x90000000 // adrp x0,0
7582 // 90000000 adrp x0, 0 <main>
7595 if(!(insn1 == 0x90000000 // adrp x0,0
7724 // adrp x0, :tlsdesc:v1
7798 // adrp x0, :tlsdesc:v1
7804 // adrp x0, :tlsie:v1
7823 return aarch64_reloc_funcs::adrp(view, got_entry_address + addend,