Skip to content

Commit 485cb66

Browse files
committed
[MC] Convert another bunch of tests from macho-dump to llvm-readobj.
This is (almost) everything under MC/MachO/ARM. There are still some cases missing, because llvm-readobj doesn't (yet) support some features, that macho-dump provides. I plan to reduce the gap between them shortly. llvm-svn: 245302
1 parent c0f8452 commit 485cb66

12 files changed

+196
-68
lines changed
Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
1-
; RUN: llc < %s -filetype=obj -mtriple=thumbv6-apple-darwin -o - | macho-dump --dump-section-data | FileCheck -check-prefix=CHECK-T1 %s
2-
; RUN: llc < %s -filetype=obj -mtriple=thumbv7-apple-darwin -o - | macho-dump --dump-section-data | FileCheck -check-prefix=CHECK-T2 %s
3-
; RUN: llc < %s -filetype=obj -mtriple=armv6-apple-darwin -o - | macho-dump --dump-section-data | FileCheck -check-prefix=CHECK-ARM %s
4-
; RUN: llc < %s -filetype=obj -mtriple=armv7-apple-darwin -o - | macho-dump --dump-section-data | FileCheck -check-prefix=CHECK-ARMV7 %s
1+
; RUN: llc < %s -filetype=obj -mtriple=thumbv6-apple-darwin -o - | llvm-readobj -s -sd | FileCheck -check-prefix=CHECK-T1 %s
2+
; RUN: llc < %s -filetype=obj -mtriple=thumbv7-apple-darwin -o - | llvm-readobj -s -sd | FileCheck -check-prefix=CHECK-T2 %s
3+
; RUN: llc < %s -filetype=obj -mtriple=armv6-apple-darwin -o - | llvm-readobj -s -sd | FileCheck -check-prefix=CHECK-ARM %s
4+
; RUN: llc < %s -filetype=obj -mtriple=armv7-apple-darwin -o - | llvm-readobj -s -sd | FileCheck -check-prefix=CHECK-ARMV7 %s
55

66
; Empty functions need a NOP in them for MachO to prevent DWARF FDEs from
77
; getting all mucked up. See lib/CodeGen/AsmPrinter/AsmPrinter.cpp for
88
; details.
99
define internal fastcc void @empty_function() {
1010
unreachable
1111
}
12-
; CHECK-T1: ('_section_data', 'c046')
13-
; CHECK-T2: ('_section_data', '00bf')
14-
; CHECK-ARM: ('_section_data', '0000a0e1')
15-
; CHECK-ARMV7: ('_section_data', '00f020e3')
12+
; CHECK-T1: SectionData (
13+
; CHECK-T1: 0000: C046 |.F|
14+
; CHECK-T1: )
15+
; CHECK-T2: SectionData (
16+
; CHECK-T2: 0000: 00BF |..|
17+
; CHECK-T2: )
18+
; CHECK-ARM: SectionData (
19+
; CHECK-ARM: 0000: 0000A0E1 |....|
20+
; CHECK-ARM: )
21+
; CHECK-ARMV7: SectionData (
22+
; CHECK-ARMV7: 0000: 00F020E3 |.. .|
23+
; CHECK-ARMV7: )

llvm/test/MC/MachO/ARM/long-call-branch-island-relocation.s

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@ RUN: llvm-mc -n -triple armv7-apple-darwin10 %s -filetype=obj -o %t.o
2-
@ RUN: macho-dump --dump-section-data < %t.o | FileCheck %s
2+
@ RUN: llvm-readobj -relocations -expand-relocs < %t.o | FileCheck %s
33

44
@ rdar://12359919
55

@@ -36,8 +36,18 @@ _foo:
3636
pop {r7, pc}
3737

3838

