144 lines · plain
1 2; RUN: llc -mtriple powerpc-ibm-aix-xcoff -mcpu=ppc -filetype=obj -o %t.o < %s3; RUN: llvm-readobj --section-headers %t.o | FileCheck %s --check-prefixes=SEC,SEC324; RUN: llvm-objdump -r %t.o | FileCheck %s --check-prefix=RELO5 6; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -mcpu=ppc -filetype=obj -o %t64.o < %s7; RUN: llvm-readobj --section-headers %t64.o | FileCheck %s --check-prefixes=SEC,SEC648; RUN: llvm-objdump -r %t64.o | FileCheck %s --check-prefix=RELO649 10; This file is copied from test/DebugInfo/XCOFF/empty.ll.11; In this test, we focus on XCOFF related formats, like section headers,12; relocation entries.13 14source_filename = "1.c"15target datalayout = "E-m:a-p:32:32-i64:64-n32"16 17; Function Attrs: noinline nounwind optnone18define i32 @main() #0 !dbg !8 {19entry:20 %retval = alloca i32, align 421 store i32 0, ptr %retval, align 422 ret i32 0, !dbg !1223}24 25!llvm.dbg.cu = !{!0}26!llvm.module.flags = !{!3, !4, !5, !6}27!llvm.ident = !{!7}28 29!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 12.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None)30!1 = !DIFile(filename: "1.c", directory: "debug")31!2 = !{}32!3 = !{i32 7, !"Dwarf Version", i32 4}33!4 = !{i32 2, !"Debug Info Version", i32 3}34!5 = !{i32 1, !"wchar_size", i32 2}35!6 = !{i32 7, !"PIC Level", i32 2}36!7 = !{!"clang version 12.0.0"}37!8 = distinct !DISubprogram(name: "main", scope: !1, file: !1, line: 1, type: !9, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)38!9 = !DISubroutineType(types: !10)39!10 = !{!11}40!11 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)41!12 = !DILocation(line: 3, column: 3, scope: !8)42 43; SEC: Sections [44; SEC-NEXT: Section {45; SEC-NEXT: Index: 146; SEC-NEXT: Name: .text47; SEC-NEXT: PhysicalAddress: 0x048; SEC-NEXT: VirtualAddress: 0x049; SEC-NEXT: Size: 0x2850; SEC32-NEXT: RawDataOffset: 0xDC51; SEC64-NEXT: RawDataOffset: 0x18052; SEC-NEXT: RelocationPointer: 0x053; SEC-NEXT: LineNumberPointer: 0x054; SEC-NEXT: NumberOfRelocations: 055; SEC-NEXT: NumberOfLineNumbers: 056; SEC-NEXT: Type: STYP_TEXT (0x20)57; SEC-NEXT: }58; SEC-NEXT: Section {59; SEC-NEXT: Index: 260; SEC-NEXT: Name: .data61; SEC-NEXT: PhysicalAddress: 0x2862; SEC-NEXT: VirtualAddress: 0x2863; SEC32-NEXT: Size: 0xC64; SEC32-NEXT: RawDataOffset: 0x10465; SEC32-NEXT: RelocationPointer: 0x1F466; SEC64-NEXT: Size: 0x1867; SEC64-NEXT: RawDataOffset: 0x1A868; SEC64-NEXT: RelocationPointer: 0x2C869; SEC-NEXT: LineNumberPointer: 0x070; SEC-NEXT: NumberOfRelocations: 271; SEC-NEXT: NumberOfLineNumbers: 072; SEC-NEXT: Type: STYP_DATA (0x40)73; SEC-NEXT: }74; SEC-NEXT: Section {75; SEC-NEXT: Index: 376; SEC-NEXT: Name: .dwabrev77; SEC-NEXT: PhysicalAddress: 0x078; SEC-NEXT: VirtualAddress: 0x079; SEC-NEXT: Size: 0x3680; SEC32-NEXT: RawDataOffset: 0x11C81; SEC64-NEXT: RawDataOffset: 0x1C082; SEC-NEXT: RelocationPointer: 0x083; SEC-NEXT: LineNumberPointer: 0x084; SEC-NEXT: NumberOfRelocations: 085; SEC-NEXT: NumberOfLineNumbers: 086; SEC-NEXT: Type: STYP_DWARF (0x10)87; SEC-NEXT: DWARFSubType: SSUBTYP_DWABREV (0x60000)88; SEC-NEXT: }89; SEC-NEXT: Section {90; SEC-NEXT: Index: 491; SEC-NEXT: Name: .dwinfo92; SEC-NEXT: PhysicalAddress: 0x093; SEC-NEXT: VirtualAddress: 0x094; SEC32-NEXT: Size: 0x5795; SEC32-NEXT: RawDataOffset: 0x15C96; SEC32-NEXT: RelocationPointer: 0x20897; SEC64-NEXT: Size: 0x6F98; SEC64-NEXT: RawDataOffset: 0x20099; SEC64-NEXT: RelocationPointer: 0x2E4100; SEC-NEXT: LineNumberPointer: 0x0101; SEC-NEXT: NumberOfRelocations: 4102; SEC-NEXT: NumberOfLineNumbers: 0103; SEC-NEXT: Type: STYP_DWARF (0x10)104; SEC-NEXT: DWARFSubType: SSUBTYP_DWINFO (0x10000)105; SEC-NEXT: }106; SEC-NEXT: Section {107; SEC-NEXT: Index: 5108; SEC-NEXT: Name: .dwline109; SEC-NEXT: PhysicalAddress: 0x0110; SEC-NEXT: VirtualAddress: 0x0111; SEC32-NEXT: Size: 0x36112; SEC32-NEXT: RawDataOffset: 0x1BC113; SEC32-NEXT: RelocationPointer: 0x230114; SEC64-NEXT: Size: 0x46115; SEC64-NEXT: RawDataOffset: 0x280116; SEC64-NEXT: RelocationPointer: 0x31C117; SEC-NEXT: LineNumberPointer: 0x0118; SEC-NEXT: NumberOfRelocations: 1119; SEC-NEXT: NumberOfLineNumbers: 0120; SEC-NEXT: Type: STYP_DWARF (0x10)121; SEC-NEXT: DWARFSubType: SSUBTYP_DWLINE (0x20000)122; SEC-NEXT: }123; SEC-NEXT: ]124 125; RELO: RELOCATION RECORDS FOR [.dwinfo]:126; RELO-NEXT: OFFSET TYPE VALUE127; RELO-NEXT: 00000006 R_POS .dwabrev128; RELO-NEXT: 00000027 R_POS .dwline129; RELO-NEXT: 00000009 R_POS 130; RELO-NEXT: 0000003a R_POS 131; RELO: RELOCATION RECORDS FOR [.dwline]:132; RELO-NEXT: OFFSET TYPE VALUE133; RELO-NEXT: 00000000 R_POS 134 135; RELO64: RELOCATION RECORDS FOR [.dwinfo]:136; RELO64-NEXT: OFFSET TYPE VALUE137; RELO64-NEXT: 000000000000000e R_POS .dwabrev138; RELO64-NEXT: 000000000000000b R_POS .dwline139; RELO64-NEXT: 0000000000000041 R_POS 140; RELO64-NEXT: 000000000000004e R_POS 141; RELO64: RELOCATION RECORDS FOR [.dwline]:142; RELO64-NEXT: OFFSET TYPE VALUE143; RELO64-NEXT: 000000000000000c R_POS 144