mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-13 23:18:51 +00:00
69a9e66dcc
This is just a quick utility handy for getting rough summaries of types in a given object or dwo file. I've been using it to investigate the amount of type info redundancy across a project build, for example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284537 91177308-0d34-0410-b5e6-96231b3b80d8
40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
RUN: llvm-dwarfdump %p/Inputs/dwarfdump-type-units.elf-x86-64 | FileCheck -check-prefix=CHECK -check-prefix=LONG %s
|
|
RUN: llvm-dwarfdump %p/Inputs/dwarfdump-type-units.elf-x86-64 -summarize-types | FileCheck -check-prefix=CHECK -check-prefix=SHORT %s
|
|
RUN: llvm-dwarfdump -debug-dump=types %p/Inputs/dwarfdump-type-units.elf-x86-64 | FileCheck -check-prefix=TYPES %s
|
|
|
|
CHECK: debug_info contents:
|
|
|
|
CHECK: DW_TAG_variable
|
|
CHECK-NEXT: DW_AT_name {{.*}}"f"
|
|
CHECK: DW_AT_type [DW_FORM_ref_sig8] ([[FOO_SIG:0x[0-9a-f]*]])
|
|
|
|
CHECK: DW_TAG_variable
|
|
CHECK-NEXT: DW_AT_name {{.*}}"b"
|
|
CHECK: DW_AT_type [DW_FORM_ref_sig8] ([[BAR_SIG:0x[0-9a-f]*]])
|
|
|
|
|
|
CHECK: debug_types contents:
|
|
|
|
LONG: 0x00000000: Type Unit: {{.*}} name =
|
|
SHORT-NOT: Type Unit
|
|
SHORT: name =
|
|
CHECK-SAME: 'bar' type_signature = [[BAR_SIG]]
|
|
SHORT-SAME: length =
|
|
LONG-SAME: type_offset = 0x[[BAR_OFF:[0-9a-f]*]] (next unit at
|
|
LONG: DW_TAG_type_unit
|
|
LONG-NOT: NULL
|
|
LONG: 0x0000[[BAR_OFF]]: DW_TAG_structure_type
|
|
LONG-NEXT: DW_AT_name {{.*}}"bar"
|
|
|
|
LONG: 0x00000000: Type Unit: {{.*}} name =
|
|
SHORT: name =
|
|
CHECK-SAME: 'foo' type_signature = [[FOO_SIG]]
|
|
LONG-SAME: type_offset = 0x[[FOO_OFF:[0-9a-f]*]] (next unit at
|
|
LONG: DW_TAG_type_unit
|
|
LONG-NOT: NULL
|
|
LONG: 0x0000[[FOO_OFF]]: DW_TAG_structure_type
|
|
LONG-NEXT: DW_AT_name {{.*}}"foo"
|
|
|
|
TYPES-NOT: debug_info contents:
|
|
TYPES: debug_types contents:
|