cebda0c62c077743d2e96e86c339b1b46ee38aa2
[oota-llvm.git] / test / tools / dsymutil / yaml-object-address-rewrite.test
1 # RUN: llvm-dsymutil -dump-debug-map -oso-prepend-path=%p -y %s | FileCheck %s
2 #
3 # The YAML debug map bellow is the one from basic-archive.macho.x86_64 with
4 # the object addresses set to zero. Check that the YAML import is able to
5 # rewrite these addresses to the right values.
6 #
7 # CHECK: ---
8 # CHECK-NEXT: triple:{{.*}}'x86_64-apple-darwin'
9 # CHECK-NEXT: objects:
10 # CHECK-NEXT: filename:{{.*}}/Inputs/basic1.macho.x86_64.o
11 # CHECK-NEXT: timestamp: 0
12 # CHECK-NEXT: symbols:
13 # CHECK-NEXT: sym: _main, objAddr: 0x0000000000000000, binAddr: 0x0000000100000EA0, size: 0x00000024
14 # CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic2.macho.x86_64.o)'
15 # CHECK-NEXT: timestamp: 0
16 # CHECK-NEXT: symbols:
17 # CHECK-DAG:   sym: _foo, objAddr: 0x0000000000000020, binAddr: 0x0000000100000ED0, size: 0x00000050
18 # CHECK-DAG:   sym: _private_int, objAddr: 0x0000000000000560, binAddr: 0x0000000100001004, size: 0x00000000
19 # CHECK-DAG:   sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F20, size: 0x00000017
20 # CHECK-DAG:   sym: _baz, objAddr: 0x0000000000000310, binAddr: 0x0000000100001000, size: 0x00000000
21 # CHECK-NOT: { sym:
22 # CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic3.macho.x86_64.o)'
23 # CHECK-NEXT: timestamp: 0
24 # CHECK-NEXT: symbols:
25 # CHECK-DAG:   sym: _val, objAddr: 0x0000000000000004, binAddr: 0x0000000100001008, size: 0x00000000
26 # CHECK-DAG:   sym: _bar, objAddr: 0x0000000000000020, binAddr: 0x0000000100000F40, size: 0x00000050
27 # CHECK-DAG:   sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F90, size: 0x00000019
28 # CHECK-NOT: { sym:
29 # CHECK-NEXT: ...
30 ---
31 triple:          'x86_64-apple-darwin'
32 objects:
33   - filename: /Inputs/basic1.macho.x86_64.o
34     symbols:
35       - { sym: _main, objAddr: 0x0, binAddr: 0x0000000100000EA0, size: 0x00000024 }
36   - filename: /Inputs/./libbasic.a(basic2.macho.x86_64.o)
37     symbols:
38       - { sym: _foo, objAddr: 0x0, binAddr: 0x0000000100000ED0, size: 0x00000050 }
39       - { sym: _private_int, objAddr: 0x0, binAddr: 0x0000000100001004, size: 0x00000000 }
40       - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F20, size: 0x00000017 }
41       - { sym: _baz, objAddr: 0x0, binAddr: 0x0000000100001000, size: 0x00000000 }
42   - filename: /Inputs/./libbasic.a(basic3.macho.x86_64.o)
43     symbols:
44       - { sym: _val, objAddr: 0x0, binAddr: 0x0000000100001008, size: 0x00000000 }
45       - { sym: _bar, objAddr: 0x0, binAddr: 0x0000000100000F40, size: 0x00000050 }
46       - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F90, size: 0x00000019 }
47 ...