summaryrefslogtreecommitdiffstats
path: root/lld/ELF/OutputSections.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/ELF/OutputSections.cpp')
-rw-r--r--lld/ELF/OutputSections.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/lld/ELF/OutputSections.cpp b/lld/ELF/OutputSections.cpp
index b7368f92d8c..d095fafc354 100644
--- a/lld/ELF/OutputSections.cpp
+++ b/lld/ELF/OutputSections.cpp
@@ -253,7 +253,6 @@ static uint64_t getOutFlags(InputSectionBase *S) {
return S->Flags & ~SHF_GROUP & ~SHF_COMPRESSED;
}
-template <class ELFT>
static SectionKey createKey(InputSectionBase *C, StringRef OutsecName) {
// The ELF spec just says
// ----------------------------------------------------------------
@@ -298,12 +297,10 @@ static SectionKey createKey(InputSectionBase *C, StringRef OutsecName) {
// Given the above issues, we instead merge sections by name and error on
// incompatible types and flags.
- typedef typename ELFT::uint uintX_t;
-
uint32_t Alignment = 0;
- uintX_t Flags = 0;
+ uint64_t Flags = 0;
if (Config->Relocatable && (C->Flags & SHF_MERGE)) {
- Alignment = std::max<uintX_t>(C->Alignment, C->Entsize);
+ Alignment = std::max<uint64_t>(C->Alignment, C->Entsize);
Flags = C->Flags & (SHF_MERGE | SHF_STRINGS);
}
@@ -345,7 +342,7 @@ void OutputSectionFactory::addInputSec(InputSectionBase *IS,
return;
}
- SectionKey Key = createKey<ELFT>(IS, OutsecName);
+ SectionKey Key = createKey(IS, OutsecName);
uint64_t Flags = getOutFlags(IS);
OutputSection *&Sec = Map[Key];
if (Sec) {
OpenPOWER on IntegriCloud