summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/Atoms.h
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/Atoms.h')
-rw-r--r--lld/lib/ReaderWriter/ELF/Atoms.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/lld/lib/ReaderWriter/ELF/Atoms.h b/lld/lib/ReaderWriter/ELF/Atoms.h
index 22a615d6c24..c5f66bcdedf 100644
--- a/lld/lib/ReaderWriter/ELF/Atoms.h
+++ b/lld/lib/ReaderWriter/ELF/Atoms.h
@@ -33,16 +33,18 @@ template <class ELFT> class ELFReference LLVM_FINAL : public Reference {
typedef llvm::object::Elf_Rel_Impl<ELFT, true> Elf_Rela;
public:
- ELFReference(const Elf_Rela *rela, uint64_t offset, const Atom *target)
- : _target(target), _targetSymbolIndex(rela->getSymbol()),
+ ELFReference(const Elf_Rela *rela, uint64_t offset, const Atom *target,
+ Kind kind, uint32_t symbol)
+ : _target(target), _targetSymbolIndex(symbol),
_offsetInAtom(offset), _addend(rela->r_addend) {
- _kind = (Kind) rela->getType();
+ _kind = kind;
}
- ELFReference(const Elf_Rel *rel, uint64_t offset, const Atom *target)
- : _target(target), _targetSymbolIndex(rel->getSymbol()),
+ ELFReference(const Elf_Rel *rel, uint64_t offset, const Atom *target,
+ Kind kind, uint32_t symbol)
+ : _target(target), _targetSymbolIndex(symbol),
_offsetInAtom(offset), _addend(0) {
- _kind = (Kind) rel->getType();
+ _kind = kind;
}
ELFReference(Kind kind)
OpenPOWER on IntegriCloud