156 changes: 78 additions & 78 deletions llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect.ll
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@
; RUN: -mattr=-altivec -function-sections -xcoff-traceback-table=true \
; RUN: -filetype=obj -o %t32.o < %s
; RUN: llvm-objdump --syms --reloc --symbol-description %t32.o | \
; RUN: FileCheck --check-prefix=XCOFF32 %s
; RUN: FileCheck -D#NFA=2 --check-prefix=XCOFF32 %s
; RUN: llvm-objdump -dr --symbol-description %t32.o | \
; RUN: FileCheck --check-prefix=DIS32 %s
; RUN: FileCheck -D#NFA=2 --check-prefix=DIS32 %s

; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -mcpu=pwr4 \
; RUN: -mattr=-altivec -function-sections -xcoff-traceback-table=true \
; RUN: -filetype=obj -o %t64.o < %s
; RUN: llvm-objdump --syms --reloc --symbol-description %t64.o | \
; RUN: FileCheck --check-prefix=XCOFF64 %s
; RUN: FileCheck -D#NFA=2 --check-prefix=XCOFF64 %s
; RUN: llvm-objdump -dr --symbol-description %t64.o | \
; RUN: FileCheck --check-prefix=DIS64 %s
; RUN: FileCheck -D#NFA=2 --check-prefix=DIS64 %s

@alias_foo = alias void (...), ptr @foo

Expand Down Expand Up @@ -113,117 +113,117 @@ entry:
; ASM-NEXT: .globl .alias_foo

