yaml-object-address-rewrite.test revision de2d8694e25a814696358e95141f4b1aa4d8847e
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: binary-path:{{.*}}''
10# CHECK-NEXT: objects:
11# CHECK-NEXT: filename:{{.*}}/Inputs/basic1.macho.x86_64.o
12# CHECK-NEXT: timestamp: 0
13# CHECK-NEXT: symbols:
14# CHECK-NEXT: sym: _main, objAddr: 0x0000000000000000, binAddr: 0x0000000100000EA0, size: 0x00000024
15# CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic2.macho.x86_64.o)'
16# CHECK-NEXT: timestamp: 0
17# CHECK-NEXT: symbols:
18# CHECK-DAG:   sym: _foo, objAddr: 0x0000000000000020, binAddr: 0x0000000100000ED0, size: 0x00000050
19# CHECK-DAG:   sym: _private_int, objAddr: 0x0000000000000560, binAddr: 0x0000000100001004, size: 0x00000000
20# CHECK-DAG:   sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F20, size: 0x00000017
21# CHECK-DAG:   sym: _baz, objAddr: 0x0000000000000310, binAddr: 0x0000000100001000, size: 0x00000000
22# CHECK-NOT: { sym:
23# CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic3.macho.x86_64.o)'
24# CHECK-NEXT: timestamp: 0
25# CHECK-NEXT: symbols:
26# CHECK-DAG:   sym: _val, binAddr: 0x0000000100001008, size: 0x00000000
27# CHECK-DAG:   sym: _bar, objAddr: 0x0000000000000020, binAddr: 0x0000000100000F40, size: 0x00000050
28# CHECK-DAG:   sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F90, size: 0x00000019
29# CHECK-NOT: { sym:
30# CHECK-NEXT: ...
31---
32triple:          'x86_64-apple-darwin'
33objects:
34  - filename: /Inputs/basic1.macho.x86_64.o
35    symbols:
36      - { sym: _main, objAddr: 0x0, binAddr: 0x0000000100000EA0, size: 0x00000024 }
37  - filename: /Inputs/./libbasic.a(basic2.macho.x86_64.o)
38    symbols:
39      - { sym: _foo, objAddr: 0x0, binAddr: 0x0000000100000ED0, size: 0x00000050 }
40      - { sym: _private_int, objAddr: 0x0, binAddr: 0x0000000100001004, size: 0x00000000 }
41      - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F20, size: 0x00000017 }
42      - { sym: _baz, objAddr: 0x0, binAddr: 0x0000000100001000, size: 0x00000000 }
43  - filename: /Inputs/./libbasic.a(basic3.macho.x86_64.o)
44    symbols:
45      - { sym: _val, binAddr: 0x0000000100001008, size: 0x00000000 }
46      - { sym: _bar, objAddr: 0x0, binAddr: 0x0000000100000F40, size: 0x00000050 }
47      - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F90, size: 0x00000019 }
48...
49