Lines Matching defs:sym

34 void SymbolTable::wrap(Symbol *sym, Symbol *real, Symbol *wrap) {
36 int &idx1 = symMap[CachedHashStringRef(sym->getName())];
44 if (sym->isUsedInRegularObj)
47 sym->isUsedInRegularObj = true;
48 else if (!sym->isDefined())
49 // Now that all references to sym have been redirected to wrap, if there are
50 // no references to real (which has been redirected to sym), we only need to
51 // keep sym if it was defined, otherwise it's unused and can be dropped.
52 sym->isUsedInRegularObj = false;
58 // alias for sym, but that could degrade the user experience of some tools
59 // that can print out only one symbol for each location: sym is a preferred
61 memcpy(real, sym, sizeof(SymbolUnion));
80 Symbol *sym = symVector[p.first->second];
82 sym->setName(name);
83 sym->hasVersionSuffix = true;
85 return sym;
88 Symbol *sym = reinterpret_cast<Symbol *>(make<SymbolUnion>());
89 symVector.push_back(sym);
91 // *sym was not initialized by a constructor. Initialize all Symbol fields.
92 memset(sym, 0, sizeof(Symbol));
93 sym->setName(name);
94 sym->partition = 1;
95 sym->verdefIndex = -1;
96 sym->gwarn = false;
97 sym->versionId = VER_NDX_GLOBAL;
99 sym->hasVersionSuffix = true;
100 return sym;
106 Symbol *sym = insert(newSym.getName());
107 if (sym->isDefined())
108 sym->checkDuplicate(newSym);
109 sym->resolve(newSym);
110 sym->isUsedInRegularObj = true;
111 return sym;
124 static bool canBeVersioned(const Symbol &sym) {
125 return sym.isDefined() || sym.isCommon() || sym.isLazy();
145 for (Symbol *sym : symVector)
146 if (canBeVersioned(*sym)) {
147 StringRef name = sym->getName();
156 (*demangledSyms)[demangled].push_back(sym);
165 if (Symbol *sym = find(ver.name))
166 if (canBeVersioned(*sym))
167 return {sym};
185 for (Symbol *sym : p.second)
186 if (check(sym->getName()))
187 res.push_back(sym);
191 for (Symbol *sym : symVector)
192 if (canBeVersioned(*sym) && check(sym->getName()) &&
193 m.match(sym->getName()))
194 res.push_back(sym);
206 for (Symbol *sym : syms)
207 sym->inDynamicList = true;
228 for (Symbol *sym : syms) {
233 sym->getName().contains('@'))
238 if (sym->verdefIndex == uint16_t(-1)) {
239 sym->verdefIndex = 0;
240 sym->versionId = versionId;
242 if (sym->versionId == versionId)
246 getName(sym->versionId) + " to " + getName(versionId));
256 for (Symbol *sym : findAllByVersion(ver, includeNonDefault))
257 if (sym->verdefIndex == uint16_t(-1)) {
258 sym->verdefIndex = 0;
259 sym->versionId = versionId;
326 for (Symbol *sym : symVector)
327 if (sym->hasVersionSuffix)
328 sym->parseSymbolVersion();