Skip to content

Commit 07d396b

Browse files
authored
[COFF] Set .llvmbc and .llvmcmd to metadata section (#150879)
Those are metadata sections for ELF but was not properly set for COFF.
1 parent 90de4a4 commit 07d396b

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1734,7 +1734,8 @@ MCSection *TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(
17341734
Name == getInstrProfSectionName(IPSK_covdata, Triple::COFF,
17351735
/*AddSegmentInfo=*/false) ||
17361736
Name == getInstrProfSectionName(IPSK_covname, Triple::COFF,
1737-
/*AddSegmentInfo=*/false))
1737+
/*AddSegmentInfo=*/false) ||
1738+
Name == ".llvmbc" || Name == ".llvmcmd")
17381739
Kind = SectionKind::getMetadata();
17391740
int Selection = 0;
17401741
unsigned Characteristics = getCOFFSectionFlags(Kind, TM);
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,23 @@
11
; RUN: llc -filetype=obj -mtriple=x86_64 %s -o %t
22
; RUN: llvm-readelf -S %t | FileCheck %s
3+
; RUN: llc -filetype=obj -mtriple=x86_64-pc-windows-msvc %s -o %t
4+
; RUN: llvm-readobj -S %t | FileCheck %s --check-prefix=COFF
35

46
; CHECK: .text PROGBITS 0000000000000000 [[#%x,OFF:]] 000000 00 AX 0
57
; CHECK-NEXT: .llvmbc PROGBITS 0000000000000000 [[#%x,OFF:]] 000004 00 0
68
; CHECK-NEXT: .llvmcmd PROGBITS 0000000000000000 [[#%x,OFF:]] 000005 00 0
79

10+
; COFF: Name: .llvmbc (2E 6C 6C 76 6D 62 63 00)
11+
; COFF: Characteristics [
12+
; COFF-NEXT: IMAGE_SCN_ALIGN_1BYTES
13+
; COFF-NEXT: IMAGE_SCN_MEM_DISCARDABLE
14+
; COFF-NEXT: ]
15+
; COFF: Name: .llvmcmd (2E 6C 6C 76 6D 63 6D 64)
16+
; COFF: Characteristics [
17+
; COFF-NEXT: IMAGE_SCN_ALIGN_1BYTES
18+
; COFF-NEXT: IMAGE_SCN_MEM_DISCARDABLE
19+
; COFF-NEXT: ]
20+
821
@llvm.embedded.module = private constant [4 x i8] c"BC\C0\DE", section ".llvmbc", align 1
922
@llvm.cmdline = private constant [5 x i8] c"-cc1\00", section ".llvmcmd", align 1
1023
@llvm.compiler.used = appending global [2 x ptr] [ptr @llvm.embedded.module, ptr @llvm.cmdline], section "llvm.metadata"

0 commit comments

Comments
 (0)