diff --git a/llvm/lib/MC/MCParser/ELFAsmParser.cpp b/llvm/lib/MC/MCParser/ELFAsmParser.cpp --- a/llvm/lib/MC/MCParser/ELFAsmParser.cpp +++ b/llvm/lib/MC/MCParser/ELFAsmParser.cpp @@ -331,6 +331,9 @@ case 'G': flags |= ELF::SHF_GROUP; break; + case 'l': + flags |= ELF::SHF_X86_64_LARGE; + break; case 'R': if (TT.isOSSolaris()) flags |= ELF::SHF_SUNW_NODISCARD; diff --git a/llvm/test/MC/ELF/section.s b/llvm/test/MC/ELF/section.s --- a/llvm/test/MC/ELF/section.s +++ b/llvm/test/MC/ELF/section.s @@ -268,6 +268,14 @@ // CHECK-NEXT: SHF_WRITE // CHECK-NEXT: ] +.section .large,"l" +// CHECK: Section { +// CHECK: Name: .large +// CHECK-NEXT: Type: SHT_PROGBITS +// CHECK-NEXT: Flags [ +// CHECK-NEXT: SHF_X86_64_LARGE +// CHECK-NEXT: ] + // Test SHT_LLVM_ODRTAB .section .odrtab,"e",@llvm_odrtab