forked from OSchip/llvm-project
parent
f08b592390
commit
09268b7b1e
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue