Skip to content

Commit f49e0c8

Browse files
committed
[MC] Add section flag 'l' for SHF_X86_64_LARGE
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D148358
1 parent 45e2c6c commit f49e0c8

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

llvm/lib/MC/MCParser/ELFAsmParser.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,11 @@ static unsigned parseSectionFlags(const Triple &TT, StringRef flagsStr,
339339
case 'G':
340340
flags |= ELF::SHF_GROUP;
341341
break;
342+
case 'l':
343+
if (TT.getArch() != Triple::x86_64)
344+
return -1U;
345+
flags |= ELF::SHF_X86_64_LARGE;
346+
break;
342347
case 'R':
343348
if (TT.isOSSolaris())
344349
flags |= ELF::SHF_SUNW_NODISCARD;

llvm/test/MC/ELF/section-flags-unknown.s

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
## Some section flags are processor-specific. Reject them for other targets.
2-
# RUN: not llvm-mc -triple=x86_64 %s -o /dev/null 2>&1 | FileCheck %s --implicit-check-not=error:
2+
# REQUIRES: riscv-registered-target
3+
# RUN: not llvm-mc -triple=riscv32 %s -o /dev/null 2>&1 | FileCheck %s --implicit-check-not=error:
34

45
# CHECK: {{.*}}.s:[[# @LINE+1]]:34: error: unknown flag
56
.section XCORE_SHF_CP_SECTION,"c",@progbits
@@ -12,3 +13,6 @@
1213

1314
# CHECK: {{.*}}.s:[[# @LINE+1]]:30: error: unknown flag
1415
.section SHF_ARM_PURECODE,"y",@progbits
16+
17+
# CHECK: {{.*}}.s:[[# @LINE+1]]:30: error: unknown flag
18+
.section SHF_X86_64_LARGE,"l",@progbits

llvm/test/MC/ELF/section.s

+8
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,14 @@ bar:
268268
// CHECK-NEXT: SHF_WRITE
269269
// CHECK-NEXT: ]
270270

271+
.section .large,"l"
272+
// CHECK: Section {
273+
// CHECK: Name: .large
274+
// CHECK-NEXT: Type: SHT_PROGBITS
275+
// CHECK-NEXT: Flags [
276+
// CHECK-NEXT: SHF_X86_64_LARGE
277+
// CHECK-NEXT: ]
278+
271279
// Test SHT_LLVM_ODRTAB
272280

273281
.section .odrtab,"e",@llvm_odrtab

0 commit comments

Comments
 (0)