summaryrefslogtreecommitdiffstats
path: root/lld/ELF/InputFiles.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/ELF/InputFiles.cpp')
-rw-r--r--lld/ELF/InputFiles.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/lld/ELF/InputFiles.cpp b/lld/ELF/InputFiles.cpp
index 507090d563d..b0c177fc48c 100644
--- a/lld/ELF/InputFiles.cpp
+++ b/lld/ELF/InputFiles.cpp
@@ -386,7 +386,8 @@ elf::ObjectFile<ELFT>::createInputSection(const Elf_Shdr &Sec) {
// If -r is given, we do not interpret or apply relocation
// but just copy relocation sections to output.
if (Config->Relocatable)
- return new (IAlloc.Allocate()) InputSection<ELFT>(this, &Sec, Name);
+ return new (GAlloc<ELFT>::IAlloc.Allocate())
+ InputSection<ELFT>(this, &Sec, Name);
// Find the relocation target section and associate this
// section with it.
@@ -428,11 +429,14 @@ elf::ObjectFile<ELFT>::createInputSection(const Elf_Shdr &Sec) {
// .eh_frame_hdr section for runtime. So we handle them with a special
// class. For relocatable outputs, they are just passed through.
if (Name == ".eh_frame" && !Config->Relocatable)
- return new (EHAlloc.Allocate()) EhInputSection<ELFT>(this, &Sec, Name);
+ return new (GAlloc<ELFT>::EHAlloc.Allocate())
+ EhInputSection<ELFT>(this, &Sec, Name);
if (shouldMerge(Sec))
- return new (MAlloc.Allocate()) MergeInputSection<ELFT>(this, &Sec, Name);
- return new (IAlloc.Allocate()) InputSection<ELFT>(this, &Sec, Name);
+ return new (GAlloc<ELFT>::MAlloc.Allocate())
+ MergeInputSection<ELFT>(this, &Sec, Name);
+ return new (GAlloc<ELFT>::IAlloc.Allocate())
+ InputSection<ELFT>(this, &Sec, Name);
}
template <class ELFT> void elf::ObjectFile<ELFT>::initializeSymbols() {
OpenPOWER on IntegriCloud