}
void BTFDebug::emitBTFSection() {
+ // Do not emit section if no types and only "" string.
+ if (!TypeEntries.size() && StringTable.getSize() == 1)
+ return;
+
MCContext &Ctx = OS.getContext();
OS.SwitchSection(Ctx.getELFSection(".BTF", ELF::SHT_PROGBITS, 0));
}
void BTFDebug::emitBTFExtSection() {
+ // Do not emit section if empty FuncInfoTable and LineInfoTable.
+ if (!FuncInfoTable.size() && !LineInfoTable.size())
+ return;
+
MCContext &Ctx = OS.getContext();
OS.SwitchSection(Ctx.getELFSection(".BTF.ext", ELF::SHT_PROGBITS, 0));
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "char" # string offset=21
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "int" # string offset=21
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "int" # string offset=21
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .byte 116 # string offset=21
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 2, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "unsigned int" # string offset=32
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 3, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "char" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
--- /dev/null
+; RUN: llc -march=bpfel -filetype=asm -o - %s | FileCheck -check-prefixes=CHECK %s
+; RUN: llc -march=bpfeb -filetype=asm -o - %s | FileCheck -check-prefixes=CHECK %s
+
+; Source code:
+; int test(int arg) { return arg; }
+; Compilation flag:
+; clang -target bpf -O2 -S -emit-llvm t.c
+
+; Function Attrs: norecurse nounwind readnone
+define dso_local i32 @test(i32 returned) local_unnamed_addr #0 {
+ ret i32 %0
+}
+
+; CHECK-NOT: BTF
+
+attributes #0 = { norecurse nounwind readnone }
+
+!llvm.module.flags = !{!0}
+!llvm.ident = !{!1}
+
+!0 = !{i32 1, !"wchar_size", i32 4}
+!1 = !{!"clang version 8.0.20181009 "}
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .byte 66 # string offset=3
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !5, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "t1" # string offset=6
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 2, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .byte 112 # string offset=4
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 2, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "int" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "long long int" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .long 167772160 # 0xa000000
; CHECK-NEXT: .long 0
; CHECK-NEXT: .byte 0 # string offset=0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "p", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .long 218103808 # 0xd000000
; CHECK-NEXT: .long 0
; CHECK-NEXT: .byte 0 # string offset=0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "char" # string offset=5
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "int" # string offset=7
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 2, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "int" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
-
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .long 33554432 # 0x2000000
; CHECK-NEXT: .long 0
; CHECK-NEXT: .byte 0 # string offset=0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .long 150994944 # 0x9000000
; CHECK-NEXT: .long 0
; CHECK-NEXT: .byte 0 # string offset=0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "p", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .long 150994944 # 0x9000000
; CHECK-NEXT: .long 0
; CHECK-NEXT: .byte 0 # string offset=0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "p", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "int" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "p", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "short" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "int" # string offset=3
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "int" # string offset=15
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "int" # string offset=23
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 3, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .byte 66 # string offset=13
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 2, type: !11, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "unsigned char" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "unsigned int" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "long long unsigned int" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0
; CHECK-NEXT: .ascii "int" # string offset=37
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 2, type: !6, isLocal: false, isDefinition: true)
; CHECK-NEXT: .byte 0 # string offset=0
; CHECK-NEXT: .ascii "unsigned short" # string offset=1
; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .section .BTF.ext,"",@progbits
-; CHECK-NEXT: .short 60319 # 0xeb9f
-; CHECK-NEXT: .byte 1
-; CHECK-NEXT: .byte 0
-; CHECK-NEXT: .long 24
-; CHECK-NEXT: .long 0
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 4
-; CHECK-NEXT: .long 8 # FuncInfo
-; CHECK-NEXT: .long 16 # LineInfo
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "a", scope: !2, file: !3, line: 1, type: !6, isLocal: false, isDefinition: true)