diff options
Diffstat (limited to 'test/tools/dsymutil/yaml-object-address-rewrite.test')
-rw-r--r-- | test/tools/dsymutil/yaml-object-address-rewrite.test | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/test/tools/dsymutil/yaml-object-address-rewrite.test b/test/tools/dsymutil/yaml-object-address-rewrite.test new file mode 100644 index 0000000..dcb39be --- /dev/null +++ b/test/tools/dsymutil/yaml-object-address-rewrite.test @@ -0,0 +1,44 @@ +# RUN: llvm-dsymutil -v -dump-debug-map -oso-prepend-path=%p -y %s | FileCheck %s +# +# The YAML debug map bellow is the one from basic-archive.macho.x86_64 with +# the object addresses set to zero. Check that the YAML import is able to +# rewrite these addresses to the right values. +# +# CHECK: --- +# CHECK-NEXT: triple:{{.*}}'x86_64-unknown-unknown-macho' +# CHECK-NEXT: objects: +# CHECK-NEXT: filename:{{.*}}/Inputs/basic1.macho.x86_64.o +# CHECK-NEXT: symbols: +# CHECK-NEXT: sym: _main, objAddr: 0x0000000000000000, binAddr: 0x0000000100000EA0, size: 0x00000024 +# CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic2.macho.x86_64.o)' +# CHECK-NEXT: symbols: +# CHECK-DAG: sym: _foo, objAddr: 0x0000000000000020, binAddr: 0x0000000100000ED0, size: 0x00000050 +# CHECK-DAG: sym: _private_int, objAddr: 0x0000000000000560, binAddr: 0x0000000100001004, size: 0x00000000 +# CHECK-DAG: sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F20, size: 0x00000017 +# CHECK-DAG: sym: _baz, objAddr: 0x0000000000000310, binAddr: 0x0000000100001000, size: 0x00000000 +# CHECK-NOT: { sym: +# CHECK-NEXT: filename:{{.*}}/Inputs/./libbasic.a(basic3.macho.x86_64.o)' +# CHECK-NEXT: symbols: +# CHECK-DAG: sym: _val, objAddr: 0x0000000000000004, binAddr: 0x0000000100001008, size: 0x00000000 +# CHECK-DAG: sym: _bar, objAddr: 0x0000000000000020, binAddr: 0x0000000100000F40, size: 0x00000050 +# CHECK-DAG: sym: _inc, objAddr: 0x0000000000000070, binAddr: 0x0000000100000F90, size: 0x00000019 +# CHECK-NOT: { sym: +# CHECK-NEXT: ... +--- +triple: 'x86_64-unknown-unknown-macho' +objects: + - filename: /Inputs/basic1.macho.x86_64.o + symbols: + - { sym: _main, objAddr: 0x0, binAddr: 0x0000000100000EA0, size: 0x00000024 } + - filename: /Inputs/./libbasic.a(basic2.macho.x86_64.o) + symbols: + - { sym: _foo, objAddr: 0x0, binAddr: 0x0000000100000ED0, size: 0x00000050 } + - { sym: _private_int, objAddr: 0x0, binAddr: 0x0000000100001004, size: 0x00000000 } + - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F20, size: 0x00000017 } + - { sym: _baz, objAddr: 0x0, binAddr: 0x0000000100001000, size: 0x00000000 } + - filename: /Inputs/./libbasic.a(basic3.macho.x86_64.o) + symbols: + - { sym: _val, objAddr: 0x0, binAddr: 0x0000000100001008, size: 0x00000000 } + - { sym: _bar, objAddr: 0x0, binAddr: 0x0000000100000F40, size: 0x00000050 } + - { sym: _inc, objAddr: 0x0, binAddr: 0x0000000100000F90, size: 0x00000019 } +... |