Home | History | Annotate | Download | only in linker

Lines Matching refs:verneed

751 static inline bool check_symbol_version(const ElfW(Versym) verneed,
753 return verneed == kVersymNotNeeded ||
755 verneed == (*verdef & ~kVersymHiddenBit);
793 // and "version not found". In the first case verneed is kVersymNotNeeded
795 // verneed = 1 (kVersymGlobal) and implies that we should ignore versioned symbols
797 ElfW(Versym) verneed = 0;
798 if (!find_verdef_version_index(vi, &verneed)) {
805 // skip hidden versions when verneed == kVersymNotNeeded (0)
806 if (verneed == kVersymNotNeeded && is_versym_hidden(verdef)) {
810 check_symbol_version(verneed, verdef) &&
836 ElfW(Versym) verneed = 0;
837 if (!find_verdef_version_index(vi, &verneed)) {
845 // skip hidden versions when verneed == 0
846 if (verneed == kVersymNotNeeded && is_versym_hidden(verdef)) {
850 if (check_symbol_version(verneed, verdef) &&
2626 const ElfW(Verneed)* verneed = reinterpret_cast<ElfW(Verneed)*>(verneed_ptr + offset);
2627 size_t vernaux_offset = offset + verneed->vn_aux;
2628 offset += verneed->vn_next;
2630 if (verneed->vn_version != 1) {
2631 DL_ERR("unsupported verneed[%zd] vn_version: %d (expected 1)", i, verneed->vn_version);
2635 const char* target_soname = si_from->get_string(verneed->vn_file);
2642 DL_ERR("cannot find \"%s\" from verneed[%zd] in DT_NEEDED list for \"%s\"",
2647 for (size_t j = 0; j<verneed->vn_cnt; ++j) {
2689 DL_ERR("cannot find verneed/verdef for version index=%d "