39-
@ CHECK: ('_relocations', [
40-
@ CHECK: # Relocation 0
41-
@ CHECK: (('word-0', 0x4),
42-
@ CHECK: ('word-1', 0x6d000002)),
43-
@ CHECK: ])
39+
@ CHECK: File: <stdin>
40+
@ CHECK: Format: Mach-O arm
41+
@ CHECK: Arch: arm
42+
@ CHECK: AddressSize: 32bit
43+
@ CHECK: Relocations [
44+
@ CHECK: Section __text {
45+
@ CHECK: Relocation {
46+
@ CHECK: Offset: 0x4
47+
@ CHECK: PCRel: 1
48+
@ CHECK: Length: 2
49+
@ CHECK: Type: ARM_THUMB_RELOC_BR22 (6)
50+
@ CHECK: Symbol: _foo (2)
51+
@ CHECK: }
52+
@ CHECK: }
53+
@ CHECK: ]

llvm/test/MC/MachO/ARM/no-subsections-reloc.s

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@ RUN: llvm-mc -n -triple thumbv7-apple-darwin10 %s -filetype=obj -o %t.obj
2-
@ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2+
@ RUN: llvm-readobj -s -sd < %t.obj > %t.dump
33
@ RUN: FileCheck < %t.dump %s
44

55
@ When not using subsections-via-symbols, references to non-local symbols
@@ -14,5 +14,7 @@ _foo:
1414
bar:
1515
.long 0
1616

17-
@ CHECK: 'num_reloc', 0
18-
@ CHECK: '_section_data', 'dff80030 00000000'
17+
@ CHECK: RelocationCount: 0
18+
@ CHECK: SectionData (
19+
@ CHECK: 0000: DFF80030 00000000 |...0....|
20+
@ CHECK: )
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
@ RUN: llvm-mc -triple armv4-apple-darwin %s -filetype=obj -o %t.obj
2-
@ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2+
@ RUN: llvm-readobj -s -sd < %t.obj > %t.dump
33
@ RUN: FileCheck %s < %t.dump
44

55
x:
66
add r0, r1, r2
77
.align 4
88
add r0, r1, r2
99

10-
@ CHECK: ('_section_data', '020081e0 0000a0e1 0000a0e1 0000a0e1 020081e0')
10+
@ CHECK: SectionData (
11+
@ CHECK: 0000: 020081E0 0000A0E1 0000A0E1 0000A0E1 |................|
12+
@ CHECK: 0010: 020081E0 |....|
13+
@ CHECK: )
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
@ RUN: llvm-mc -triple armv6t2-apple-darwin %s -filetype=obj -o %t.obj
2-
@ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2+
@ RUN: llvm-readobj -s -sd < %t.obj > %t.dump
33
@ RUN: FileCheck %s < %t.dump
44

55
x:
66
add r0, r1, r2
77
.align 4
88
add r0, r1, r2
99

10-
@ CHECK: ('_section_data', '020081e0 00f020e3 00f020e3 00f020e3 020081e0')
10+
@ CHECK: SectionData (
11+
@ CHECK: 0000: 020081E0 00F020E3 00F020E3 00F020E3 |...... ... ... .|
12+
@ CHECK: 0010: 020081E0 |....|
13+
@ CHECK: )
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@ RUN: llvm-mc -triple armv6-apple-darwin %s -filetype=obj -o %t.obj
2-
@ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2+
@ RUN: llvm-readobj -s -sd < %t.obj > %t.dump
33
@ RUN: FileCheck %s < %t.dump
44

55
.thumb_func x
@@ -9,4 +9,7 @@ x:
99
.align 4
1010
adds r0, r1, r2
1111

12-
@ CHECK: ('_section_data', '8818c046 c046c046 c046c046 c046c046 8818')
12+
@ CHECK: SectionData (
13+
@ CHECK: 0000: 8818C046 C046C046 C046C046 C046C046 |...F.F.F.F.F.F.F|
14+
@ CHECK: 0010: 8818 |..|
15+
@ CHECK: )
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@ RUN: llvm-mc -triple armv7-apple-darwin %s -filetype=obj -o %t.obj
2-
@ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2+
@ RUN: llvm-readobj -s -sd < %t.obj > %t.dump
33
@ RUN: FileCheck %s < %t.dump
44

55
.thumb_func x
@@ -9,4 +9,7 @@ x:
99
.align 4
1010
adds r0, r1, r2
1111

