Index: lld/trunk/ELF/InputSection.cpp =================================================================== --- lld/trunk/ELF/InputSection.cpp +++ lld/trunk/ELF/InputSection.cpp @@ -76,7 +76,7 @@ // no alignment constraits. uint32_t V = std::max(Alignment, 1); if (!isPowerOf2_64(V)) - fatal(toString(File) + ": section sh_addralign is not a power of 2"); + fatal(toString(this) + ": sh_addralign is not a power of 2"); this->Alignment = V; // In ELF, each section can be compressed by zlib, and if compressed, Index: lld/trunk/test/ELF/invalid/section-alignment2.s =================================================================== --- lld/trunk/test/ELF/invalid/section-alignment2.s +++ lld/trunk/test/ELF/invalid/section-alignment2.s @@ -1,5 +1,16 @@ -## section-alignment-notpow2.elf has section alignment -## 0xFFFFFFFF which is not a power of 2. -# RUN: not ld.lld %p/Inputs/section-alignment-notpow2.elf -o /dev/null 2>&1 | \ -# RUN: FileCheck %s -# CHECK: section sh_addralign is not a power of 2 +# RUN: yaml2obj %s -o %t.o +# RUN: not ld.lld %t.o -o %tout 2>&1 | FileCheck %s + +# CHECK: error: {{.*}}.o:(.text): sh_addralign is not a power of 2 + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + AddressAlign: 0x3