forked from OSchip/llvm-project
parent
269d406a9d
commit
791e9f9c59
|
@ -81,10 +81,10 @@ SymbolBody *elf2::ObjectFile<ELFT>::createSymbolBody(StringRef StringTable,
|
|||
case STB_GLOBAL:
|
||||
if (Sym->isUndefined())
|
||||
return new (Alloc) Undefined(Name);
|
||||
return new (Alloc) DefinedRegular<ELFT>(Name);
|
||||
return new (Alloc) DefinedRegular(Name);
|
||||
case STB_WEAK:
|
||||
// FIXME: add support for weak undefined
|
||||
return new (Alloc) DefinedWeak<ELFT>(Name);
|
||||
return new (Alloc) DefinedWeak(Name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -17,13 +17,10 @@ using namespace llvm::object;
|
|||
using namespace lld;
|
||||
using namespace lld::elf2;
|
||||
|
||||
template <class ELFT>
|
||||
DefinedRegular<ELFT>::DefinedRegular(StringRef Name)
|
||||
DefinedRegular::DefinedRegular(StringRef Name)
|
||||
: Defined(DefinedRegularKind, Name) {}
|
||||
|
||||
template <class ELFT>
|
||||
DefinedWeak<ELFT>::DefinedWeak(StringRef Name)
|
||||
: Defined(DefinedWeakKind, Name) {}
|
||||
DefinedWeak::DefinedWeak(StringRef Name) : Defined(DefinedWeakKind, Name) {}
|
||||
|
||||
// Returns 1, 0 or -1 if this symbol should take precedence
|
||||
// over the Other, tie or lose, respectively.
|
||||
|
@ -49,17 +46,3 @@ int SymbolBody::compare(SymbolBody *Other) {
|
|||
}
|
||||
llvm_unreachable("unknown symbol kind");
|
||||
}
|
||||
|
||||
namespace lld {
|
||||
namespace elf2 {
|
||||
template class DefinedRegular<llvm::object::ELF32LE>;
|
||||
template class DefinedRegular<llvm::object::ELF32BE>;
|
||||
template class DefinedRegular<llvm::object::ELF64LE>;
|
||||
template class DefinedRegular<llvm::object::ELF64BE>;
|
||||
|
||||
template class DefinedWeak<llvm::object::ELF32LE>;
|
||||
template class DefinedWeak<llvm::object::ELF32BE>;
|
||||
template class DefinedWeak<llvm::object::ELF64LE>;
|
||||
template class DefinedWeak<llvm::object::ELF64BE>;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ public:
|
|||
};
|
||||
|
||||
// Regular defined symbols read from object file symbol tables.
|
||||
template <class ELFT> class DefinedRegular : public Defined {
|
||||
class DefinedRegular : public Defined {
|
||||
public:
|
||||
DefinedRegular(StringRef Name);
|
||||
|
||||
|
@ -93,7 +93,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
template <class ELFT> class DefinedWeak : public Defined {
|
||||
class DefinedWeak : public Defined {
|
||||
public:
|
||||
DefinedWeak(StringRef Name);
|
||||
|
||||
|
|
Loading…
Reference in New Issue