12-
@ CHECK: ('_section_data', '881800bf 00bf00bf 00bf00bf 00bf00bf 8818')
12+
@ CHECK: SectionData (
13+
@ CHECK: 0000: 881800BF 00BF00BF 00BF00BF 00BF00BF |................|
14+
@ CHECK: 0010: 8818 |..|
15+
@ CHECK: )
Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@ RUN: llvm-mc -n -triple thumbv7-apple-darwin10 %s -filetype=obj -o %t.obj
2-
@ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2+
@ RUN: llvm-readobj -s -sd < %t.obj > %t.dump
33
@ RUN: FileCheck < %t.dump %s
44

55
.syntax unified
@@ -9,5 +9,14 @@
99
_foo:
1010
ldr r2, (_foo - 4)
1111

12-
@ CHECK: ('num_reloc', 0)
13-
@ CHECK: ('_section_data', '5ff80820')
12+
@ CHECK: RelocationCount: 0
13+
@ CHECK: Type: 0x0
14+
@ CHECK: Attributes [ (0x800004)
15+
@ CHECK: PureInstructions (0x800000)
16+
@ CHECK: SomeInstructions (0x4)
17+
@ CHECK: ]
18+
@ CHECK: Reserved1: 0x0
19+
@ CHECK: Reserved2: 0x0
20+
@ CHECK: SectionData (
21+
@ CHECK: 0000: 5FF80820 |_.. |
22+
@ CHECK: )

llvm/test/MC/MachO/ARM/relax-thumb2-branches.s

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@ RUN: llvm-mc -triple=thumbv7-apple-darwin -show-encoding %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s
1+
@ RUN: llvm-mc -triple=thumbv7-apple-darwin -show-encoding %s -filetype=obj -o - | llvm-readobj -s -sd | FileCheck %s
22

33
ble Lfoo @ wide encoding
44

@@ -10,5 +10,38 @@ Lfoo:
1010
.space 256
1111
Lbaz:
1212

13-
@ CHECK: '_section_data', '40f38180
14-
@ CHECK: 000000bf 7fdd
13+
@ CHECK: SectionData (
14+
@ CHECK: 0000: 40F38180 00000000 00000000 00000000 |@...............|
15+
@ CHECK: 0010: 00000000 00000000 00000000 00000000 |................|
16+
@ CHECK: 0020: 00000000 00000000 00000000 00000000 |................|
17+
@ CHECK: 0030: 00000000 00000000 00000000 00000000 |................|
18+
@ CHECK: 0040: 00000000 00000000 00000000 00000000 |................|
19+
@ CHECK: 0050: 00000000 00000000 00000000 00000000 |................|
20+
@ CHECK: 0060: 00000000 00000000 00000000 00000000 |................|
21+
@ CHECK: 0070: 00000000 00000000 00000000 00000000 |................|
22+
@ CHECK: 0080: 00000000 00000000 00000000 00000000 |................|
23+
@ CHECK: 0090: 00000000 00000000 00000000 00000000 |................|
24+
@ CHECK: 00A0: 00000000 00000000 00000000 00000000 |................|
25+
@ CHECK: 00B0: 00000000 00000000 00000000 00000000 |................|
26+
@ CHECK: 00C0: 00000000 00000000 00000000 00000000 |................|
27+
@ CHECK: 00D0: 00000000 00000000 00000000 00000000 |................|
28+
@ CHECK: 00E0: 00000000 00000000 00000000 00000000 |................|
29+
@ CHECK: 00F0: 00000000 00000000 00000000 00000000 |................|
30+
@ CHECK: 0100: 00000000 000000BF 7FDD0000 00000000 |................|
31+
@ CHECK: 0110: 00000000 00000000 00000000 00000000 |................|
32+
@ CHECK: 0120: 00000000 00000000 00000000 00000000 |................|
33+
@ CHECK: 0130: 00000000 00000000 00000000 00000000 |................|
34+
@ CHECK: 0140: 00000000 00000000 00000000 00000000 |................|
35+
@ CHECK: 0150: 00000000 00000000 00000000 00000000 |................|
36+
@ CHECK: 0160: 00000000 00000000 00000000 00000000 |................|
37+
@ CHECK: 0170: 00000000 00000000 00000000 00000000 |................|
38+
@ CHECK: 0180: 00000000 00000000 00000000 00000000 |................|
39+
@ CHECK: 0190: 00000000 00000000 00000000 00000000 |................|
40+
@ CHECK: 01A0: 00000000 00000000 00000000 00000000 |................|
41+
@ CHECK: 01B0: 00000000 00000000 00000000 00000000 |................|
42+
@ CHECK: 01C0: 00000000 00000000 00000000 00000000 |................|
43+
@ CHECK: 01D0: 00000000 00000000 00000000 00000000 |................|
44+
@ CHECK: 01E0: 00000000 00000000 00000000 00000000 |................|
45+
@ CHECK: 01F0: 00000000 00000000 00000000 00000000 |................|
46+
@ CHECK: 0200: 00000000 00000000 0000 |..........|
47+
@ CHECK: )

