forked from OSchip/llvm-project
[ELF] Replace a dead test in getSymVA() with assert()
Symbols relative to discarded comdat sections are Undefined instead of Defined now (after D59649 and D61583). The `== &InputSection::Discarded` test becomes dead. I cannot find a test related to this behavior. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D62725 llvm-svn: 362218
This commit is contained in:
parent
39390d8317
commit
3f29cfd915
|
@ -47,17 +47,11 @@ static uint64_t getSymVA(const Symbol &Sym, int64_t &Addend) {
|
|||
auto &D = cast<Defined>(Sym);
|
||||
SectionBase *IS = D.Section;
|
||||
|
||||
// According to the ELF spec reference to a local symbol from outside
|
||||
// the group are not allowed. Unfortunately .eh_frame breaks that rule
|
||||
// and must be treated specially. For now we just replace the symbol with
|
||||
// 0.
|
||||
if (IS == &InputSection::Discarded)
|
||||
return 0;
|
||||
|
||||
// This is an absolute symbol.
|
||||
if (!IS)
|
||||
return D.Value;
|
||||
|
||||
assert(IS != &InputSection::Discarded);
|
||||
IS = IS->Repl;
|
||||
|
||||
uint64_t Offset = D.Value;
|
||||
|
|
Loading…
Reference in New Issue