Home | History | Annotate | Download | only in dsymutil
      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 ---
     32 triple:          'x86_64-apple-darwin'
     33 objects:
     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