Remove a member from InputSectionData and use the pool instead.

llvm-svn: 286557
This commit is contained in:
Rui Ueyama 2016-11-11 03:54:59 +00:00
parent 030ff0f215
commit 82664d9d4c
2 changed files with 4 additions and 7 deletions

View File

@ -13,6 +13,7 @@
#include "Error.h"
#include "InputFiles.h"
#include "LinkerScript.h"
#include "Memory.h"
#include "OutputSections.h"
#include "SyntheticSections.h"
#include "Target.h"
@ -167,11 +168,10 @@ template <class ELFT> void InputSectionBase<ELFT>::uncompress() {
std::tie(Buf, Size) = getRawCompressedData(Data);
// Uncompress Buf.
UncompressedData.reset(new uint8_t[Size]);
if (zlib::uncompress(toStringRef(Buf), (char *)UncompressedData.get(),
Size) != zlib::StatusOK)
char *OutputBuf = BAlloc.Allocate<char>(Size);
if (zlib::uncompress(toStringRef(Buf), OutputBuf, Size) != zlib::StatusOK)
fatal(getName(this) + ": error while uncompressing section");
Data = ArrayRef<uint8_t>(UncompressedData.get(), Size);
Data = ArrayRef<uint8_t>((uint8_t *)OutputBuf, Size);
}
template <class ELFT>

View File

@ -66,9 +66,6 @@ public:
return llvm::makeArrayRef<T>((const T *)Data.data(), S / sizeof(T));
}
// If a section is compressed, this has the uncompressed section data.
std::unique_ptr<uint8_t[]> UncompressedData;
std::vector<Relocation> Relocations;
};