diff options
Diffstat (limited to 'lld/ELF/OutputSections.h')
-rw-r--r-- | lld/ELF/OutputSections.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lld/ELF/OutputSections.h b/lld/ELF/OutputSections.h index 084c2c3d319..61330c77fde 100644 --- a/lld/ELF/OutputSections.h +++ b/lld/ELF/OutputSections.h @@ -363,6 +363,8 @@ private: uint8_t getFdeEncoding(ArrayRef<uint8_t> D); + uintX_t getFdePc(uint8_t *Buf, size_t Off, uint8_t Enc); + std::vector<EHInputSection<ELFT> *> Sections; std::vector<CieRecord *> Cies; @@ -536,8 +538,8 @@ public: EhFrameHeader(); void writeTo(uint8_t *Buf) override; - void addFde(uint8_t Enc, size_t Off, uint8_t *PCRel); - void assignEhFrame(EHOutputSection<ELFT> *Sec); + void addFde(uint32_t Pc, uint32_t FdeVA); + void add(EHOutputSection<ELFT> *Sec); void reserveFde(); bool Live = false; @@ -546,14 +548,13 @@ public: private: struct FdeData { - uint8_t Enc; - size_t Off; - uint8_t *PCRel; + uint32_t Pc; + uint32_t FdeVA; }; uintX_t getFdePc(uintX_t EhVA, const FdeData &F); - std::vector<FdeData> FdeList; + std::vector<FdeData> Fdes; }; template <class ELFT> class BuildIdSection : public OutputSectionBase<ELFT> { |