Lines Matching refs:rel
2707 static ElfW(Addr) get_addend(ElfW(Rel)* rel, ElfW(Addr) reloc_addr) {
2708 if (ELFW(R_TYPE)(rel->r_info) == R_GENERIC_RELATIVE ||
2709 ELFW(R_TYPE)(rel->r_info) == R_GENERIC_IRELATIVE) {
2720 const auto rel = rel_iterator.next();
2721 if (rel == nullptr) {
2725 ElfW(Word) type = ELFW(R_TYPE)(rel->r_info);
2726 ElfW(Word) sym = ELFW(R_SYM)(rel->r_info);
2728 ElfW(Addr) reloc = static_cast<ElfW(Addr)>(rel->r_offset + load_bias);
2731 ElfW(Addr) addend = get_addend(rel, reloc);
2806 DL_ERR("unknown weak reloc type %d @ %p (%zu)", type, rel, idx);
2842 MARK(rel->r_offset);
2851 MARK(rel->r_offset);
2859 MARK(rel->r_offset);
2867 MARK(rel->r_offset);
2902 MARK(rel->r_offset);
2909 MARK(rel->r_offset);
2927 MARK(rel->r_offset);
2945 MARK(rel->r_offset);
2947 reloc, sym_addr + addend, rel->r_offset, sym_name);
2948 *reinterpret_cast<ElfW(Addr)*>(reloc) = sym_addr + addend - rel->r_offset;
2952 MARK(rel->r_offset);
2954 reloc, sym_addr + addend, rel->r_offset, sym_name);
2958 if ((min_value <= (sym_addr + addend - rel->r_offset)) &&
2959 ((sym_addr + addend - rel->r_offset) <= max_value)) {
2960 *reinterpret_cast<ElfW(Addr)*>(reloc) = sym_addr + addend - rel->r_offset;
2963 sym_addr + addend - rel->r_offset, min_value, max_value);
2970 MARK(rel->r_offset);
2972 reloc, sym_addr + addend, rel->r_offset, sym_name);
2976 if ((min_value <= (sym_addr + addend - rel->r_offset)) &&
2977 ((sym_addr + addend - rel->r_offset) <= max_value)) {
2978 *reinterpret_cast<ElfW(Addr)*>(reloc) = sym_addr + addend - rel->r_offset;
2981 sym_addr + addend - rel->r_offset, min_value, max_value);
3001 reloc, (sym_addr + addend), rel->r_offset);
3005 reloc, (sym_addr + addend), rel->r_offset);
3010 MARK(rel->r_offset);
3017 MARK(rel->r_offset);
3024 MARK(rel->r_offset);
3033 MARK(rel->r_offset);
3039 MARK(rel->r_offset);
3041 reloc, sym_addr, rel->r_offset, sym_name);
3042 *reinterpret_cast<ElfW(Addr)*>(reloc) += sym_addr - rel->r_offset;
3059 MARK(rel->r_offset);
3065 MARK(rel->r_offset);
3072 DL_ERR("unknown reloc type %d @ %p (%zu)", type, rel, idx);
4320 PRINT("RELO STATS: %s: %d abs, %d rel, %d copy, %d symbol", args.argv[0],