llvm/test/MC/MachO/ARM/thumb2-function-relative-load.s

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@ RUN: llvm-mc -n -triple thumbv7-apple-darwin10 %s -filetype=obj -o %t.obj
2-
@ RUN: macho-dump --dump-section-data < %t.obj > %t.dump
2+
@ RUN: llvm-readobj -s -sd < %t.obj > %t.dump
33
@ RUN: FileCheck < %t.dump %s
44
.syntax unified
55
.text
@@ -10,4 +10,6 @@ _foo:
1010

1111
.subsections_via_symbols
1212

13-
@ CHECK: ('_section_data', '5ff808e0')
13+
@ CHECK: SectionData (
14+
@ CHECK: 0000: 5FF808E0 |_...|
15+
@ CHECK: )
Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumbv7-apple-darwin10 -filetype=obj -o - < %s | macho-dump | FileCheck %s
1+
@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumbv7-apple-darwin10 -filetype=obj -o - < %s | llvm-readobj -relocations -expand-relocs | FileCheck %s
22

33
_fred:
44
movt r3, :upper16:(_wilma-(LPC0_0+4))
@@ -7,11 +7,25 @@ LPC0_0:
77
_wilma:
88
.long 0
99

10-
@ CHECK: ('_relocations', [
11-
@ CHECK: # Relocation 0
12-
@ CHECK: (('word-0', 0xb9000000),
13-
@ CHECK: ('word-1', 0x4)),
14-
@ CHECK: # Relocation 1
15-
@ CHECK: (('word-0', 0xb100fffc),
16-
@ CHECK: ('word-1', 0x4)),
17-
10+
@ CHECK: File: <stdin>
11+
@ CHECK: Format: Mach-O arm
12+
@ CHECK: Arch: arm
13+
@ CHECK: AddressSize: 32bit
14+
@ CHECK: Relocations [
15+
@ CHECK: Section __text {
16+
@ CHECK: Relocation {
17+
@ CHECK: Offset: 0x0
18+
@ CHECK: PCRel: 0
19+
@ CHECK: Length: 3
20+
@ CHECK: Type: ARM_RELOC_HALF_SECTDIFF (9)
21+
@ CHECK: Value: 0x4
22+
@ CHECK: }
23+
@ CHECK: Relocation {
24+
@ CHECK: Offset: 0xFFFC
25+
@ CHECK: PCRel: 0
26+
@ CHECK: Length: 3
27+
@ CHECK: Type: ARM_RELOC_PAIR (1)
28+
@ CHECK: Value: 0x4
29+
@ CHECK: }
30+
@ CHECK: }
31+
@ CHECK: ]
Lines changed: 64 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumbv7-apple-darwin10 -filetype=obj -o - < %s | macho-dump | FileCheck %s
1+
@ RUN: llvm-mc -mcpu=cortex-a8 -triple thumbv7-apple-darwin10 -filetype=obj -o - < %s | llvm-readobj -relocations -expand-relocs | FileCheck %s
22

33
@ rdar://10038370
44

@@ -17,28 +17,66 @@
1717
L1: .long 0
1818
L2: .long 0
1919

20-
@ CHECK: ('_relocations', [
21-
@ CHECK: # Relocation 0
22-
@ CHECK: (('word-0', 0xc),
23-
@ CHECK: ('word-1', 0x86000002)),
24-
@ CHECK: # Relocation 1
25-
@ CHECK: (('word-0', 0x1184),
26-
@ CHECK: ('word-1', 0x16ffffff)),
27-
@ CHECK: # Relocation 2
28-
@ CHECK: (('word-0', 0x8),
29-
@ CHECK: ('word-1', 0x84000002)),
30-
@ CHECK: # Relocation 3
31-
@ CHECK: (('word-0', 0x1),
32-
@ CHECK: ('word-1', 0x14ffffff)),
33-
@ CHECK: # Relocation 4
34-
@ CHECK: (('word-0', 0x4),
35-
@ CHECK: ('word-1', 0x86000002)),
36-
@ CHECK: # Relocation 5
37-
@ CHECK: (('word-0', 0x1180),
38-
@ CHECK: ('word-1', 0x16ffffff)),
39-
@ CHECK: # Relocation 6
40-
@ CHECK: (('word-0', 0x0),
41-
@ CHECK: ('word-1', 0x84000002)),
42-
@ CHECK: # Relocation 7
43-
@ CHECK: (('word-0', 0x1),
44-
@ CHECK: ('word-1', 0x14ffffff)),
20+
@ CHECK: Format: Mach-O arm
21+
@ CHECK: Arch: arm
22+
@ CHECK: AddressSize: 32bit
23+
@ CHECK: Relocations [
24+
@ CHECK: Section __text {
25+
@ CHECK: Relocation {
26+
@ CHECK: Offset: 0xC
27+
@ CHECK: PCRel: 0
28+
@ CHECK: Length: 3
29+
@ CHECK: Type: ARM_RELOC_HALF (8)
30+
@ CHECK: Section: __data (2)
31+
@ CHECK: }
32+
@ CHECK: Relocation {
33+
@ CHECK: Offset: 0x1184
34+
@ CHECK: PCRel: 0
35+
@ CHECK: Length: 3
36+
@ CHECK: Type: ARM_RELOC_PAIR (1)
37+
@ CHECK: Section: - (16777215)
38+
@ CHECK: }
39+
@ CHECK: Relocation {
40+
@ CHECK: Offset: 0x8
41+
@ CHECK: PCRel: 0
42+
@ CHECK: Length: 2
43+
@ CHECK: Type: ARM_RELOC_HALF (8)
44+
@ CHECK: Section: __data (2)
45+
@ CHECK: }
46+
@ CHECK: Relocation {
47+
@ CHECK: Offset: 0x1
48+
@ CHECK: PCRel: 0
49+
@ CHECK: Length: 2
50+
@ CHECK: Type: ARM_RELOC_PAIR (1)
51+
@ CHECK: Section: - (16777215)
52+
@ CHECK: }
53+
@ CHECK: Relocation {
54+
@ CHECK: Offset: 0x4
55+
@ CHECK: PCRel: 0
56+
@ CHECK: Length: 3
57+
@ CHECK: Type: ARM_RELOC_HALF (8)
58+
@ CHECK: Section: __data (2)
59+
@ CHECK: }
60+
@ CHECK: Relocation {
61+
@ CHECK: Offset: 0x1180
62+
@ CHECK: PCRel: 0
63+
@ CHECK: Length: 3
64+
@ CHECK: Type: ARM_RELOC_PAIR (1)
65+
@ CHECK: Section: - (16777215)
66+
@ CHECK: }
67+
@ CHECK: Relocation {
68+
@ CHECK: Offset: 0x0
69+
@ CHECK: PCRel: 0
70+
@ CHECK: Length: 2
71+
@ CHECK: Type: ARM_RELOC_HALF (8)
72+
@ CHECK: Section: __data (2)
73+
@ CHECK: }
74+
@ CHECK: Relocation {
75+
@ CHECK: Offset: 0x1
76+
@ CHECK: PCRel: 0
77+
@ CHECK: Length: 2
78+
@ CHECK: Type: ARM_RELOC_PAIR (1)
79+
@ CHECK: Section: - (16777215)
80+
@ CHECK: }
81+
@ CHECK: }
82+
@ CHECK: ]

0 commit comments

Comments
 (0)