xref: /llvm-project/llvm/test/tools/dsymutil/yaml-object-address-rewrite.test (revision 0ed8194256c6c96875ed9dd102d15ee8a9260fec)
1# RUN: dsymutil -dump-debug-map -oso-prepend-path=%p -y %s | FileCheck %s
2#
3# RUN: dsymutil --linker parallel -dump-debug-map -oso-prepend-path=%p -y %s | FileCheck %s
4#
5# The YAML debug map bellow is the one from basic-archive.macho.x86_64 with
6# the object addresses set to zero. Check that the YAML import is able to
7# rewrite these addresses to the right values.
8#
9# CHECK: ---
10# CHECK-NEXT: triple:{{.*}}'x86_64-apple-darwin'
11# CHECK-NEXT: binary-path:{{.*}}''
12# CHECK-NEXT: objects:
13# CHECK-NEXT: filename:{{.*}}/Inputs/basic1.macho.x86_64.o
14# CHECK-NEXT: timestamp: 0
15# CHECK-NEXT: symbols:
16# CHECK-NEXT: sym: _main, objAddr: 0x0, binAddr: 0x100000EA0, size: 0x24
17# CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic2.macho.x86_64.o)'
18# CHECK-NEXT: timestamp: 0
19# CHECK-NEXT: symbols:
20# CHECK-DAG:   sym: _foo, objAddr: 0x20, binAddr: 0x100000ED0, size: 0x50
21# CHECK-DAG:   sym: _private_int, objAddr: 0x560, binAddr: 0x100001004, size: 0x0
22# CHECK-DAG:   sym: _inc, objAddr: 0x70, binAddr: 0x100000F20, size: 0x17
23# CHECK-DAG:   sym: _baz, objAddr: 0x310, binAddr: 0x100001000, size: 0x0
24# CHECK-NOT: { sym:
25# CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic3.macho.x86_64.o)'
26# CHECK-NEXT: timestamp: 0
27# CHECK-NEXT: symbols:
28# CHECK-DAG:   sym: _val, binAddr: 0x100001008, size: 0x0
29# CHECK-DAG:   sym: _bar, objAddr: 0x20, binAddr: 0x100000F40, size: 0x50
30# CHECK-DAG:   sym: _inc, objAddr: 0x70, binAddr: 0x100000F90, size: 0x19
31# CHECK-NOT: { sym:
32# CHECK-NEXT: ...
33---
34triple:          'x86_64-apple-darwin'
35objects:
36  - filename: /Inputs/basic1.macho.x86_64.o
37    symbols:
38      - { sym: _main, objAddr: 0x0, binAddr: 0x0000000100000EA0, size: 0x00000024 }
39  - filename: /Inputs/./libbasic.a(basic2.macho.x86_64.o)
40    symbols:
41      - { sym: _foo, objAddr: 0x0, binAddr: 0x0000000100000ED0, size: 0x00000050 }
42      - { sym: _private_int, objAddr: 0x0, binAddr: 0x0000000100001004, size: 0x00000000 }
43      - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F20, size: 0x00000017 }
44      - { sym: _baz, objAddr: 0x0, binAddr: 0x0000000100001000, size: 0x00000000 }
45  - filename: /Inputs/./libbasic.a(basic3.macho.x86_64.o)
46    symbols:
47      - { sym: _val, binAddr: 0x0000000100001008, size: 0x00000000 }
48      - { sym: _bar, objAddr: 0x0, binAddr: 0x0000000100000F40, size: 0x00000050 }
49      - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F90, size: 0x00000019 }
50...
51