Lines Matching refs:symbol
231 // name can be presented as C symbol
401 // symbol section index for _DYNAMIC. Now it will be ABS.
691 // ignore if symbol has no fragRef
695 // the value of a TLS symbol is the offset to the TLS segment
762 // number of entries in symbol tables starts from 1 to hold the special entry
774 // number of local symbol in the .symtab and .dynsym
779 Module::const_sym_iterator symbol, symEnd;
784 2. check whether the symbol is used
793 for (symbol = symbols.begin(); symbol != symEnd; ++symbol) {
795 if (hasEntryInStrTab(**symbol))
796 strtab += (*symbol)->nameSize() + 1;
817 for (symbol = symbols.localDynBegin(); symbol != symEnd; ++symbol) {
819 if (hasEntryInStrTab(**symbol))
820 dynstr += (*symbol)->nameSize() + 1;
830 for (symbol = symbols.dynamicBegin(); symbol != symEnd; ++symbol) {
831 if (DynsymCompare().needGNUHash(**symbol))
883 // set .dynsym sh_info to one greater than the symbol table
884 // index of the last local symbol
902 // set .symtab sh_info to one greater than the symbol table
903 // index of the last local symbol
917 /// emitSymbol32 - emit an ELF32 symbol
925 // write out symbol
940 /// emitSymbol64 - emit an ELF64 symbol
948 // write out symbol
997 // emit the first ELF symbol
1014 Module::const_sym_iterator symbol, symEnd;
1017 for (symbol = symbols.begin(); symbol != symEnd; ++symbol) {
1019 entry = m_pSymIndexMap->insert(*symbol, sym_exist);
1023 emitSymbol32(symtab32[symIdx], **symbol, strtab, strtabsize, symIdx);
1025 emitSymbol64(symtab64[symIdx], **symbol, strtab, strtabsize, symIdx);
1027 if (hasEntryInStrTab(**symbol))
1028 strtabsize += (*symbol)->nameSize() + 1;
1072 // emit the first ELF symbol
1093 Module::const_sym_iterator symbol, symEnd = symbols.dynamicEnd();
1094 for (symbol = symbols.localDynBegin(); symbol != symEnd; ++symbol) {
1096 emitSymbol32(symtab32[symIdx], **symbol, strtab, strtabsize, symIdx);
1098 emitSymbol64(symtab64[symIdx], **symbol, strtab, strtabsize, symIdx);
1099 // maintain output's symbol and index map
1100 entry = m_pSymIndexMap->insert(*symbol, sym_exist);
1104 if (hasEntryInStrTab(**symbol))
1105 strtabsize += (*symbol)->nameSize() + 1;
1181 Module::const_sym_iterator symbol, symEnd = pSymtab.dynamicEnd();
1182 for (symbol = pSymtab.localDynBegin(); symbol != symEnd; ++symbol) {
1183 llvm::StringRef name((*symbol)->name());
1217 Module::const_sym_iterator symbol, symEnd = pSymtab.dynamicEnd();
1218 for (symbol = pSymtab.dynamicBegin(); symbol != symEnd; ++symbol) {
1219 if (DynsymCompare().needGNUHash(**symbol))
1264 for (symbol = pSymtab.localDynBegin() + symidx - 1; symbol != symEnd;
1265 ++symbol) {
1267 uint32_t djbhash = hasher((*symbol)->name());
1269 symmap.insert(std::make_pair(hash, std::make_pair(*symbol, djbhash)));
1280 // rearrange the hashed symbol ordering
1479 // (Luba) Is a absolute but not global (weak or local) symbol meaningful?
1489 // if the IndirectFunc symbol (i.e., STT_GNU_IFUNC) is from dynobj, change
1523 /// getSymbolIdx - called by emitRelocation to get the ouput symbol table index
1527 assert(entry != m_pSymIndexMap->end() && "symbol not found in the symbol table");
1605 // We have to reset the description of the symbol here. When doing
1614 // allocate TLS common symbol in tbss section
1634 // We have to reset the description of the symbol here. When doing
1643 // allocate TLS common symbol in tbss section
2255 // assign address based on `.' symbol in ldscript
2256 vma = (*dot).symbol().value();
2366 uint64_t new_offset = (*it).second.symbol().value() - vma;
2605 // change .tbss and .tdata section symbol from Local to LocalDyn category
2747 // If a local symbol is in the LDContext's symbol table, it's a real local
2748 // symbol. We should not add it
2768 // If a local symbol is in the LDContext's symbol table, it's a real local
2769 // symbol. We should not add it
2819 /// isSymbolPreemtible - whether the symbol can be preemted by other
2838 // A local defined symbol should be non-preemptible.
2840 // relocation refers to a local defined symbol, and we should generate a
2848 /// symbolNeedsDynRel - return whether the symbol needs a dynamic relocation
2862 // An absolute symbol can be resolved directly if it is either local
2881 /// symbolNeedsPLT - return whether the symbol needs a PLT entry
2890 // An IndirectFunc symbol (i.e., STT_GNU_IFUNC) always needs a plt entry
2908 /// symbolHasFinalValue - return true if the symbol's value can be decided at
2910 /// @ref Google gold linker, Symbol::final_value_is_known
2921 // if the symbol is from dynamic object, then its value is unknown
2925 // if the symbol is not in dynamic object and is not undefined, then its value
2930 // if the symbol is undefined and not in dynamic objects, for example, a weak
2931 // undefined symbol, then whether the symbol's final value can be known
2936 /// symbolNeedsCopyReloc - return whether the symbol needs a copy relocation
2940 // only the reference from dynamic executable to non-function symbol in
3067 // FIXME: in bfd and gold linker, an undefined symbol might be hashed
3068 // when the ouput is not PIC, if the symbol is referred by a non pc-relative
3089 // 2. compare the symbol index