Lines Matching refs:Symbol
97 /// @name Symbol Table Data
111 // This holds the symbol table index of the last local symbol.
264 // Map from a group section to the signature symbol
266 // Map from a signature symbol to the group section
273 /// ComputeSymbolTable - Compute the symbol table data
277 /// \param RevGroupMap - Maps a signature symbol to the group section.
298 // Create the sections that show up in the symbol table. Currently
476 const MCSymbol &Symbol = Data.getSymbol();
478 if (Symbol.isAbsolute() && Symbol.isVariable()) {
479 if (const MCExpr *Value = Symbol.getVariableValue()) {
486 if (!Symbol.isInSection())
502 // The presence of symbol versions causes undefined symbols and
508 const MCSymbol &Symbol = Alias.AliasedSymbol();
509 MCSymbolData &SD = Asm.getSymbolData(Symbol);
512 if (&Symbol == &Alias)
520 // Aliases defined with .symvar copy the binding from the symbol they alias.
526 if (!Symbol.isUndefined() && !Rest.startswith("@@@"))
530 if (Symbol.isUndefined() && Rest.startswith("@@") &&
534 Renames.insert(std::make_pair(&Symbol, &Alias));
574 // Write out the symbol table entry
585 // into the string table for all the symbol names.
588 // FIXME: Make sure the start of the symbol table is aligned.
590 // The first entry is the undefined symbol entry.
593 // Write the symbol table entries.
600 // Write out a symbol table entry for each regular section.
622 "External symbol requires STB_GLOBAL or STB_WEAK flag");
642 const MCSymbol &Symbol = Target.getSymA()->getSymbol();
643 const MCSymbol &ASymbol = Symbol.AliasedSymbol();
644 const MCSymbol *Renamed = Renames.lookup(&Symbol);
645 const MCSymbolData &SD = Asm.getSymbolData(Symbol);
656 return &Symbol;
669 return &Symbol;
682 return &Symbol;
690 return &Symbol;
711 const MCSymbol &Symbol = Target.getSymA()->getSymbol();
712 const MCSymbol &ASymbol = Symbol.AliasedSymbol();
720 // Offset of the symbol in the section
734 // Offset of the symbol in the section
740 if (Asm.getSymbolData(Symbol).getFlags() & ELF_Other_Weakref)
794 const MCSymbol &Symbol = Data.getSymbol();
796 if (Symbol.getName() == "_GLOBAL_OFFSET_TABLE_")
799 const MCSymbol &A = Symbol.AliasedSymbol();
800 if (Symbol.isVariable() && !A.isVariable() && A.isUndefined())
804 if (!Symbol.isVariable() && Symbol.isUndefined() && !IsGlobal)
807 if (!Asm.isSymbolLinkerVisible(Symbol) && !Symbol.isUndefined())
810 if (Symbol.isTemporary())
821 const MCSymbol &Symbol = Data.getSymbol();
822 const MCSymbol &RefSymbol = Symbol.AliasedSymbol();
886 const MCSymbol &Symbol = it->getSymbol();
888 bool Used = UsedInReloc.count(&Symbol);
889 bool WeakrefUsed = WeakrefUsedInReloc.count(&Symbol);
890 bool isSignature = RevGroupMap.count(&Symbol);
894 Renames.count(&Symbol)))
899 const MCSymbol &RefSymbol = Symbol.AliasedSymbol();
916 } else if (Symbol.isAbsolute() || RefSymbol.isVariable()) {
920 MSD.SectionIndex = SectionIndexMap.lookup(RevGroupMap[&Symbol]);
932 // The @@@ in symbol version is replaced with @ in undefined symbols and
934 StringRef Name = Symbol.getName();
965 // Set the symbol indices. Local symbols must come before all other
1074 entry.Index = getSymbolIndexInSymbolTable(Asm, entry.Symbol);
1170 // Symbol table
1508 // Compute symbol table information.