Lines Matching refs:other

125     // to that routine as well as other places where we write
350 // with the same name defined in other ELF executable or DSO.
386 void Symbol::mergeProperties(const Symbol &other) {
387 if (other.exportDynamic)
391 if (!other.isShared() && other.visibility() != STV_DEFAULT) {
392 uint8_t v = visibility(), ov = other.visibility();
397 void Symbol::resolve(const Undefined &other) {
398 if (other.visibility() != STV_DEFAULT) {
399 uint8_t v = visibility(), ov = other.visibility();
407 if (isPlaceholder() || (isShared() && other.visibility() != STV_DEFAULT) ||
408 (isUndefined() && other.binding != STB_WEAK && other.discardedSecIdx)) {
409 other.overwrite(*this);
414 printTraceSymbol(other, getName());
419 if (other.binding == STB_WEAK) {
421 type = other.type;
452 // a library order that doesn't work with other Unix linkers.
459 // even if foo.a and bar.a depend on each other. With --warn-backrefs, it is
475 bool backref = config->warnBackrefs && other.file &&
476 file->groupId < other.file->groupId;
480 recordWhyExtract(other.file, *file, *this);
492 std::make_pair(other.file, file));
497 if (isa_and_nonnull<SharedFile>(other.file))
504 if (other.binding != STB_WEAK || !referenced)
505 binding = other.binding;
510 bool Symbol::shouldReplace(const Defined &other) const {
514 return !other.isWeak();
525 return !isGlobal() && other.isGlobal();
570 void Symbol::checkDuplicate(const Defined &other) const {
571 if (isDefined() && !isWeak() && !other.isWeak())
572 reportDuplicate(*this, other.file,
573 dyn_cast_or_null<InputSectionBase>(other.section),
574 other.value);
577 void Symbol::resolve(const CommonSymbol &other) {
578 if (other.exportDynamic)
580 if (other.visibility() != STV_DEFAULT) {
581 uint8_t v = visibility(), ov = other.visibility();
593 oldSym->alignment = std::max(oldSym->alignment, other.alignment);
594 if (oldSym->size < other.size) {
595 oldSym->file = other.file;
596 oldSym->size = other.size;
607 other.overwrite(*this);
611 other.overwrite(*this);
615 void Symbol::resolve(const Defined &other) {
616 if (other.exportDynamic)
618 if (other.visibility() != STV_DEFAULT) {
619 uint8_t v = visibility(), ov = other.visibility();
622 if (shouldReplace(other))
623 other.overwrite(*this);
626 void Symbol::resolve(const LazySymbol &other) {
628 other.overwrite(*this);
635 other.file->shouldExtractForCommon(getName())) {
637 other.overwrite(*this);
638 other.extract();
653 other.overwrite(*this);
660 other.extract();
665 void Symbol::resolve(const SharedSymbol &other) {
668 other.overwrite(*this);
673 if (other.size > cast<CommonSymbol>(this)->size)
674 cast<CommonSymbol>(this)->size = other.size;
681 other.overwrite(*this);
684 printTraceSymbol(other, getName());