mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
The main use of the YAML debug map format is for testing inside LLVM. If we have IR files in the tests used to generate object files, then we obviously don't know the addresses of the symbols inside the object files beforehand. This change lets the YAML import lookup the addresses in the object files and rewrite them. This will allow to have test that really don't need any binary input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239189 91177308-0d34-0410-b5e6-96231b3b80d8
45 lines
2.4 KiB
Plaintext
45 lines
2.4 KiB
Plaintext
# 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 }
|
|
...
|