This patch is extracted from D96035, it adds support for the type deduplication mode. With this patch DWARFLinkerParallel handles --odr option. It also processes clang modules.
81 lines
2.6 KiB
Plaintext
81 lines
2.6 KiB
Plaintext
RUN: dsymutil --linker llvm -accelerator=Dwarf \
|
|
RUN: -oso-prepend-path=%p/../../Inputs \
|
|
RUN: %p/../../Inputs/accel-imported-declaration.macho-arm64 -o %t.dwarf.dSYM
|
|
RUN: dsymutil --linker llvm -accelerator=Apple \
|
|
RUN: -oso-prepend-path=%p/../../Inputs \
|
|
RUN: %p/../../Inputs/accel-imported-declaration.macho-arm64 -o %t.apple.dSYM
|
|
|
|
RUN: llvm-dwarfdump -v %t.dwarf.dSYM | FileCheck %s -check-prefixes=DWARF,COMMON
|
|
RUN: llvm-dwarfdump -v %t.apple.dSYM | FileCheck %s -check-prefixes=APPLE,COMMON
|
|
|
|
COMMON: .debug_info contents
|
|
COMMON: DW_TAG_compile_unit
|
|
COMMON: DW_AT_name{{.*}}"__artificial_type_unit"
|
|
COMMON: DW_TAG_base_type
|
|
COMMON: DW_AT_name{{.*}}"int"
|
|
COMMON: DW_TAG_namespace
|
|
COMMON: DW_AT_name{{.*}}"A"
|
|
COMMON: DW_TAG_namespace
|
|
COMMON: DW_AT_name{{.*}}"B"
|
|
COMMON: 0x[[NAMESPACE_C_1:[0-9a-f]*]]: DW_TAG_namespace
|
|
COMMON: DW_AT_name{{.*}}"C"
|
|
COMMON-NOT: DW_TAG_variable
|
|
COMMON: 0x[[NAMESPACE_C_2:[0-9a-f]*]]: DW_TAG_imported_declaration
|
|
COMMON: DW_AT_import{{.*}}[[NAMESPACE_C_1]]
|
|
COMMON: DW_AT_name{{.*}}"C"
|
|
COMMON: DW_TAG_imported_module
|
|
COMMON: DW_AT_import{{.*}}[[NAMESPACE_C_1]]
|
|
|
|
|
|
COMMON: DW_TAG_compile_unit
|
|
COMMON: {{.*}}DW_TAG_namespace
|
|
COMMON: DW_AT_name{{.*}}"A"
|
|
COMMON: {{.*}}DW_TAG_namespace
|
|
COMMON: DW_AT_name{{.*}}"B"
|
|
COMMON: 0x[[NAMESPACE_C_3:[0-9a-f]*]]: DW_TAG_namespace
|
|
COMMON: DW_AT_name{{.*}}"C"
|
|
COMMON: 0x[[VAR_A:[0-9a-f]*]]: DW_TAG_variable
|
|
COMMON: DW_TAG_imported_declaration
|
|
COMMON: DW_AT_import{{.*}}[[VAR_A]]
|
|
|
|
DWARF: .debug_names contents:
|
|
DWARF: Bucket 0 [
|
|
DWARF-NEXT: Name {{.*}} {
|
|
DWARF-NEXT: Hash: {{.*}}
|
|
DWARF-NEXT: String: {{.*}} "C"
|
|
DWARF-NEXT: Entry {{.*}} {
|
|
DWARF-NEXT: Abbrev: {{.*}}
|
|
DWARF-NEXT: Tag: DW_TAG_namespace
|
|
DWARF: DW_IDX_die_offset: 0x0000002f
|
|
DWARF-NEXT: }
|
|
DWARF-NEXT: Entry {{.*}} {
|
|
DWARF-NEXT: Abbrev: {{.*}}
|
|
DWARF: Tag: DW_TAG_imported_declaration
|
|
DWARF: DW_IDX_die_offset: 0x00000035
|
|
DWARF-NEXT: }
|
|
DWARF-NEXT: Entry {{.*}} {
|
|
DWARF-NEXT: Abbrev: {{.*}}
|
|
DWARF-NEXT: Tag: DW_TAG_namespace
|
|
DWARF: DW_IDX_die_offset: 0x0000003c
|
|
DWARF-NEXT: }
|
|
|
|
DWARF-NEXT: }
|
|
|
|
APPLE: .apple_namespaces contents:
|
|
APPLE: Bucket 1 [
|
|
APPLE-NEXT: Hash {{.*}} [
|
|
APPLE-NEXT: Name@{{.*}} {
|
|
APPLE-NEXT: String: {{.*}} "C"
|
|
APPLE-NEXT: Data 0 [
|
|
APPLE-NEXT: Atom[0]: 0x[[NAMESPACE_C_1]]
|
|
APPLE-NEXT: ]
|
|
APPLE-NEXT: Data 1 [
|
|
APPLE-NEXT: Atom[0]: 0x[[NAMESPACE_C_2]]
|
|
APPLE-NEXT: ]
|
|
APPLE-NEXT: Data 2 [
|
|
APPLE-NEXT: Atom[0]: 0x[[NAMESPACE_C_3]]
|
|
APPLE-NEXT: ]
|
|
APPLE: }
|
|
APPLE-NEXT: ]
|
|
APPLE-NEXT: ]
|