; XCOFF32: SYMBOL TABLE:
; XCOFF32-NEXT: 00000000 df *DEBUG* 00000000 (idx: 0) <stdin>
; XCOFF32-NEXT: 00000000 *UND* 00000000 (idx: 1) .extern_foo[PR]
; XCOFF32-NEXT: 00000000 *UND* 00000000 (idx: 3) extern_foo[DS]
; XCOFF32-NEXT: 00000000 l .text 00000000 (idx: 5) [PR]
; XCOFF32-NEXT: 00000000 g .text 00000019 (idx: 7) .foo[PR]
; XCOFF32-NEXT: 00000000 g F .text (csect: (idx: 7) .foo[PR]) 00000000 (idx: 9) .alias_foo
; XCOFF32-NEXT: 00000020 g F .text 00000020 .hidden (idx: 11) .hidden_foo[PR]
; XCOFF32-NEXT: 00000040 g F .text 00000059 (idx: 13) .bar[PR]
; XCOFF32-NEXT: 000000c0 l F .text 0000002a (idx: 15) .static_overalign_foo[PR]
; XCOFF32-NEXT: 000000ec g O .data 0000000c (idx: 17) foo[DS]
; XCOFF32-NEXT: 000000ec g O .data (csect: (idx: 17) foo[DS]) 00000000 (idx: 19) alias_foo
; XCOFF32-NEXT: 000000f8 g O .data 0000000c .hidden (idx: 21) hidden_foo[DS]
; XCOFF32-NEXT: 00000104 g O .data 0000000c (idx: 23) bar[DS]
; XCOFF32-NEXT: 00000110 l O .data 0000000c (idx: 25) static_overalign_foo[DS]
; XCOFF32-NEXT: 0000011c l .data 00000000 (idx: 27) TOC[TC0]
; XCOFF32-NEXT: 00000000 df *DEBUG* 00000000 (idx: 0) .file
; XCOFF32-NEXT: 00000000 *UND* 00000000 (idx: [[#NFA+1]]) .extern_foo[PR]
; XCOFF32-NEXT: 00000000 *UND* 00000000 (idx: [[#NFA+3]]) extern_foo[DS]
; XCOFF32-NEXT: 00000000 l .text 00000000 (idx: [[#NFA+5]]) [PR]
; XCOFF32-NEXT: 00000000 g .text 00000019 (idx: [[#NFA+7]]) .foo[PR]
; XCOFF32-NEXT: 00000000 g F .text (csect: (idx: [[#NFA+7]]) .foo[PR]) 00000000 (idx: [[#NFA+9]]) .alias_foo
; XCOFF32-NEXT: 00000020 g F .text 00000020 .hidden (idx: [[#NFA+11]]) .hidden_foo[PR]
; XCOFF32-NEXT: 00000040 g F .text 00000059 (idx: [[#NFA+13]]) .bar[PR]
; XCOFF32-NEXT: 000000c0 l F .text 0000002a (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; XCOFF32-NEXT: 000000ec g O .data 0000000c (idx: [[#NFA+17]]) foo[DS]
; XCOFF32-NEXT: 000000ec g O .data (csect: (idx: [[#NFA+17]]) foo[DS]) 00000000 (idx: [[#NFA+19]]) alias_foo
; XCOFF32-NEXT: 000000f8 g O .data 0000000c .hidden (idx: [[#NFA+21]]) hidden_foo[DS]
; XCOFF32-NEXT: 00000104 g O .data 0000000c (idx: [[#NFA+23]]) bar[DS]
; XCOFF32-NEXT: 00000110 l O .data 0000000c (idx: [[#NFA+25]]) static_overalign_foo[DS]
; XCOFF32-NEXT: 0000011c l .data 00000000 (idx: [[#NFA+27]]) TOC[TC0]

; XCOFF32: RELOCATION RECORDS FOR [.text]:
; XCOFF32-NEXT: OFFSET TYPE VALUE
; XCOFF32-NEXT: 0000004c R_RBR (idx: 7) .foo[PR]
; XCOFF32-NEXT: 00000054 R_RBR (idx: 15) .static_overalign_foo[PR]
; XCOFF32-NEXT: 0000005c R_RBR (idx: 9) .alias_foo
; XCOFF32-NEXT: 00000064 R_RBR (idx: 1) .extern_foo[PR]
; XCOFF32-NEXT: 0000006c R_RBR (idx: 11) .hidden_foo[PR]
; XCOFF32-NEXT: 0000004c R_RBR (idx: [[#NFA+7]]) .foo[PR]
; XCOFF32-NEXT: 00000054 R_RBR (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; XCOFF32-NEXT: 0000005c R_RBR (idx: [[#NFA+9]]) .alias_foo
; XCOFF32-NEXT: 00000064 R_RBR (idx: [[#NFA+1]]) .extern_foo[PR]
; XCOFF32-NEXT: 0000006c R_RBR (idx: [[#NFA+11]]) .hidden_foo[PR]
; XCOFF32: RELOCATION RECORDS FOR [.data]:
; XCOFF32-NEXT: OFFSET TYPE VALUE
; XCOFF32-NEXT: 00000000 R_POS (idx: 7) .foo[PR]
; XCOFF32-NEXT: 00000004 R_POS (idx: 27) TOC[TC0]
; XCOFF32-NEXT: 0000000c R_POS (idx: 11) .hidden_foo[PR]
; XCOFF32-NEXT: 00000010 R_POS (idx: 27) TOC[TC0]
; XCOFF32-NEXT: 00000018 R_POS (idx: 13) .bar[PR]
; XCOFF32-NEXT: 0000001c R_POS (idx: 27) TOC[TC0]
; XCOFF32-NEXT: 00000024 R_POS (idx: 15) .static_overalign_foo[PR]
; XCOFF32-NEXT: 00000028 R_POS (idx: 27) TOC[TC0]
; XCOFF32-NEXT: 00000000 R_POS (idx: [[#NFA+7]]) .foo[PR]
; XCOFF32-NEXT: 00000004 R_POS (idx: [[#NFA+27]]) TOC[TC0]
; XCOFF32-NEXT: 0000000c R_POS (idx: [[#NFA+11]]) .hidden_foo[PR]
; XCOFF32-NEXT: 00000010 R_POS (idx: [[#NFA+27]]) TOC[TC0]
; XCOFF32-NEXT: 00000018 R_POS (idx: [[#NFA+13]]) .bar[PR]
; XCOFF32-NEXT: 0000001c R_POS (idx: [[#NFA+27]]) TOC[TC0]
; XCOFF32-NEXT: 00000024 R_POS (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; XCOFF32-NEXT: 00000028 R_POS (idx: [[#NFA+27]]) TOC[TC0]

; XCOFF64: SYMBOL TABLE:
; XCOFF64-NEXT: 0000000000000000 df *DEBUG* 0000000000000000 (idx: 0) <stdin>
; XCOFF64-NEXT: 0000000000000000 *UND* 0000000000000000 (idx: 1) .extern_foo[PR]
; XCOFF64-NEXT: 0000000000000000 *UND* 0000000000000000 (idx: 3) extern_foo[DS]
; XCOFF64-NEXT: 0000000000000000 l .text 0000000000000000 (idx: 5) [PR]
; XCOFF64-NEXT: 0000000000000000 g .text 0000000000000019 (idx: 7) .foo[PR]
; XCOFF64-NEXT: 0000000000000000 g F .text (csect: (idx: 7) .foo[PR]) 0000000000000000 (idx: 9) .alias_foo
; XCOFF64-NEXT: 0000000000000020 g F .text 0000000000000020 .hidden (idx: 11) .hidden_foo[PR]
; XCOFF64-NEXT: 0000000000000040 g F .text 0000000000000059 (idx: 13) .bar[PR]
; XCOFF64-NEXT: 00000000000000c0 l F .text 000000000000002a (idx: 15) .static_overalign_foo[PR]
; XCOFF64-NEXT: 00000000000000f0 g O .data 0000000000000018 (idx: 17) foo[DS]
; XCOFF64-NEXT: 00000000000000f0 g O .data (csect: (idx: 17) foo[DS]) 0000000000000000 (idx: 19) alias_foo
; XCOFF64-NEXT: 0000000000000108 g O .data 0000000000000018 .hidden (idx: 21) hidden_foo[DS]
; XCOFF64-NEXT: 0000000000000120 g O .data 0000000000000018 (idx: 23) bar[DS]
; XCOFF64-NEXT: 0000000000000138 l O .data 0000000000000018 (idx: 25) static_overalign_foo[DS]
; XCOFF64-NEXT: 0000000000000150 l .data 0000000000000000 (idx: 27) TOC[TC0]
; XCOFF64-NEXT: 0000000000000000 df *DEBUG* 0000000000000000 (idx: 0) .file
; XCOFF64-NEXT: 0000000000000000 *UND* 0000000000000000 (idx: [[#NFA+1]]) .extern_foo[PR]
; XCOFF64-NEXT: 0000000000000000 *UND* 0000000000000000 (idx: [[#NFA+3]]) extern_foo[DS]
; XCOFF64-NEXT: 0000000000000000 l .text 0000000000000000 (idx: [[#NFA+5]]) [PR]
; XCOFF64-NEXT: 0000000000000000 g .text 0000000000000019 (idx: [[#NFA+7]]) .foo[PR]
; XCOFF64-NEXT: 0000000000000000 g F .text (csect: (idx: [[#NFA+7]]) .foo[PR]) 0000000000000000 (idx: [[#NFA+9]]) .alias_foo
; XCOFF64-NEXT: 0000000000000020 g F .text 0000000000000020 .hidden (idx: [[#NFA+11]]) .hidden_foo[PR]
; XCOFF64-NEXT: 0000000000000040 g F .text 0000000000000059 (idx: [[#NFA+13]]) .bar[PR]
; XCOFF64-NEXT: 00000000000000c0 l F .text 000000000000002a (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; XCOFF64-NEXT: 00000000000000f0 g O .data 0000000000000018 (idx: [[#NFA+17]]) foo[DS]
; XCOFF64-NEXT: 00000000000000f0 g O .data (csect: (idx: [[#NFA+17]]) foo[DS]) 0000000000000000 (idx: [[#NFA+19]]) alias_foo
; XCOFF64-NEXT: 0000000000000108 g O .data 0000000000000018 .hidden (idx: [[#NFA+21]]) hidden_foo[DS]
; XCOFF64-NEXT: 0000000000000120 g O .data 0000000000000018 (idx: [[#NFA+23]]) bar[DS]
; XCOFF64-NEXT: 0000000000000138 l O .data 0000000000000018 (idx: [[#NFA+25]]) static_overalign_foo[DS]
; XCOFF64-NEXT: 0000000000000150 l .data 0000000000000000 (idx: [[#NFA+27]]) TOC[TC0]

; XCOFF64: RELOCATION RECORDS FOR [.text]:
; XCOFF64-NEXT: OFFSET TYPE VALUE
; XCOFF64-NEXT: 000000000000004c R_RBR (idx: 7) .foo[PR]
; XCOFF64-NEXT: 0000000000000054 R_RBR (idx: 15) .static_overalign_foo[PR]
; XCOFF64-NEXT: 000000000000005c R_RBR (idx: 9) .alias_foo
; XCOFF64-NEXT: 0000000000000064 R_RBR (idx: 1) .extern_foo[PR]
; XCOFF64-NEXT: 000000000000006c R_RBR (idx: 11) .hidden_foo[PR]
; XCOFF64-NEXT: 000000000000004c R_RBR (idx: [[#NFA+7]]) .foo[PR]
; XCOFF64-NEXT: 0000000000000054 R_RBR (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; XCOFF64-NEXT: 000000000000005c R_RBR (idx: [[#NFA+9]]) .alias_foo
; XCOFF64-NEXT: 0000000000000064 R_RBR (idx: [[#NFA+1]]) .extern_foo[PR]
; XCOFF64-NEXT: 000000000000006c R_RBR (idx: [[#NFA+11]]) .hidden_foo[PR]
; XCOFF64: RELOCATION RECORDS FOR [.data]:
; XCOFF64-NEXT: OFFSET TYPE VALUE
; XCOFF64-NEXT: 0000000000000000 R_POS (idx: 7) .foo[PR]
; XCOFF64-NEXT: 0000000000000008 R_POS (idx: 27) TOC[TC0]
; XCOFF64-NEXT: 0000000000000018 R_POS (idx: 11) .hidden_foo[PR]
; XCOFF64-NEXT: 0000000000000020 R_POS (idx: 27) TOC[TC0]
; XCOFF64-NEXT: 0000000000000030 R_POS (idx: 13) .bar[PR]
; XCOFF64-NEXT: 0000000000000038 R_POS (idx: 27) TOC[TC0]
; XCOFF64-NEXT: 0000000000000048 R_POS (idx: 15) .static_overalign_foo[PR]
; XCOFF64-NEXT: 0000000000000050 R_POS (idx: 27) TOC[TC0]
; XCOFF64-NEXT: 0000000000000000 R_POS (idx: [[#NFA+7]]) .foo[PR]
; XCOFF64-NEXT: 0000000000000008 R_POS (idx: [[#NFA+27]]) TOC[TC0]
; XCOFF64-NEXT: 0000000000000018 R_POS (idx: [[#NFA+11]]) .hidden_foo[PR]
; XCOFF64-NEXT: 0000000000000020 R_POS (idx: [[#NFA+27]]) TOC[TC0]
; XCOFF64-NEXT: 0000000000000030 R_POS (idx: [[#NFA+13]]) .bar[PR]
; XCOFF64-NEXT: 0000000000000038 R_POS (idx: [[#NFA+27]]) TOC[TC0]
; XCOFF64-NEXT: 0000000000000048 R_POS (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; XCOFF64-NEXT: 0000000000000050 R_POS (idx: [[#NFA+27]]) TOC[TC0]

; DIS32: Disassembly of section .text:
; DIS32: 00000000 (idx: 9) .alias_foo:
; DIS32: 00000020 (idx: 11) .hidden_foo[PR]:
; DIS32: 00000040 (idx: 13) .bar[PR]:
; DIS32: 00000000 (idx: [[#NFA+9]]) .alias_foo:
; DIS32: 00000020 (idx: [[#NFA+11]]) .hidden_foo[PR]:
; DIS32: 00000040 (idx: [[#NFA+13]]) .bar[PR]:
; DIS32-NEXT: 40: 7c 08 02 a6 mflr 0
; DIS32-NEXT: 44: 94 21 ff c0 stwu 1, -64(1)
; DIS32-NEXT: 48: 90 01 00 48 stw 0, 72(1)
; DIS32-NEXT: 4c: 4b ff ff b5 bl 0x0 <.foo>
; DIS32-NEXT: 0000004c: R_RBR (idx: 7) .foo[PR]
; DIS32-NEXT: 0000004c: R_RBR (idx: [[#NFA+7]]) .foo[PR]
; DIS32-NEXT: 50: 60 00 00 00 nop
; DIS32-NEXT: 54: 48 00 00 6d bl 0xc0 <.static_overalign_foo>
; DIS32-NEXT: 00000054: R_RBR (idx: 15) .static_overalign_foo[PR]
; DIS32-NEXT: 00000054: R_RBR (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; DIS32-NEXT: 58: 60 00 00 00 nop
; DIS32-NEXT: 5c: 4b ff ff a5 bl 0x0 <.alias_foo>
; DIS32-NEXT: 0000005c: R_RBR (idx: 9) .alias_foo
; DIS32-NEXT: 0000005c: R_RBR (idx: [[#NFA+9]]) .alias_foo
; DIS32-NEXT: 60: 60 00 00 00 nop
; DIS32-NEXT: 64: 4b ff ff 9d bl 0x0 <.extern_foo>
; DIS32-NEXT: 00000064: R_RBR (idx: 1) .extern_foo[PR]
; DIS32-NEXT: 00000064: R_RBR (idx: [[#NFA+1]]) .extern_foo[PR]
; DIS32-NEXT: 68: 60 00 00 00 nop
; DIS32-NEXT: 6c: 4b ff ff b5 bl 0x20 <.hidden_foo>
; DIS32-NEXT: 0000006c: R_RBR (idx: 11) .hidden_foo[PR]
; DIS32: 000000c0 (idx: 15) .static_overalign_foo[PR]:
; DIS32-NEXT: 0000006c: R_RBR (idx: [[#NFA+11]]) .hidden_foo[PR]
; DIS32: 000000c0 (idx: [[#NFA+15]]) .static_overalign_foo[PR]:

; DIS64: Disassembly of section .text:
; DIS64: 0000000000000000 (idx: 9) .alias_foo:
; DIS64: 0000000000000020 (idx: 11) .hidden_foo[PR]:
; DIS64: 0000000000000040 (idx: 13) .bar[PR]:
; DIS64: 0000000000000000 (idx: [[#NFA+9]]) .alias_foo:
; DIS64: 0000000000000020 (idx: [[#NFA+11]]) .hidden_foo[PR]:
; DIS64: 0000000000000040 (idx: [[#NFA+13]]) .bar[PR]:
; DIS64-NEXT: 40: 7c 08 02 a6 mflr 0
; DIS64-NEXT: 44: f8 21 ff 91 stdu 1, -112(1)
; DIS64-NEXT: 48: f8 01 00 80 std 0, 128(1)
; DIS64-NEXT: 4c: 4b ff ff b5 bl 0x0 <.foo>
; DIS64-NEXT: 000000000000004c: R_RBR (idx: 7) .foo[PR]
; DIS64-NEXT: 000000000000004c: R_RBR (idx: [[#NFA+7]]) .foo[PR]
; DIS64-NEXT: 50: 60 00 00 00 nop
; DIS64-NEXT: 54: 48 00 00 6d bl 0xc0 <.static_overalign_foo>
; DIS64-NEXT: 0000000000000054: R_RBR (idx: 15) .static_overalign_foo[PR]
; DIS64-NEXT: 0000000000000054: R_RBR (idx: [[#NFA+15]]) .static_overalign_foo[PR]
; DIS64-NEXT: 58: 60 00 00 00 nop
; DIS64-NEXT: 5c: 4b ff ff a5 bl 0x0 <.alias_foo>
; DIS64-NEXT: 000000000000005c: R_RBR (idx: 9) .alias_foo
; DIS64-NEXT: 000000000000005c: R_RBR (idx: [[#NFA+9]]) .alias_foo
; DIS64-NEXT: 60: 60 00 00 00 nop
; DIS64-NEXT: 64: 4b ff ff 9d bl 0x0 <.extern_foo>
; DIS64-NEXT: 0000000000000064: R_RBR (idx: 1) .extern_foo[PR]
; DIS64-NEXT: 0000000000000064: R_RBR (idx: [[#NFA+1]]) .extern_foo[PR]
; DIS64-NEXT: 68: 60 00 00 00 nop
; DIS64-NEXT: 6c: 4b ff ff b5 bl 0x20 <.hidden_foo>
; DIS64-NEXT: 000000000000006c: R_RBR (idx: 11) .hidden_foo[PR]
; DIS64: 00000000000000c0 (idx: 15) .static_overalign_foo[PR]:
; DIS64-NEXT: 000000000000006c: R_RBR (idx: [[#NFA+11]]) .hidden_foo[PR]
; DIS64: 00000000000000c0 (idx: [[#NFA+15]]) .static_overalign_foo[PR]:
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/PowerPC/aix-xcoff-lcomm.ll
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
; OBJ-NEXT: TimeStamp:
; OBJ32-NEXT: SymbolTableOffset: 0x64
; OBJ64-NEXT: SymbolTableOffset: 0xA8
; OBJ-NEXT: SymbolTableEntries: 9
; OBJ-NEXT: SymbolTableEntries: 11
; OBJ-NEXT: OptionalHeaderSize: 0x0
; OBJ-NEXT: Flags: 0x0
; OBJ-NEXT: }
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/PowerPC/aix-xcoff-reloc-large.ll
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ entry:

; DIS64: Disassembly of section .text:
; DIS64-EMPTY:
; DIS64-NEXT: 0000000000000000 (idx: 3) .foo:
; DIS64-NEXT: 0000000000000000 (idx: {{[0-9]+}}) .foo:
; DIS64-NEXT: 0: 3c 62 00 00 addis 3, 2, 0
; DIS64-NEXT: 0000000000000002: R_TOCU (idx: [[#INDX:]]) a[TE]
; DIS64-NEXT: 4: 3c 82 00 00 addis 4, 2, 0
Expand Down
46 changes: 29 additions & 17 deletions llvm/test/CodeGen/PowerPC/aix-xcoff-reloc.ll
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -mattr=-altivec \
; RUN: -xcoff-traceback-table=false -data-sections=false -filetype=obj -o %t.o < %s
; RUN: llvm-readobj --section-headers --file-header %t.o | FileCheck --check-prefixes=OBJ,OBJ32 %s
; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck --check-prefixes=RELOC,RELOC32 %s
; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYM,SYM32 %s
; RUN: llvm-readobj --section-headers --file-header %t.o | FileCheck -D#NFA=2 --check-prefixes=OBJ,OBJ32 %s
; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck -D#NFA=2 --check-prefixes=RELOC,RELOC32 %s
; RUN: llvm-readobj --syms %t.o | FileCheck -D#NFA=2 --check-prefixes=SYM,SYM32 %s
; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s
; RUN: llvm-objdump -r %t.o | FileCheck --check-prefix=DIS_REL %s

; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -mattr=-altivec \
; RUN: -xcoff-traceback-table=false -data-sections=false -filetype=obj -o %t64.o < %s
; RUN: llvm-readobj --section-headers --file-header %t64.o | FileCheck --check-prefixes=OBJ,OBJ64 %s
; RUN: llvm-readobj --relocs --expand-relocs %t64.o | FileCheck --check-prefixes=RELOC,RELOC64 %s
; RUN: llvm-readobj --syms %t64.o | FileCheck --check-prefixes=SYM,SYM64 %s
; RUN: llvm-readobj --section-headers --file-header %t64.o | FileCheck -D#NFA=2 --check-prefixes=OBJ,OBJ64 %s
; RUN: llvm-readobj --relocs --expand-relocs %t64.o | FileCheck -D#NFA=2 --check-prefixes=RELOC,RELOC64 %s
; RUN: llvm-readobj --syms %t64.o | FileCheck -D#NFA=2 --check-prefixes=SYM,SYM64 %s
; RUN: llvm-objdump -D %t64.o | FileCheck --check-prefix=DIS64 %s
; RUN: llvm-objdump -r %t64.o | FileCheck --check-prefix=DIS_REL64 %s

Expand Down Expand Up @@ -38,7 +38,7 @@ declare i32 @bar(i32)
; OBJ-NEXT: TimeStamp: None (0x0)
; OBJ32-NEXT: SymbolTableOffset: 0x13C
; OBJ64-NEXT: SymbolTableOffset: 0x1B8
; OBJ-NEXT: SymbolTableEntries: 27
; OBJ-NEXT: SymbolTableEntries: [[#NFA+27]]
; OBJ-NEXT: OptionalHeaderSize: 0x0
; OBJ-NEXT: Flags: 0x0
; OBJ-NEXT: }
Expand Down Expand Up @@ -80,23 +80,23 @@ declare i32 @bar(i32)
; RELOC-NEXT: Section (index: 1) .text {
; RELOC-NEXT: Relocation {
; RELOC-NEXT: Virtual Address: 0x10
; RELOC-NEXT: Symbol: .bar (1)
; RELOC-NEXT: Symbol: .bar ([[#NFA+1]])
; RELOC-NEXT: IsSigned: Yes
; RELOC-NEXT: FixupBitValue: 0
; RELOC-NEXT: Length: 26
; RELOC-NEXT: Type: R_RBR (0x1A)
; RELOC-NEXT: }
; RELOC-NEXT: Relocation {
; RELOC-NEXT: Virtual Address: 0x1A
; RELOC-NEXT: Symbol: globalA (23)
; RELOC-NEXT: Symbol: globalA ([[#NFA+23]])
; RELOC-NEXT: IsSigned: No
; RELOC-NEXT: FixupBitValue: 0
; RELOC-NEXT: Length: 16
; RELOC-NEXT: Type: R_TOC (0x3)
; RELOC-NEXT: }
; RELOC-NEXT: Relocation {
; RELOC-NEXT: Virtual Address: 0x1E
; RELOC-NEXT: Symbol: globalB (25)
; RELOC-NEXT: Symbol: globalB ([[#NFA+25]])
; RELOC-NEXT: IsSigned: No
; RELOC-NEXT: FixupBitValue: 0
; RELOC-NEXT: Length: 16
Expand All @@ -106,7 +106,7 @@ declare i32 @bar(i32)
; RELOC-NEXT: Section (index: 2) .data {
; RELOC-NEXT: Relocation {
; RELOC-NEXT: Virtual Address: 0x70
; RELOC-NEXT: Symbol: arr (15)
; RELOC-NEXT: Symbol: arr ([[#NFA+15]])
; RELOC-NEXT: IsSigned: No
; RELOC-NEXT: FixupBitValue: 0
; RELOC32-NEXT: Length: 32
Expand All @@ -116,7 +116,7 @@ declare i32 @bar(i32)
; RELOC-NEXT: Relocation {
; RELOC32-NEXT: Virtual Address: 0x74
; RELOC64-NEXT: Virtual Address: 0x78
; RELOC-NEXT: Symbol: .foo (7)
; RELOC-NEXT: Symbol: .foo ([[#NFA+7]])
; RELOC-NEXT: IsSigned: No
; RELOC-NEXT: FixupBitValue: 0
; RELOC32-NEXT: Length: 32
Expand All @@ -126,7 +126,7 @@ declare i32 @bar(i32)
; RELOC-NEXT: Relocation {
; RELOC32-NEXT: Virtual Address: 0x78
; RELOC64-NEXT: Virtual Address: 0x80
; RELOC-NEXT: Symbol: TOC (21)
; RELOC-NEXT: Symbol: TOC ([[#NFA+21]])
; RELOC-NEXT: IsSigned: No
; RELOC-NEXT: FixupBitValue: 0
; RELOC32-NEXT: Length: 32
Expand All @@ -136,7 +136,7 @@ declare i32 @bar(i32)
; RELOC-NEXT: Relocation {
; RELOC32-NEXT: Virtual Address: 0x80
; RELOC64-NEXT: Virtual Address: 0x90
; RELOC-NEXT: Symbol: globalA (11)
; RELOC-NEXT: Symbol: globalA ([[#NFA+11]])
; RELOC-NEXT: IsSigned: No
; RELOC-NEXT: FixupBitValue: 0
; RELOC32-NEXT: Length: 32
Expand All @@ -146,7 +146,7 @@ declare i32 @bar(i32)
; RELOC-NEXT: Relocation {
; RELOC32-NEXT: Virtual Address: 0x84
; RELOC64-NEXT: Virtual Address: 0x98
; RELOC-NEXT: Symbol: globalB (13)
; RELOC-NEXT: Symbol: globalB ([[#NFA+13]])
; RELOC-NEXT: IsSigned: No
; RELOC-NEXT: FixupBitValue: 0
; RELOC32-NEXT: Length: 32
Expand All @@ -159,14 +159,26 @@ declare i32 @bar(i32)
; SYM: Symbols [
; SYM-NEXT: Symbol {
; SYM-NEXT: Index: 0
; SYM-NEXT: Name: <stdin>
; SYM-NEXT: Name: .file
; SYM-NEXT: Value (SymbolTableIndex): 0x0
; SYM-NEXT: Section: N_DEBUG
; SYM-NEXT: Source Language ID: TB_CPLUSPLUS (0x9)
; SYM32-NEXT: CPU Version ID: TCPU_COM (0x3)
; SYM64-NEXT: CPU Version ID: TCPU_PPC64 (0x2)
; SYM-NEXT: StorageClass: C_FILE (0x67)
; SYM-NEXT: NumberOfAuxEntries: 0
; SYM-NEXT: NumberOfAuxEntries: 2
; SYM-NEXT: File Auxiliary Entry {
; SYM-NEXT: Index: 1
; SYM-NEXT: Name: <stdin>
; SYM-NEXT: Type: XFT_FN (0x0)
; SYM64-NEXT: Auxiliary Type: AUX_FILE (0xFC)
; SYM-NEXT: }
; SYM-NEXT: File Auxiliary Entry {
; SYM-NEXT: Index: 2
; SYM-NEXT: Name: LLVM version 18.0.0git
; SYM-NEXT: Type: XFT_CV (0x2)
; SYM64-NEXT: Auxiliary Type: AUX_FILE (0xFC)
; SYM-NEXT: }
; SYM-NEXT: }
; SYM-NEXT: Symbol {
; SYM-NEXT: Index: [[#INDX:]]
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
; OBJ-NEXT: TimeStamp: None (0x0)
; OBJ32-NEXT: SymbolTableOffset: 0x8C
; OBJ64-NEXT: SymbolTableOffset: 0xB0
; OBJ-NEXT: SymbolTableEntries: 21
; OBJ-NEXT: SymbolTableEntries: 23
; OBJ-NEXT: OptionalHeaderSize: 0x0
; OBJ-NEXT: Flags: 0x0
; OBJ-NEXT: }
Expand Down
46 changes: 23 additions & 23 deletions llvm/test/CodeGen/PowerPC/aix-xcoff-symbol-rename.ll
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -mcpu=pwr4 \
; RUN: -mattr=-altivec -data-sections=false -xcoff-traceback-table=false -filetype=obj -o %t.o < %s
; RUN: llvm-objdump -D -r --symbol-description %t.o | \
; RUN: FileCheck --check-prefix=OBJ %s
; RUN: FileCheck --check-prefix=OBJ -D#NFA=2 %s

; This is f`o
@"f\60o" = global i32 10, align 4
Expand Down Expand Up @@ -105,12 +105,12 @@ declare i32 @"f\40o"(...)

; OBJ: Disassembly of section .text:
; OBJ-EMPTY:
; OBJ-NEXT: 00000000 (idx: 7) .f$o:
; OBJ-NEXT: 00000000 (idx: [[#NFA+7]]) .f$o:
; OBJ-NEXT: 0: 7c 08 02 a6 mflr 0
; OBJ-NEXT: 4: 94 21 ff c0 stwu 1, -64(1)
; OBJ-NEXT: 8: 90 01 00 48 stw 0, 72(1)
; OBJ-NEXT: c: 4b ff ff f5 bl 0x0
; OBJ-NEXT: 0000000c: R_RBR (idx: 1) .f@o[PR]
; OBJ-NEXT: 0000000c: R_RBR (idx: [[#NFA+1]]) .f@o[PR]
; OBJ-NEXT: 10: 60 00 00 00 nop
; OBJ-NEXT: 14: 38 21 00 40 addi 1, 1, 64
; OBJ-NEXT: 18: 80 01 00 08 lwz 0, 8(1)
Expand All @@ -120,13 +120,13 @@ declare i32 @"f\40o"(...)
; OBJ-NEXT: 28: 60 00 00 00 nop
; OBJ-NEXT: 2c: 60 00 00 00 nop
; OBJ-EMPTY:
; OBJ-NEXT: 00000030 (idx: 9) .f&o:
; OBJ-NEXT: 00000030 (idx: [[#NFA+9]]) .f&o:
; OBJ-NEXT: 30: 7c 08 02 a6 mflr 0
; OBJ-NEXT: 34: 94 21 ff c0 stwu 1, -64(1)
; OBJ-NEXT: 38: 90 01 00 48 stw 0, 72(1)
; OBJ-NEXT: 3c: 4b ff ff c5 bl 0x0
; OBJ-NEXT: 40: 80 82 00 00 lwz 4, 0(2)
; OBJ-NEXT: 00000042: R_TOC (idx: 25) f=o[TC]
; OBJ-NEXT: 00000042: R_TOC (idx: [[#NFA+25]]) f=o[TC]
; OBJ-NEXT: 44: 80 84 00 00 lwz 4, 0(4)
; OBJ-NEXT: 48: 7c 63 22 14 add 3, 3, 4
; OBJ-NEXT: 4c: 38 21 00 40 addi 1, 1, 64
Expand All @@ -135,49 +135,49 @@ declare i32 @"f\40o"(...)
; OBJ-NEXT: 58: 4e 80 00 20 blr
; OBJ-NEXT: 5c: 60 00 00 00 nop
; OBJ-EMPTY:
; OBJ-NEXT: 00000060 (idx: 11) .f&_o:
; OBJ-NEXT: 00000060 (idx: [[#NFA+11]]) .f&_o:
; OBJ-NEXT: 60: 80 62 00 04 lwz 3, 4(2)
; OBJ-NEXT: 00000062: R_TOC (idx: 27) f@o[TC]
; OBJ-NEXT: 00000062: R_TOC (idx: [[#NFA+27]]) f@o[TC]
; OBJ-NEXT: 64: 4e 80 00 20 blr
; OBJ-EMPTY:
; OBJ-NEXT: Disassembly of section .data:
; OBJ-EMPTY:
; OBJ-NEXT: 00000068 (idx: 15) f`o:
; OBJ-NEXT: 00000068 (idx: [[#NFA+15]]) f`o:
; OBJ-NEXT: 68: 00 00 00 0a <unknown>
; OBJ-EMPTY:
; OBJ-NEXT: 0000006c (idx: 17) f$o[DS]:
; OBJ-NEXT: 0000006c (idx: [[#NFA+17]]) f$o[DS]:
; OBJ-NEXT: 6c: 00 00 00 00 <unknown>
; OBJ-NEXT: 0000006c: R_POS (idx: 7) .f$o
; OBJ-NEXT: 0000006c: R_POS (idx: [[#NFA+7]]) .f$o
; OBJ-NEXT: 70: 00 00 00 90 <unknown>
; OBJ-NEXT: 00000070: R_POS (idx: 23) TOC[TC0]
; OBJ-NEXT: 00000070: R_POS (idx: [[#NFA+23]]) TOC[TC0]
; OBJ-NEXT: 74: 00 00 00 00 <unknown>
; OBJ-EMPTY:
; OBJ-NEXT: 00000078 (idx: 19) f&o[DS]:
; OBJ-NEXT: 00000078 (idx: [[#NFA+19]]) f&o[DS]:
; OBJ-NEXT: 78: 00 00 00 30 <unknown>
; OBJ-NEXT: 00000078: R_POS (idx: 9) .f&o
; OBJ-NEXT: 00000078: R_POS (idx: [[#NFA+9]]) .f&o
; OBJ-NEXT: 7c: 00 00 00 90 <unknown>
; OBJ-NEXT: 0000007c: R_POS (idx: 23) TOC[TC0]
; OBJ-NEXT: 0000007c: R_POS (idx: [[#NFA+23]]) TOC[TC0]
; OBJ-NEXT: 80: 00 00 00 00 <unknown>
; OBJ-EMPTY:
; OBJ-NEXT: 00000084 (idx: 21) f&_o[DS]:
; OBJ-NEXT: 00000084 (idx: [[#NFA+21]]) f&_o[DS]:
; OBJ-NEXT: 84: 00 00 00 60 <unknown>
; OBJ-NEXT: 00000084: R_POS (idx: 11) .f&_o
; OBJ-NEXT: 00000084: R_POS (idx: [[#NFA+11]]) .f&_o
; OBJ-NEXT: 88: 00 00 00 90 <unknown>
; OBJ-NEXT: 00000088: R_POS (idx: 23) TOC[TC0]
; OBJ-NEXT: 00000088: R_POS (idx: [[#NFA+23]]) TOC[TC0]
; OBJ-NEXT: 8c: 00 00 00 00 <unknown>
; OBJ-EMPTY:
; OBJ-NEXT: 00000090 (idx: 25) f=o[TC]:
; OBJ-NEXT: 00000090 (idx: [[#NFA+25]]) f=o[TC]:
; OBJ-NEXT: 90: 00 00 00 9c <unknown>
; OBJ-NEXT: 00000090: R_POS (idx: 31) f=o[BS]
; OBJ-NEXT: 00000090: R_POS (idx: [[#NFA+31]]) f=o[BS]
; OBJ-EMPTY:
; OBJ-NEXT: 00000094 (idx: 27) f@o[TC]:
; OBJ-NEXT: 00000094 (idx: [[#NFA+27]]) f@o[TC]:
; OBJ-NEXT: 94: 00 00 00 00 <unknown>
; OBJ-NEXT: 00000094: R_POS (idx: 3) f@o[DS]
; OBJ-NEXT: 00000094: R_POS (idx: [[#NFA+3]]) f@o[DS]
; OBJ-EMPTY:
; OBJ-NEXT: Disassembly of section .bss:
; OBJ-EMPTY:
; OBJ-NEXT: 00000098 (idx: 29) f"o"[RW]:
; OBJ-NEXT: 00000098 (idx: [[#NFA+29]]) f"o"[RW]:
; OBJ-NEXT: ...
; OBJ-EMPTY:
; OBJ-NEXT: 0000009c (idx: 31) f=o[BS]:
; OBJ-NEXT: 0000009c (idx: [[#NFA+31]]) f=o[BS]:
; OBJ-NEXT: ...
22 changes: 10 additions & 12 deletions llvm/test/CodeGen/PowerPC/basic-toc-data-def.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -verify-machineinstrs < %s | FileCheck %s

; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff -verify-machineinstrs < %s -o %t32.o
; RUN: llvm-readobj %t32.o --syms | FileCheck %s --check-prefix=OBJ32
; RUN: llvm-readobj %t32.o --syms | FileCheck %s -D#INDX=5 --check-prefix=OBJ32
; RUN: llc -filetype=obj -mtriple powerpc64-ibm-aix-xcoff -verify-machineinstrs < %s -o %t64.o
; RUN: llvm-readobj %t64.o --syms | FileCheck %s --check-prefix=OBJ64
; RUN: llvm-readobj %t64.o --syms | FileCheck %s -D#INDX=5 --check-prefix=OBJ64

@i = global i32 55, align 4 #0

Expand All @@ -16,16 +16,15 @@ attributes #0 = { "toc-data" }
; CHECK-NEXT: .align 2
; CHECK-NEXT: .vbyte 4, 55

; OBJ32: Symbol {
; OBJ32: Index: 3
; OBJ32: Index: [[#INDX]]
; OBJ32-NEXT: Name: TOC
; OBJ32-NEXT: Value (RelocatableAddress): 0x0
; OBJ32-NEXT: Section: .data
; OBJ32-NEXT: Type: 0x0
; OBJ32-NEXT: StorageClass: C_HIDEXT (0x6B)
; OBJ32-NEXT: NumberOfAuxEntries: 1
; OBJ32-NEXT: CSECT Auxiliary Entry {
; OBJ32-NEXT: Index: 4
; OBJ32-NEXT: Index: [[#INDX+1]]
; OBJ32-NEXT: SectionLen: 0
; OBJ32-NEXT: ParameterHashIndex: 0x0
; OBJ32-NEXT: TypeChkSectNum: 0x0
Expand All @@ -37,15 +36,15 @@ attributes #0 = { "toc-data" }
; OBJ32-NEXT: }
; OBJ32-NEXT: }
; OBJ32-NEXT: Symbol {
; OBJ32-NEXT: Index: 5
; OBJ32-NEXT: Index: [[#INDX+2]]
; OBJ32-NEXT: Name: i
; OBJ32-NEXT: Value (RelocatableAddress): 0x0
; OBJ32-NEXT: Section: .data
; OBJ32-NEXT: Type: 0x0
; OBJ32-NEXT: StorageClass: C_EXT (0x2)
; OBJ32-NEXT: NumberOfAuxEntries: 1
; OBJ32-NEXT: CSECT Auxiliary Entry {
; OBJ32-NEXT: Index: 6
; OBJ32-NEXT: Index: [[#INDX+3]]
; OBJ32-NEXT: SectionLen: 4
; OBJ32-NEXT: ParameterHashIndex: 0x0
; OBJ32-NEXT: TypeChkSectNum: 0x0
Expand All @@ -57,16 +56,15 @@ attributes #0 = { "toc-data" }
; OBJ32-NEXT: }
; OBJ32-NEXT: }

; OBJ64: Symbol {
; OBJ64: Index: 3
; OBJ64: Index: [[#INDX]]
; OBJ64-NEXT: Name: TOC
; OBJ64-NEXT: Value (RelocatableAddress): 0x0
; OBJ64-NEXT: Section: .data
; OBJ64-NEXT: Type: 0x0
; OBJ64-NEXT: StorageClass: C_HIDEXT (0x6B)
; OBJ64-NEXT: NumberOfAuxEntries: 1
; OBJ64-NEXT: CSECT Auxiliary Entry {
; OBJ64-NEXT: Index: 4
; OBJ64-NEXT: Index: [[#INDX+1]]
; OBJ64-NEXT: SectionLen: 0
; OBJ64-NEXT: ParameterHashIndex: 0x0
; OBJ64-NEXT: TypeChkSectNum: 0x0
Expand All @@ -77,15 +75,15 @@ attributes #0 = { "toc-data" }
; OBJ64-NEXT: }
; OBJ64-NEXT: }
; OBJ64-NEXT: Symbol {
; OBJ64-NEXT: Index: 5
; OBJ64-NEXT: Index: [[#INDX+2]]
; OBJ64-NEXT: Name: i
; OBJ64-NEXT: Value (RelocatableAddress): 0x0
; OBJ64-NEXT: Section: .data
; OBJ64-NEXT: Type: 0x0
; OBJ64-NEXT: StorageClass: C_EXT (0x2)
; OBJ64-NEXT: NumberOfAuxEntries: 1
; OBJ64-NEXT: CSECT Auxiliary Entry {
; OBJ64-NEXT: Index: 6
; OBJ64-NEXT: Index: [[#INDX+3]]
; OBJ64-NEXT: SectionLen: 4
; OBJ64-NEXT: ParameterHashIndex: 0x0
; OBJ64-NEXT: TypeChkSectNum: 0x0
Expand Down
32 changes: 16 additions & 16 deletions llvm/test/CodeGen/PowerPC/basic-toc-data-extern.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -verify-machineinstrs < %s | FileCheck %s

; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff -verify-machineinstrs < %s -o %t32.o
; RUN: llvm-readobj %t32.o --syms --relocs | FileCheck %s --check-prefix=OBJ32
; RUN: llvm-readobj %t32.o --syms --relocs | FileCheck %s -D#NFA=2 --check-prefix=OBJ32
; RUN: llc -filetype=obj -mtriple powerpc64-ibm-aix-xcoff -verify-machineinstrs < %s -o %t64.o
; RUN: llvm-readobj %t64.o --syms --relocs | FileCheck %s --check-prefix=OBJ64
; RUN: llvm-readobj %t64.o --syms --relocs | FileCheck %s -D#NFA=2 --check-prefix=OBJ64

@i = external global i32, align 4 #0

Expand All @@ -22,24 +22,24 @@ attributes #0 = { "toc-data" }

; OBJ32: Relocations [
; OBJ32-NEXT: Section (index: 1) .text {
; OBJ32-NEXT: 0x2 R_TOC i(1) 0xF
; OBJ32-NEXT: 0x2 R_TOC i([[#NFA+1]]) 0xF
; OBJ32-NEXT: }
; OBJ32-NEXT: Section (index: 2) .data {
; OBJ32-NEXT: 0x20 R_POS .get(5) 0x1F
; OBJ32-NEXT: 0x24 R_POS TOC(9) 0x1F
; OBJ32-NEXT: 0x20 R_POS .get([[#NFA+5]]) 0x1F
; OBJ32-NEXT: 0x24 R_POS TOC([[#NFA+9]]) 0x1F
; OBJ32-NEXT: }
; OBJ32-NEXT: ]

; OBJ32: Symbol {
; OBJ32: Index: 1
; OBJ32: Index: [[#NFA+1]]
; OBJ32-NEXT: Name: i
; OBJ32-NEXT: Value (RelocatableAddress): 0x0
; OBJ32-NEXT: Section: N_UNDEF
; OBJ32-NEXT: Type: 0x0
; OBJ32-NEXT: StorageClass: C_EXT (0x2)
; OBJ32-NEXT: NumberOfAuxEntries: 1
; OBJ32-NEXT: CSECT Auxiliary Entry {
; OBJ32-NEXT: Index: 2
; OBJ32-NEXT: Index: [[#NFA+2]]
; OBJ32-NEXT: SectionLen: 0
; OBJ32-NEXT: ParameterHashIndex: 0x0
; OBJ32-NEXT: TypeChkSectNum: 0x0
Expand All @@ -51,15 +51,15 @@ attributes #0 = { "toc-data" }
; OBJ32-NEXT: }
; OBJ32-NEXT: }
; OBJ32: Symbol {
; OBJ32: Index: 9
; OBJ32: Index: [[#NFA+9]]
; OBJ32-NEXT: Name: TOC
; OBJ32-NEXT: Value (RelocatableAddress): 0x2C
; OBJ32-NEXT: Section: .data
; OBJ32-NEXT: Type: 0x0
; OBJ32-NEXT: StorageClass: C_HIDEXT (0x6B)
; OBJ32-NEXT: NumberOfAuxEntries: 1
; OBJ32-NEXT: CSECT Auxiliary Entry {
; OBJ32-NEXT: Index: 10
; OBJ32-NEXT: Index: [[#NFA+10]]
; OBJ32-NEXT: SectionLen: 0
; OBJ32-NEXT: ParameterHashIndex: 0x0
; OBJ32-NEXT: TypeChkSectNum: 0x0
Expand All @@ -73,24 +73,24 @@ attributes #0 = { "toc-data" }

; OBJ64: Relocations [
; OBJ64-NEXT: Section (index: 1) .text {
; OBJ64-NEXT: 0x2 R_TOC i(1) 0xF
; OBJ64-NEXT: 0x2 R_TOC i([[#NFA+1]]) 0xF
; OBJ64-NEXT: }
; OBJ64-NEXT: Section (index: 2) .data {
; OBJ64-NEXT: 0x20 R_POS .get(5) 0x3F
; OBJ64-NEXT: 0x28 R_POS TOC(9) 0x3F
; OBJ64-NEXT: 0x20 R_POS .get([[#NFA+5]]) 0x3F
; OBJ64-NEXT: 0x28 R_POS TOC([[#NFA+9]]) 0x3F
; OBJ64-NEXT: }
; OBJ64-NEXT: ]

; OBJ64: Symbol {
; OBJ64: Index: 1
; OBJ64: Index: [[#NFA+1]]
; OBJ64-NEXT: Name: i
; OBJ64-NEXT: Value (RelocatableAddress): 0x0
; OBJ64-NEXT: Section: N_UNDEF
; OBJ64-NEXT: Type: 0x0
; OBJ64-NEXT: StorageClass: C_EXT (0x2)
; OBJ64-NEXT: NumberOfAuxEntries: 1
; OBJ64-NEXT: CSECT Auxiliary Entry {
; OBJ64-NEXT: Index: 2
; OBJ64-NEXT: Index: [[#NFA+2]]
; OBJ64-NEXT: SectionLen: 0
; OBJ64-NEXT: ParameterHashIndex: 0x0
; OBJ64-NEXT: TypeChkSectNum: 0x0
Expand All @@ -101,15 +101,15 @@ attributes #0 = { "toc-data" }
; OBJ64-NEXT: }
; OBJ64-NEXT: }
; OBJ64: Symbol {
; OBJ64: Index: 9
; OBJ64: Index: [[#NFA+9]]
; OBJ64-NEXT: Name: TOC
; OBJ64-NEXT: Value (RelocatableAddress): 0x38
; OBJ64-NEXT: Section: .data
; OBJ64-NEXT: Type: 0x0
; OBJ64-NEXT: StorageClass: C_HIDEXT (0x6B)
; OBJ64-NEXT: NumberOfAuxEntries: 1
; OBJ64-NEXT: CSECT Auxiliary Entry {
; OBJ64-NEXT: Index: 10
; OBJ64-NEXT: Index: [[#NFA+10]]
; OBJ64-NEXT: SectionLen: 0
; OBJ64-NEXT: ParameterHashIndex: 0x0
; OBJ64-NEXT: TypeChkSectNum: 0x0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

; Check that we do not crash in object mode
; OBJ64: Exception section {
; OBJ64-NEXT: Symbol: .test__tdw_annotation (6)
; OBJ64-NEXT: Symbol: .test__tdw_annotation

!1 = !{!"ppc-trap-reason", !"1", !"2"}
declare void @llvm.ppc.trapd(i64 %a)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

; Check that we do not crash in object mode
; OBJ: Exception section {
; OBJ-NEXT: Symbol: .test__trap_annotation (3)
; OBJ-NEXT: Symbol: .test__trap_annotation

!1 = !{!"ppc-trap-reason", !"1", !"2"}
declare void @llvm.ppc.trap(i32 %a)
Expand Down
2 changes: 1 addition & 1 deletion llvm/test/CodeGen/PowerPC/pgo-ref-directive.ll
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ entry:
; WITHVNDS-NEXT: .ref __llvm_prf_vnds[RW]

; WITHVNDS-OBJ: SYMBOL TABLE:
; WITHVNDS-OBJ-NEXT: 00000000 df *DEBUG* 00000000 <stdin>
; WITHVNDS-OBJ-NEXT: 00000000 df *DEBUG* 00000000 .file
; WITHVNDS-OBJ-NEXT: 00000000 l .text 00000008
; WITHVNDS-OBJ-NEXT: 00000000 g F .text (csect: ) 00000000 .main
; WITHVNDS-OBJ-NEXT: 00000008 l .text 00000006 __llvm_prf_names
Expand Down
56 changes: 28 additions & 28 deletions llvm/test/CodeGen/PowerPC/toc-data-const.ll
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefix CHECK

; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff -verify-machineinstrs < %s -o %t32.o
; RUN: llvm-readobj %t32.o --syms --relocs | FileCheck %s --check-prefix=OBJ32
; RUN: llvm-readobj %t32.o --syms --relocs | FileCheck %s -D#NFA=2 --check-prefix=OBJ32
; RUN: llvm-objdump %t32.o -dr | FileCheck %s --check-prefix=DIS32

; RUN: llc -filetype=obj -mtriple powerpc64-ibm-aix-xcoff -verify-machineinstrs < %s -o %t64.o
; RUN: llvm-readobj %t64.o --syms --relocs | FileCheck %s --check-prefix=OBJ64
; RUN: llvm-readobj %t64.o --syms --relocs | FileCheck %s -D#NFA=2 --check-prefix=OBJ64
; RUN: llvm-objdump %t64.o -dr | FileCheck %s --check-prefix=DIS64

@i1 = external constant i32 #0
Expand Down Expand Up @@ -35,28 +35,28 @@ attributes #0 = { "toc-data" }

; OBJ32: Relocations [
; OBJ32-NEXT: Section (index: 1) .text {
; OBJ32-NEXT: 0x2 R_TOC i1(1) 0xF
; OBJ32-NEXT: 0x26 R_TOC i2(15) 0xF
; OBJ32-NEXT: 0x2 R_TOC i1([[#NFA+1]]) 0xF
; OBJ32-NEXT: 0x26 R_TOC i2([[#NFA+15]]) 0xF
; OBJ32-NEXT: }
; OBJ32-NEXT: Section (index: 2) .data {
; OBJ32-NEXT: 0x44 R_POS .read(5) 0x1F
; OBJ32-NEXT: 0x48 R_POS TOC(13) 0x1F
; OBJ32-NEXT: 0x50 R_POS .retptr(7) 0x1F
; OBJ32-NEXT: 0x54 R_POS TOC(13) 0x1F
; OBJ32-NEXT: 0x5C R_POS i1(1) 0x1F
; OBJ32-NEXT: 0x44 R_POS .read([[#NFA+5]]) 0x1F
; OBJ32-NEXT: 0x48 R_POS TOC([[#NFA+13]]) 0x1F
; OBJ32-NEXT: 0x50 R_POS .retptr([[#NFA+7]]) 0x1F
; OBJ32-NEXT: 0x54 R_POS TOC([[#NFA+13]]) 0x1F
; OBJ32-NEXT: 0x5C R_POS i1([[#NFA+1]]) 0x1F
; OBJ32-NEXT: }
; OBJ32-NEXT: ]

; OBJ32: Symbol {
; OBJ32: Index: 1
; OBJ32: Index: [[#NFA+1]]
; OBJ32-NEXT: Name: i1
; OBJ32-NEXT: Value (RelocatableAddress): 0x0
; OBJ32-NEXT: Section: N_UNDEF
; OBJ32-NEXT: Type: 0x0
; OBJ32-NEXT: StorageClass: C_EXT (0x2)
; OBJ32-NEXT: NumberOfAuxEntries: 1
; OBJ32-NEXT: CSECT Auxiliary Entry {
; OBJ32-NEXT: Index: 2
; OBJ32-NEXT: Index: [[#NFA+2]]
; OBJ32-NEXT: SectionLen: 0
; OBJ32-NEXT: ParameterHashIndex: 0x0
; OBJ32-NEXT: TypeChkSectNum: 0x0
Expand All @@ -68,15 +68,15 @@ attributes #0 = { "toc-data" }
; OBJ32-NEXT: }
; OBJ32-NEXT: }
; OBJ32: Symbol {
; OBJ32: Index: 13
; OBJ32: Index: [[#NFA+13]]
; OBJ32-NEXT: Name: TOC
; OBJ32-NEXT: Value (RelocatableAddress): 0x5C
; OBJ32-NEXT: Section: .data
; OBJ32-NEXT: Type: 0x0
; OBJ32-NEXT: StorageClass: C_HIDEXT (0x6B)
; OBJ32-NEXT: NumberOfAuxEntries: 1
; OBJ32-NEXT: CSECT Auxiliary Entry {
; OBJ32-NEXT: Index: 14
; OBJ32-NEXT: Index: [[#NFA+14]]
; OBJ32-NEXT: SectionLen: 0
; OBJ32-NEXT: ParameterHashIndex: 0x0
; OBJ32-NEXT: TypeChkSectNum: 0x0
Expand All @@ -88,15 +88,15 @@ attributes #0 = { "toc-data" }
; OBJ32-NEXT: }
; OBJ32-NEXT: }
; OBJ32: Symbol {
; OBJ32: Index: 15
; OBJ32: Index: [[#NFA+15]]
; OBJ32-NEXT: Name: i2
; OBJ32-NEXT: Value (RelocatableAddress): 0x5C
; OBJ32-NEXT: Section: .data
; OBJ32-NEXT: Type: 0x0
; OBJ32-NEXT: StorageClass: C_EXT (0x2)
; OBJ32-NEXT: NumberOfAuxEntries: 1
; OBJ32-NEXT: CSECT Auxiliary Entry {
; OBJ32-NEXT: Index: 16
; OBJ32-NEXT: Index: [[#NFA+16]]
; OBJ32-NEXT: SectionLen: 4
; OBJ32-NEXT: ParameterHashIndex: 0x0
; OBJ32-NEXT: TypeChkSectNum: 0x0
Expand All @@ -110,28 +110,28 @@ attributes #0 = { "toc-data" }

; OBJ64: Relocations [
; OBJ64-NEXT: Section (index: 1) .text {
; OBJ64-NEXT: 0x2 R_TOC i1(1) 0xF
; OBJ64-NEXT: 0x26 R_TOC i2(15) 0xF
; OBJ64-NEXT: 0x2 R_TOC i1([[#NFA+1]]) 0xF
; OBJ64-NEXT: 0x26 R_TOC i2([[#NFA+15]]) 0xF
; OBJ64-NEXT: }
; OBJ64-NEXT: Section (index: 2) .data {
; OBJ64-NEXT: 0x48 R_POS .read(5) 0x3F
; OBJ64-NEXT: 0x50 R_POS TOC(13) 0x3F
; OBJ64-NEXT: 0x60 R_POS .retptr(7) 0x3F
; OBJ64-NEXT: 0x68 R_POS TOC(13) 0x3F
; OBJ64-NEXT: 0x78 R_POS i1(1) 0x3F
; OBJ64-NEXT: 0x48 R_POS .read([[#NFA+5]]) 0x3F
; OBJ64-NEXT: 0x50 R_POS TOC([[#NFA+13]]) 0x3F
; OBJ64-NEXT: 0x60 R_POS .retptr([[#NFA+7]]) 0x3F
; OBJ64-NEXT: 0x68 R_POS TOC([[#NFA+13]]) 0x3F
; OBJ64-NEXT: 0x78 R_POS i1([[#NFA+1]]) 0x3F
; OBJ64-NEXT: }
; OBJ64-NEXT: ]

; OBJ64: Symbol {
; OBJ64: Index: 1
; OBJ64: Index: [[#NFA+1]]
; OBJ64-NEXT: Name: i1
; OBJ64-NEXT: Value (RelocatableAddress): 0x0
; OBJ64-NEXT: Section: N_UNDEF
; OBJ64-NEXT: Type: 0x0
; OBJ64-NEXT: StorageClass: C_EXT (0x2)
; OBJ64-NEXT: NumberOfAuxEntries: 1
; OBJ64-NEXT: CSECT Auxiliary Entry {
; OBJ64-NEXT: Index: 2
; OBJ64-NEXT: Index: [[#NFA+2]]
; OBJ64-NEXT: SectionLen: 0
; OBJ64-NEXT: ParameterHashIndex: 0x0
; OBJ64-NEXT: TypeChkSectNum: 0x0
Expand All @@ -142,15 +142,15 @@ attributes #0 = { "toc-data" }
; OBJ64-NEXT: }
; OBJ64-NEXT: }
; OBJ64: Symbol {
; OBJ64: Index: 13
; OBJ64: Index: [[#NFA+13]]
; OBJ64-NEXT: Name: TOC
; OBJ64-NEXT: Value (RelocatableAddress): 0x78
; OBJ64-NEXT: Section: .data
; OBJ64-NEXT: Type: 0x0
; OBJ64-NEXT: StorageClass: C_HIDEXT (0x6B)
; OBJ64-NEXT: NumberOfAuxEntries: 1
; OBJ64-NEXT: CSECT Auxiliary Entry {
; OBJ64-NEXT: Index: 14
; OBJ64-NEXT: Index: [[#NFA+14]]
; OBJ64-NEXT: SectionLen: 0
; OBJ64-NEXT: ParameterHashIndex: 0x0
; OBJ64-NEXT: TypeChkSectNum: 0x0
Expand All @@ -161,15 +161,15 @@ attributes #0 = { "toc-data" }
; OBJ64-NEXT: }
; OBJ64-NEXT: }
; OBJ64: Symbol {
; OBJ64: Index: 15
; OBJ64: Index: [[#NFA+15]]
; OBJ64-NEXT: Name: i2
; OBJ64-NEXT: Value (RelocatableAddress): 0x78
; OBJ64-NEXT: Section: .data
; OBJ64-NEXT: Type: 0x0
; OBJ64-NEXT: StorageClass: C_EXT (0x2)
; OBJ64-NEXT: NumberOfAuxEntries: 1
; OBJ64-NEXT: CSECT Auxiliary Entry {
; OBJ64-NEXT: Index: 16
; OBJ64-NEXT: Index: [[#NFA+16]]
; OBJ64-NEXT: SectionLen: 8
; OBJ64-NEXT: ParameterHashIndex: 0x0
; OBJ64-NEXT: TypeChkSectNum: 0x0
Expand Down
16 changes: 8 additions & 8 deletions llvm/test/MC/PowerPC/aix-file-symbols.s
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Check mutiple C_FILE symbols are emitted.
# RUN: llvm-mc -triple powerpc-ibm-aix-xcoff %s -filetype=obj -o - | \
# RUN: llvm-objdump --syms - | FileCheck %s
# RUN: llvm-readobj --syms - | FileCheck %s

.file "1.c"
.globl .var1
Expand All @@ -10,10 +10,10 @@
.var2:
.file "3.c"

# CHECK: SYMBOL TABLE:
# CHECK-NEXT: 00000000 df *DEBUG* 00000000 1.c
# CHECK-NEXT: 00000000 df *DEBUG* 00000000 2.c
# CHECK-NEXT: 00000000 df *DEBUG* 00000000 3.c
# CHECK-NEXT: 00000000 l .text 00000000
# CHECK-NEXT: 00000000 g F .text (csect: ) 00000000 .var1
# CHECK-NEXT: 00000000 g F .text (csect: ) 00000000 .var2
# CHECK: Symbols [
# CHECK: Name: 1.c
# CHECK-NEXT: Type: XFT_FN (0x0)
# CHECK: Name: 2.c
# CHECK-NEXT: Type: XFT_FN (0x0)
# CHECK: Name: 3.c
# CHECK-NEXT: Type: XFT_FN (0x0)
46 changes: 23 additions & 23 deletions llvm/test/tools/llvm-objdump/XCOFF/symbol-table.test
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
; Test the --syms option for xcoff object files.
; Also test the --symbol-description option for xcoff object files, when specified with --syms.
; RUN: llc -mtriple powerpc-ibm-aix -mcpu=pwr4 -filetype=obj -o %t.o < %s
; RUN: llvm-objdump --syms %t.o | FileCheck --check-prefix=SYM %s
; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck --check-prefix=SYM-DES %s
; RUN: llvm-objdump --syms %t.o | FileCheck -D#NFA=2 --check-prefix=SYM %s
; RUN: llvm-objdump --syms --symbol-description %t.o | FileCheck -D#NFA=2 --check-prefix=SYM-DES %s

;; The IR below is generated by the following source code.
;; bash> cat test.c
Expand Down Expand Up @@ -66,7 +66,7 @@ entry:
}

; SYM: SYMBOL TABLE:
; SYM-NEXT: 00000000 df *DEBUG* 00000000 <stdin>
; SYM-NEXT: 00000000 df *DEBUG* 00000000 .file
; SYM-NEXT: 00000000 *UND* 00000000 ei
; SYM-NEXT: 00000000 l .text 00000091
; SYM-NEXT: 00000000 g F .text (csect: ) 00000000 .bar
Expand All @@ -88,23 +88,23 @@ entry:
; SYM-NEXT: 000000ec l O *COM* 00000004 si

; SYM-DES: SYMBOL TABLE:
; SYM-DES-NEXT: 00000000 df *DEBUG* 00000000 (idx: 0) <stdin>
; SYM-DES-NEXT: 00000000 *UND* 00000000 (idx: 1) ei[UA]
; SYM-DES-NEXT: 00000000 l .text 00000091 (idx: 3) [PR]
; SYM-DES-NEXT: 00000000 g F .text (csect: (idx: 3) [PR]) 00000000 (idx: 5) .bar
; SYM-DES-NEXT: 00000050 g F .text (csect: (idx: 3) [PR]) 00000000 (idx: 7) .foo
; SYM-DES-NEXT: 00000094 l .text 00000013 (idx: 9) L...str[RO]
; SYM-DES-NEXT: 000000a8 g O .data 00000004 (idx: 11) con[RW]
; SYM-DES-NEXT: 000000ac w O .data 00000004 (idx: 13) wi[RW]
; SYM-DES-NEXT: 000000b0 g O .data 00000004 (idx: 15) i[RW]
; SYM-DES-NEXT: 000000b4 g O .data 00000001 (idx: 17) c[RW]
; SYM-DES-NEXT: 000000b8 g O .data 00000004 (idx: 19) ap[RW]
; SYM-DES-NEXT: 000000bc g O .data 00000004 (idx: 21) f[RW]
; SYM-DES-NEXT: 000000c0 g O .data 00000008 (idx: 23) ll[RW]
; SYM-DES-NEXT: 000000c8 g O .data 0000000c (idx: 25) bar[DS]
; SYM-DES-NEXT: 000000d4 g O .data 0000000c (idx: 27) foo[DS]
; SYM-DES-NEXT: 000000e0 l .data 00000000 (idx: 29) TOC[TC0]
; SYM-DES-NEXT: 000000e0 l O .data 00000004 (idx: 31) si[TC]
; SYM-DES-NEXT: 000000e4 l O .data 00000004 (idx: 33) ei[TC]
; SYM-DES-NEXT: 000000e8 l O .data 00000004 (idx: 35) con[TC]
; SYM-DES-NEXT: 000000ec l O *COM* 00000004 (idx: 37) si[BS]
; SYM-DES-NEXT: 00000000 df *DEBUG* 00000000 (idx: 0) .file
; SYM-DES-NEXT: 00000000 *UND* 00000000 (idx: [[#NFA+1]]) ei[UA]
; SYM-DES-NEXT: 00000000 l .text 00000091 (idx: [[#NFA+3]]) [PR]
; SYM-DES-NEXT: 00000000 g F .text (csect: (idx: [[#NFA+3]]) [PR]) 00000000 (idx: [[#NFA+5]]) .bar
; SYM-DES-NEXT: 00000050 g F .text (csect: (idx: [[#NFA+3]]) [PR]) 00000000 (idx: [[#NFA+7]]) .foo
; SYM-DES-NEXT: 00000094 l .text 00000013 (idx: [[#NFA+9]]) L...str[RO]
; SYM-DES-NEXT: 000000a8 g O .data 00000004 (idx: [[#NFA+11]]) con[RW]
; SYM-DES-NEXT: 000000ac w O .data 00000004 (idx: [[#NFA+13]]) wi[RW]
; SYM-DES-NEXT: 000000b0 g O .data 00000004 (idx: [[#NFA+15]]) i[RW]
; SYM-DES-NEXT: 000000b4 g O .data 00000001 (idx: [[#NFA+17]]) c[RW]
; SYM-DES-NEXT: 000000b8 g O .data 00000004 (idx: [[#NFA+19]]) ap[RW]
; SYM-DES-NEXT: 000000bc g O .data 00000004 (idx: [[#NFA+21]]) f[RW]
; SYM-DES-NEXT: 000000c0 g O .data 00000008 (idx: [[#NFA+23]]) ll[RW]
; SYM-DES-NEXT: 000000c8 g O .data 0000000c (idx: [[#NFA+25]]) bar[DS]
; SYM-DES-NEXT: 000000d4 g O .data 0000000c (idx: [[#NFA+27]]) foo[DS]
; SYM-DES-NEXT: 000000e0 l .data 00000000 (idx: [[#NFA+29]]) TOC[TC0]
; SYM-DES-NEXT: 000000e0 l O .data 00000004 (idx: [[#NFA+31]]) si[TC]
; SYM-DES-NEXT: 000000e4 l O .data 00000004 (idx: [[#NFA+33]]) ei[TC]
; SYM-DES-NEXT: 000000e8 l O .data 00000004 (idx: [[#NFA+35]]) con[TC]
; SYM-DES-NEXT: 000000ec l O *COM* 00000004 (idx: [[#NFA+37]]) si[BS]