# RUN: llvm-objdump -D %p/Inputs/xcoff-section-headers.o | \
# RUN: FileCheck %s
# RUN: llvm-objdump -D -r %p/Inputs/xcoff-section-headers.o | \
# RUN: FileCheck --check-prefixes=CHECK,WITH-R %s
## xcoff-section-headers.o Compiled with IBM XL C/C++ for AIX, V16.1.0
## compiler command: xlc -qtls -o xcoff-section-headers.o -c test.c
## test.c:
## int a;
## int b = 12345;
## __thread int c;
## __thread double d = 3.14159;
##
## int func(void) {
## return a;
## }
CHECK: Inputs/xcoff-section-headers.o: file format aixcoff-rs6000
CHECK: Disassembly of section .text:
CHECK: 00000000 <.func>:
CHECK-NEXT: 0: 80 62 00 04 lwz 3, 4(2)
WITH-R-NEXT: 00000002: R_TOC a
CHECK-NEXT: 4: 80 63 00 00 lwz 3, 0(3)
CHECK-NEXT: 8: 4e 80 00 20 blr
CHECK-NEXT: c: 00 00 00 00 <unknown>
CHECK-NEXT: 10: 00 00 20 40 <unknown>
CHECK-NEXT: 14: 00 00 00 01 <unknown>
CHECK-NEXT: 18: 00 00 00 0c <unknown>
CHECK-NEXT: 1c: 00 04 66 75 <unknown>
CHECK-NEXT: 20: 6e 63 00 00 xoris 3, 19, 0
CHECK-NEXT: ...
CHECK: Disassembly of section .data:
CHECK: 00000080 <func>:
CHECK-NEXT: 80: 00 00 00 94 <unknown>
WITH-R-NEXT: 00000080: R_POS func
CHECK: 00000084 <a>:
CHECK-NEXT: 84: 00 00 00 a4 <unknown>
WITH-R-NEXT: 00000084: R_POS a
CHECK: 00000088 <b>:
CHECK-NEXT: 88: 00 00 00 a0 <unknown>
WITH-R-NEXT: 00000088: R_POS b
CHECK: 0000008c <c>:
CHECK-NEXT: 8c: 00 00 00 08 <unknown>
WITH-R-NEXT: 0000008c: R_TLS c
CHECK: 00000090 <d>:
CHECK-NEXT: 90: 00 00 00 00 <unknown>
WITH-R-NEXT: 00000090: R_TLS d
CHECK: 00000094 <func>:
CHECK-NEXT: 94: 00 00 00 00 <unknown>
WITH-R-NEXT: 00000094: R_POS .func
CHECK-NEXT: 98: 00 00 00 80 <unknown>
WITH-R-NEXT: 00000098: R_POS TOC
CHECK-NEXT: 9c: 00 00 00 00 <unknown>
CHECK: 000000a0 <b>:
CHECK-NEXT: a0: 00 00 30 39 <unknown>
CHECK: Disassembly of section .bss:
CHECK: 000000a4 <a>:
CHECK-NEXT: ...
CHECK: Disassembly of section .tdata:
CHECK: 00000000 <d>:
CHECK-NEXT: 0: 40 09 21 f9 bdnzfl 9, 0x21f8
CHECK-NEXT: 4: f0 1b 86 6e <unknown>
CHECK: Disassembly of section .tbss:
CHECK: 00000008 <c>:
CHECK-NEXT: ...