forked from OSchip/llvm-project
Replace copyFrom with memcpy.
It was only used for --wrap and I don't think the fields with special treatment had a meaningful impact on that feature. llvm-svn: 319265
This commit is contained in:
parent
eba57ead78
commit
b262cbe6b7
|
@ -192,8 +192,8 @@ void SymbolTable::applySymbolWrap() {
|
|||
}
|
||||
|
||||
// Replace __real_sym with sym and sym with __wrap_sym.
|
||||
W.Real->copyFrom(W.Sym);
|
||||
W.Sym->copyFrom(W.Wrap);
|
||||
memcpy(W.Real, W.Sym, sizeof(SymbolUnion));
|
||||
memcpy(W.Sym, W.Wrap, sizeof(SymbolUnion));
|
||||
|
||||
// We now have two copies of __wrap_sym. Drop one.
|
||||
W.Wrap->IsUsedInRegularObj = false;
|
||||
|
|
|
@ -134,21 +134,6 @@ InputFile *Symbol::getFile() const {
|
|||
return File;
|
||||
}
|
||||
|
||||
// Overwrites all attributes with Other's so that this symbol becomes
|
||||
// an alias to Other. This is useful for handling some options such as
|
||||
// --wrap.
|
||||
void Symbol::copyFrom(Symbol *Other) {
|
||||
Symbol Sym = *this;
|
||||
memcpy(this, Other, sizeof(SymbolUnion));
|
||||
|
||||
VersionId = Sym.VersionId;
|
||||
IsUsedInRegularObj = Sym.IsUsedInRegularObj;
|
||||
ExportDynamic = Sym.ExportDynamic;
|
||||
CanInline = Sym.CanInline;
|
||||
Traced = Sym.Traced;
|
||||
InVersionScript = Sym.InVersionScript;
|
||||
}
|
||||
|
||||
uint64_t Symbol::getVA(int64_t Addend) const {
|
||||
uint64_t OutVA = getSymVA(*this, Addend);
|
||||
return OutVA + Addend;
|
||||
|
|
|
@ -108,7 +108,6 @@ public:
|
|||
StringRef getName() const { return Name; }
|
||||
uint8_t getVisibility() const { return StOther & 0x3; }
|
||||
void parseSymbolVersion();
|
||||
void copyFrom(Symbol *Other);
|
||||
|
||||
bool isInGot() const { return GotIndex != -1U; }
|
||||
bool isInPlt() const { return PltIndex != -1U; }
|
||||
|
|
Loading…
Reference in New Issue