Lines Matching refs:rel
2350 /* Return address for Ith PLT stub in section PLT, for relocation REL
2356 const arelent *rel)
2358 return rel->address;
3676 const Elf_Internal_Rela *rel)
3680 unsigned long r_symndx = ELF32_R_SYM (rel->r_info);
3693 rel->r_addend,
3723 rel->r_addend,
3740 linker_section_ptr->addend = rel->r_addend;
3868 const Elf_Internal_Rela *rel;
3912 for (rel = relocs; rel < rel_end; rel++)
3919 r_symndx = ELF32_R_SYM (rel->r_info);
3949 r_type = ELF32_R_TYPE (rel->r_info);
3978 addend = rel->r_addend;
3991 if (rel != relocs
3992 && (ELF32_R_TYPE (rel[-1].r_info) == R_PPC_TLSGD
3993 || ELF32_R_TYPE (rel[-1].r_info) == R_PPC_TLSLD))
4083 h, rel))
4101 h, rel))
4205 abfd, sec, rel->r_offset,
4218 addend = rel->r_addend;
4286 abfd, sec, rel->r_offset,
4300 if (!bfd_elf_gc_record_vtinherit (abfd, sec, h, rel->r_offset))
4309 && !bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend))
4899 Elf_Internal_Rela *rel,
4904 switch (ELF32_R_TYPE (rel->r_info))
4911 return _bfd_elf_gc_mark_hook (sec, info, rel, h, sym);
4927 const Elf_Internal_Rela *rel, *relend;
4945 for (rel = relocs; rel < relend; rel++)
4951 r_symndx = ELF32_R_SYM (rel->r_info);
4972 r_type = ELF32_R_TYPE (rel->r_info);
4990 addend = rel->r_addend;
5075 addend = rel->r_addend;
5159 /* Return TRUE iff REL is a branch reloc with a global symbol matching
5164 const Elf_Internal_Rela *rel,
5168 enum elf_ppc_reloc_type r_type = ELF32_R_TYPE (rel->r_info);
5169 unsigned int r_symndx = ELF32_R_SYM (rel->r_info);
5221 Elf_Internal_Rela *relstart, *rel, *relend;
5231 for (rel = relstart; rel < relend; rel++)
5241 r_symndx = ELF32_R_SYM (rel->r_info);
5258 r_type = ELF32_R_TYPE (rel->r_info);
5274 ibfd, sec, rel->r_offset);
5349 if (rel + 1 < relend
5350 && branch_reloc_hash_match (ibfd, rel + 1,
5360 ibfd, sec, rel->r_offset);
5372 && ELF32_R_TYPE (rel[1].r_info) == R_PPC_PLTREL24)
5373 addend = rel[1].r_addend;
5992 or certain REL relocs (see must_be_dyn_reloc) that can be
7306 const Elf_Internal_Rela *rel)
7324 unsigned long r_symndx = ELF32_R_SYM (rel->r_info);
7332 rel->r_addend,
7540 actually uses Rel structures, the r_addend field will always be
7578 Elf_Internal_Rela *rel;
7610 rel = relocs;
7612 for (; rel < relend; rel++)
7631 r_type = ELF32_R_TYPE (rel->r_info);
7637 r_symndx = ELF32_R_SYM (rel->r_info);
7645 relocation = _bfd_elf_rela_local_sym (output_bfd, sym, &sec, rel);
7651 RELOC_FOR_GLOBAL_SYMBOL (info, input_bfd, input_section, rel,
7668 rel, 1, relend, howto, 0, contents);
7675 && rel->r_addend != 0)
7679 rel->r_addend += got2->output_offset;
7727 insn = bfd_get_32 (output_bfd, contents + rel->r_offset - d_offset);
7730 rel->r_offset - d_offset);
7732 rel->r_info = ELF32_R_INFO (r_symndx, r_type);
7742 insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
7746 bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
7748 rel->r_info = ELF32_R_INFO (r_symndx, r_type);
7752 rel->r_offset += d_offset;
7773 bfd_put_32 (output_bfd, NOP, contents + rel->r_offset);
7774 rel->r_offset -= d_offset;
7777 rel->r_info = ELF32_R_INFO (r_symndx, r_type);
7803 && rel + 1 < relend
7804 && branch_reloc_hash_match (input_bfd, rel + 1,
7806 offset = rel[1].r_offset;
7811 contents + rel->r_offset - d_offset);
7816 rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
7822 rel->r_info = ELF32_R_INFO (r_symndx, r_type);
7838 rel->r_addend = htab->elf.tls_sec->vma + DTP_OFFSET;
7840 rel->r_addend -= (local_syms[r_symndx].st_value
7845 rel->r_info = ELF32_R_INFO (r_symndx, r_type);
7848 rel[1].r_info = ELF32_R_INFO (r_symndx, R_PPC_TPREL16_LO);
7849 rel[1].r_offset = offset + d_offset;
7850 rel[1].r_addend = rel->r_addend;
7856 contents + rel->r_offset - d_offset);
7861 rel--;
7871 bfd_vma offset = rel->r_offset;
7883 rel->r_offset += d_offset;
7886 rel->r_info = ELF32_R_INFO (r_symndx, r_type);
7889 BFD_ASSERT (offset == rel[1].r_offset);
7890 rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
7906 rel->r_addend = htab->elf.tls_sec->vma + DTP_OFFSET;
7908 rel->r_addend -= (local_syms[r_symndx].st_value
7912 rel->r_info = ELF32_R_INFO (r_symndx, R_PPC_TPREL16_LO);
7913 rel->r_offset += d_offset;
7916 contents + rel->r_offset - d_offset);
7918 BFD_ASSERT (rel->r_offset - d_offset == rel[1].r_offset);
7919 rel[1].r_info = ELF32_R_INFO (STN_UNDEF, R_PPC_NONE);
7920 rel--;
7945 insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
7949 from = (rel->r_offset
7954 if ((bfd_signed_vma) (relocation + rel->r_addend - from) < 0)
7957 bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
7989 addend = rel->r_addend;
8034 addend = rel->r_addend;
8308 input_bfd, input_section, rel->r_offset,
8324 rel->r_offset,
8352 bfd_byte *p = contents + rel->r_offset - d_offset;
8463 rel->r_offset);
8480 outrel.r_addend = rel->r_addend;
8484 outrel.r_addend = relocation + rel->r_addend;
8507 input_bfd, input_section, rel->r_offset,
8602 size_t insn_offset = rel->r_offset;
8609 + rel->r_offset - 4);
8651 rel[0].r_offset += d_offset;
8652 memmove (rel + 1, rel, (relend - rel - 1) * sizeof (*rel));
8653 rel[0].r_info = ELF32_R_INFO (r_symndx, R_PPC_ADDR16_HA);
8654 rel[1].r_offset += 4;
8655 rel[1].r_info = ELF32_R_INFO (r_symndx, R_PPC_ADDR16_LO);
8656 rel++;
8670 h, relocation, rel);
8684 h, relocation, rel);
8802 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
8808 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
8814 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
8820 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
8826 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
8832 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
8896 insn = bfd_get_32 (output_bfd, contents + rel->r_offset);
8916 bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
8930 bfd_put_32 (output_bfd, insn, contents + rel->r_offset);
8994 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
8997 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
9002 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
9008 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
9014 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
9020 ppc_elf_vle_split16 (output_bfd, contents + rel->r_offset,
9132 insn = bfd_get_32 (output_bfd, contents + rel->r_offset - d_offset);
9146 input_bfd, input_section, rel->r_offset,
9163 (long) rel->r_offset,
9171 rel->r_offset) != (bfd_vma) -1)
9175 input_bfd, input_section, rel->r_offset,
9194 insn = bfd_get_32 (input_bfd, contents + (rel->r_offset & ~3));
9211 rel->r_offset, relocation, addend);
9237 rel->r_addend,
9240 rel->r_offset))
9247 input_bfd, input_section, rel->r_offset,
9320 rel = NULL;
9323 rel = lo + (hi - lo) / 2;
9324 if (rel->r_offset < offset)
9325 lo = rel + 1;
9326 else if (rel->r_offset > offset + 3)
9327 hi = rel;
9330 switch (ELF32_R_TYPE (rel->r_info))
9405 if (rel != NULL
9406 && rel->r_offset >= offset
9407 && rel->r_offset < offset + 4)
9412 if (rel + 1 != relend)
9414 Elf_Internal_Rela tmp = *rel;
9417 memmove (rel, rel + 1, (relend - (rel + 1)) * sizeof (*rel));
9423 rel = NULL;
9431 if (info->relocatable && rel != NULL)
9433 if (!info->relocatable && rel != NULL)
9464 if (rel != NULL)
10048 Elf_Internal_Rela rel;
10050 bfd_elf32_swap_reloc_in (output_bfd, loc, &rel);
10051 rel.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_PPC_ADDR16_HA);
10052 bfd_elf32_swap_reloc_out (output_bfd, &rel, loc);
10055 bfd_elf32_swap_reloc_in (output_bfd, loc, &rel);
10056 rel.r_info = ELF32_R_INFO (htab->elf.hgot->indx, R_PPC_ADDR16_LO);
10057 bfd_elf32_swap_reloc_out (output_bfd, &rel, loc);
10060 bfd_elf32_swap_reloc_in (output_bfd, loc, &rel);
10061 rel.r_info = ELF32_R_INFO (htab->elf.hplt->indx, R_PPC_ADDR32);
10062 bfd_elf32_swap_reloc_out (output_bfd, &rel, loc);