diff options
Diffstat (limited to 'llvm/test/tools/dsymutil')
41 files changed, 165 insertions, 29 deletions
diff --git a/llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/accel-imported-declarations.test b/llvm/test/tools/dsymutil/AArch64/DWARFLinkerParallel/accel-imported-declarations.test index 29c0d45..29c0d45 100644 --- a/llvm/test/tools/dsymutil/ARM/DWARFLinkerParallel/accel-imported-declarations.test +++ b/llvm/test/tools/dsymutil/AArch64/DWARFLinkerParallel/accel-imported-declarations.test diff --git a/llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test b/llvm/test/tools/dsymutil/AArch64/accel-imported-declarations.test index 8afbe34..8afbe34 100644 --- a/llvm/test/tools/dsymutil/ARM/accel-imported-declarations.test +++ b/llvm/test/tools/dsymutil/AArch64/accel-imported-declarations.test diff --git a/llvm/test/tools/dsymutil/ARM/call-pc-reloc.test b/llvm/test/tools/dsymutil/AArch64/call-pc-reloc.test index 1636f08..1636f08 100644 --- a/llvm/test/tools/dsymutil/ARM/call-pc-reloc.test +++ b/llvm/test/tools/dsymutil/AArch64/call-pc-reloc.test diff --git a/llvm/test/tools/dsymutil/ARM/debug-names-accel-table-types.ll b/llvm/test/tools/dsymutil/AArch64/debug-names-accel-table-types.ll index 7811942..7811942 100644 --- a/llvm/test/tools/dsymutil/ARM/debug-names-accel-table-types.ll +++ b/llvm/test/tools/dsymutil/AArch64/debug-names-accel-table-types.ll diff --git a/llvm/test/tools/dsymutil/ARM/discriminator.test b/llvm/test/tools/dsymutil/AArch64/discriminator.test index 5d25878..5d25878 100644 --- a/llvm/test/tools/dsymutil/ARM/discriminator.test +++ b/llvm/test/tools/dsymutil/AArch64/discriminator.test diff --git a/llvm/test/tools/dsymutil/ARM/discriminator_repeated.test b/llvm/test/tools/dsymutil/AArch64/discriminator_repeated.test index 1c4dfc1..1c4dfc1 100644 --- a/llvm/test/tools/dsymutil/ARM/discriminator_repeated.test +++ b/llvm/test/tools/dsymutil/AArch64/discriminator_repeated.test diff --git a/llvm/test/tools/dsymutil/ARM/dummy-debug-map-amr64.map b/llvm/test/tools/dsymutil/AArch64/dummy-debug-map-arm64.map index 50d8602..bd2b201 100644 --- a/llvm/test/tools/dsymutil/ARM/dummy-debug-map-amr64.map +++ b/llvm/test/tools/dsymutil/AArch64/dummy-debug-map-arm64.map @@ -11,9 +11,13 @@ objects: - filename: 1.o symbols: - { sym: _bar, objAddr: 0x0, binAddr: 0x10000, size: 0x10 } + - { sym: __Z13lib1_internalv, objAddr: 0x0, binAddr: 0x10020, size: 0x20 } + - { sym: __ZN3Foo4funcIZ13lib1_internalvE3$_0EEvv, objAddr: 0x0, binAddr: 0x10040, size: 0x20 } - filename: 2.o symbols: - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x20000, size: 0x10 } + - { sym: __Z13lib1_internalv, objAddr: 0x0, binAddr: 0x20020, size: 0x20 } + - { sym: __ZN3Foo4funcIZ13lib1_internalvE3$_0EEvv, objAddr: 0x0, binAddr: 0x20040, size: 0x20 } - filename: 3.o symbols: - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x30000, size: 0x10 } diff --git a/llvm/test/tools/dsymutil/ARM/dwarf5-addr-base.test b/llvm/test/tools/dsymutil/AArch64/dwarf5-addr-base.test index dfcfa67..ebb2378 100644 --- a/llvm/test/tools/dsymutil/ARM/dwarf5-addr-base.test +++ b/llvm/test/tools/dsymutil/AArch64/dwarf5-addr-base.test @@ -46,17 +46,17 @@ RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil -y %p/dummy-debug-map-amr64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM +RUN: dsymutil -y %p/dummy-debug-map-arm64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | FileCheck %s RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --linker parallel --no-odr -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel --no-odr -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | FileCheck %s RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --linker parallel -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | \ @@ -64,18 +64,18 @@ RUN: FileCheck %s --check-prefixes=CHECK,CHECK-LLVM RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --update -y %p/dummy-debug-map-amr64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM +RUN: dsymutil --update -y %p/dummy-debug-map-arm64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | FileCheck %s --check-prefix=UPD RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --linker parallel --no-odr --update -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel --no-odr --update -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | \ RUN: FileCheck %s --check-prefix=UPD RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --linker parallel --update -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel --update -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | \ diff --git a/llvm/test/tools/dsymutil/ARM/dwarf5-addrx-0x0-last.test b/llvm/test/tools/dsymutil/AArch64/dwarf5-addrx-0x0-last.test index c9d1560..c9d1560 100644 --- a/llvm/test/tools/dsymutil/ARM/dwarf5-addrx-0x0-last.test +++ b/llvm/test/tools/dsymutil/AArch64/dwarf5-addrx-0x0-last.test diff --git a/llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test b/llvm/test/tools/dsymutil/AArch64/dwarf5-dwarf4-combination-macho.test index fb15f46..8c42cd5 100644 --- a/llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test +++ b/llvm/test/tools/dsymutil/AArch64/dwarf5-dwarf4-combination-macho.test @@ -30,11 +30,11 @@ ; clang -g -c -O1 b.cpp -gdwarf-4 -o 2.o RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil -y %p/dummy-debug-map-amr64.map -oso-prepend-path=%p/../Inputs/DWARF5-DWARF4-combination -o %t.dir/dwarf5-dwarf4-combination-macho.dSYM +RUN: dsymutil -y %p/dummy-debug-map-arm64.map -oso-prepend-path=%p/../Inputs/DWARF5-DWARF4-combination -o %t.dir/dwarf5-dwarf4-combination-macho.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-dwarf4-combination-macho.dSYM -a --verbose | FileCheck %s --check-prefixes=CHECK,WITH-PARENTS RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --no-odr --linker parallel -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --no-odr --linker parallel -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-DWARF4-combination \ RUN: -o %t.dir/dwarf5-dwarf4-combination-macho.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-dwarf4-combination-macho.dSYM \ @@ -43,7 +43,7 @@ RUN: -a --verbose | FileCheck %s --check-prefixes=CHECK,NO-PARENTS ### Uncomment following when llvm-dwarfdump will dump address ranges ### correctly for severall compile units case. COM: rm -rf %t.dir && mkdir -p %t.dir -COM: dsymutil --linker parallel -y %p/dummy-debug-map-amr64.map \ +COM: dsymutil --linker parallel -y %p/dummy-debug-map-arm64.map \ COM: -oso-prepend-path=%p/../Inputs/DWARF5-DWARF4-combination \ COM: -o %t.dir/dwarf5-dwarf4-combination-macho.dSYM COM: llvm-dwarfdump %t.dir/dwarf5-dwarf4-combination-macho.dSYM \ diff --git a/llvm/test/tools/dsymutil/ARM/dwarf5-macho.test b/llvm/test/tools/dsymutil/AArch64/dwarf5-macho.test index 08c8bba..f90f597 100644 --- a/llvm/test/tools/dsymutil/ARM/dwarf5-macho.test +++ b/llvm/test/tools/dsymutil/AArch64/dwarf5-macho.test @@ -18,18 +18,18 @@ RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil -y %p/dummy-debug-map-amr64.map -oso-prepend-path=%p/../Inputs/DWARF5 -o %t.dir/dwarf5-macho.dSYM +RUN: dsymutil -y %p/dummy-debug-map-arm64.map -oso-prepend-path=%p/../Inputs/DWARF5 -o %t.dir/dwarf5-macho.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-macho.dSYM -a --verbose | FileCheck %s RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --linker parallel --no-odr -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel --no-odr -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5 -o %t.dir/dwarf5-macho.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-macho.dSYM -a --verbose | FileCheck %s ### Uncomment following when llvm-dwarfdump will print resolved address ranges ### for the case mutiplue compile units. COM: rm -rf %t.dir && mkdir -p %t.dir -COM: dsymutil --linker parallel -y %p/dummy-debug-map-amr64.map \ +COM: dsymutil --linker parallel -y %p/dummy-debug-map-arm64.map \ COM: -oso-prepend-path=%p/../Inputs/DWARF5 -o %t.dir/dwarf5-macho.dSYM COM: llvm-dwarfdump %t.dir/dwarf5-macho.dSYM -a --verbose | FileCheck %s \ COM: --check-prefixes=CHECK,CHECK-LLVM diff --git a/llvm/test/tools/dsymutil/ARM/dwarf5-str-offsets-base-strx.test b/llvm/test/tools/dsymutil/AArch64/dwarf5-str-offsets-base-strx.test index 4e6c666..c5110a8 100644 --- a/llvm/test/tools/dsymutil/ARM/dwarf5-str-offsets-base-strx.test +++ b/llvm/test/tools/dsymutil/AArch64/dwarf5-str-offsets-base-strx.test @@ -50,33 +50,33 @@ RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil -y %p/dummy-debug-map-amr64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM +RUN: dsymutil -y %p/dummy-debug-map-arm64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | FileCheck %s --check-prefixes=CHECK,GLOBAL -RUN: dsymutil --update -y %p/dummy-debug-map-amr64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM +RUN: dsymutil --update -y %p/dummy-debug-map-arm64.map -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | FileCheck %s --check-prefixes=UPD,GLOBALUPD RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --linker parallel --no-odr -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel --no-odr -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | \ RUN: FileCheck %s --check-prefixes=CHECK,LOCAL RUN: rm -rf %t.dir && mkdir -p %t.dir -RUN: dsymutil --linker parallel -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | \ RUN: FileCheck %s --check-prefixes=CHECK,LOCAL,CHECK-LLVM -RUN: dsymutil --linker parallel --no-odr --update -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel --no-odr --update -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | \ RUN: FileCheck %s --check-prefixes=UPD,LOCALUPD -RUN: dsymutil --linker parallel --update -y %p/dummy-debug-map-amr64.map \ +RUN: dsymutil --linker parallel --update -y %p/dummy-debug-map-arm64.map \ RUN: -oso-prepend-path=%p/../Inputs/DWARF5-addr-base-str-off-base \ RUN: -o %t.dir/dwarf5-addr-base.dSYM RUN: llvm-dwarfdump %t.dir/dwarf5-addr-base.dSYM -a --verbose | \ @@ -98,7 +98,7 @@ CHECK: DW_AT_str_offsets_base [DW_FORM_sec_offset] (0x000000 CHECK: DW_AT_comp_dir [DW_FORM_strx] (indexed (00000004) string = "/Users/shubham/Development/test109275485") CHECK: DW_TAG_subprogram -CHECK: DW_AT_low_pc [DW_FORM_addrx] (indexed (00000000) address = 0x0000000000010000) +CHECK: DW_AT_low_pc [DW_FORM_addrx] (indexed (00000000) address = 0x0000000000010040) CHECK: DW_AT_linkage_name [DW_FORM_strx] (indexed (00000005) string = "_Z4foo2i") CHECK: DW_AT_name [DW_FORM_strx] (indexed (00000006) string = "foo2") diff --git a/llvm/test/tools/dsymutil/ARM/extern-alias.test b/llvm/test/tools/dsymutil/AArch64/extern-alias.test index 5764063..5764063 100644 --- a/llvm/test/tools/dsymutil/ARM/extern-alias.test +++ b/llvm/test/tools/dsymutil/AArch64/extern-alias.test diff --git a/llvm/test/tools/dsymutil/ARM/fat-arch-name.test b/llvm/test/tools/dsymutil/AArch64/fat-arch-name.test index 1fdcc06..1fdcc06 100644 --- a/llvm/test/tools/dsymutil/ARM/fat-arch-name.test +++ b/llvm/test/tools/dsymutil/AArch64/fat-arch-name.test diff --git a/llvm/test/tools/dsymutil/ARM/fat-threading.test b/llvm/test/tools/dsymutil/AArch64/fat-threading.test index acb1175..acb1175 100644 --- a/llvm/test/tools/dsymutil/ARM/fat-threading.test +++ b/llvm/test/tools/dsymutil/AArch64/fat-threading.test diff --git a/llvm/test/tools/dsymutil/ARM/firmware.test b/llvm/test/tools/dsymutil/AArch64/firmware.test index 128faa50a..128faa50a 100644 --- a/llvm/test/tools/dsymutil/ARM/firmware.test +++ b/llvm/test/tools/dsymutil/AArch64/firmware.test diff --git a/llvm/test/tools/dsymutil/ARM/inline-source.test b/llvm/test/tools/dsymutil/AArch64/inline-source.test index e1c552f..e1c552f 100644 --- a/llvm/test/tools/dsymutil/ARM/inline-source.test +++ b/llvm/test/tools/dsymutil/AArch64/inline-source.test diff --git a/llvm/test/tools/dsymutil/ARM/inlined-low_pc.c b/llvm/test/tools/dsymutil/AArch64/inlined-low_pc.c index ad48b59..b89a6f9 100644 --- a/llvm/test/tools/dsymutil/ARM/inlined-low_pc.c +++ b/llvm/test/tools/dsymutil/AArch64/inlined-low_pc.c @@ -3,17 +3,17 @@ static int foo(int i) { return 42 + i; } int bar(int a) { return foo(a); } -// RUN: dsymutil -f -y %p/dummy-debug-map-amr64.map -oso-prepend-path %p/../Inputs/inlined-low_pc -o - | llvm-dwarfdump - | FileCheck %s +// RUN: dsymutil -f -y %p/dummy-debug-map-arm64.map -oso-prepend-path %p/../Inputs/inlined-low_pc -o - | llvm-dwarfdump - | FileCheck %s -// RUN: dsymutil --linker parallel -f -y %p/dummy-debug-map-amr64.map \ +// RUN: dsymutil --linker parallel -f -y %p/dummy-debug-map-arm64.map \ // RUN: -oso-prepend-path %p/../Inputs/inlined-low_pc -o - | \ // RUN: llvm-dwarfdump - | FileCheck %s // CHECK: DW_TAG_subprogram -// CHECK: DW_AT_low_pc{{.*}}0x0000000000010000 +// CHECK: DW_AT_low_pc{{.*}}0x0000000000010040 // CHECK: DW_AT_name{{.*}}"bar" // CHECK-NOT: NULL // CHECK: DW_TAG_inlined_subroutine // CHECK-NEXT: DW_AT_abstract_origin{{.*}}"foo" -// CHECK-NEXT: DW_AT_low_pc{{.*}}0x0000000000010000 +// CHECK-NEXT: DW_AT_low_pc{{.*}}0x0000000000010040 diff --git a/llvm/test/tools/dsymutil/AArch64/lit.local.cfg b/llvm/test/tools/dsymutil/AArch64/lit.local.cfg new file mode 100644 index 0000000..923d126 --- /dev/null +++ b/llvm/test/tools/dsymutil/AArch64/lit.local.cfg @@ -0,0 +1,10 @@ +if not "AArch64" in config.root.targets: + config.unsupported = True + +if config.llvm_use_sanitizer: + suppr = os.path.join( + os.path.dirname(os.path.realpath(__file__)), "suppressions.txt" + ) + config.environment["LSAN_OPTIONS"] = "suppressions={}".format(suppr) + +config.suffixes = [".test", ".cpp", ".c"] diff --git a/llvm/test/tools/dsymutil/ARM/missing-object-warning.test b/llvm/test/tools/dsymutil/AArch64/missing-object-warning.test index 62b3ecb..62b3ecb 100644 --- a/llvm/test/tools/dsymutil/ARM/missing-object-warning.test +++ b/llvm/test/tools/dsymutil/AArch64/missing-object-warning.test diff --git a/llvm/test/tools/dsymutil/ARM/missing-symbol-warning.test b/llvm/test/tools/dsymutil/AArch64/missing-symbol-warning.test index 1de805d..1de805d 100644 --- a/llvm/test/tools/dsymutil/ARM/missing-symbol-warning.test +++ b/llvm/test/tools/dsymutil/AArch64/missing-symbol-warning.test diff --git a/llvm/test/tools/dsymutil/AArch64/odr-uniquing-DW_AT_name-conflict.test b/llvm/test/tools/dsymutil/AArch64/odr-uniquing-DW_AT_name-conflict.test new file mode 100644 index 0000000..b6edb8b --- /dev/null +++ b/llvm/test/tools/dsymutil/AArch64/odr-uniquing-DW_AT_name-conflict.test @@ -0,0 +1,28 @@ +# Tests the case where a DW_TAG_subprogram for a method declaration +# got uniqued into a DW_TAG_subprogram with the same linkage name (but +# different DW_AT_name). Make sure the DW_TAG_subprogram DIE for the +# definition, which previously pointed to the now de-deduplicated declaration, +# gets inserted into the .debug_names table using the DW_AT_name of the canonical +# declaration DW_TAG_subprogram. +# +# Object files compiled as follows: +# clang -g -c -o 1.o Inputs/odr-uniquing-DW_AT_name-conflict/lib1.cpp +# clang -g -c -o 2.o Inputs/odr-uniquing-DW_AT_name-conflict/lib2.cpp + +# RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -o - \ +# RUN: | llvm-dwarfdump --verify - | FileCheck %s + +# RUN: dsymutil --linker parallel -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -o - \ +# RUN: | not llvm-dwarfdump --verify - | FileCheck %s --check-prefix=PARALLEL-ODR + +# RUN: dsymutil -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -no-odr -o - \ +# RUN: | llvm-dwarfdump --verify - | FileCheck %s + +# RUN: dsymutil --linker parallel -f -oso-prepend-path=%p/../Inputs/odr-uniquing-DW_AT_name-conflict -y %p/dummy-debug-map-arm64.map -no-odr -o - \ +# RUN: | llvm-dwarfdump --verify - | FileCheck %s + +# CHECK: No errors. + +# FIXME: parallel DWARFLinker uses wrong DW_AT_name when inserting uniqued subprogram into .debug_names +# PARALLEL-ODR: Verifying .debug_names... +# PARALLEL-ODR-NEXT: error: Name Index {{.*}} mismatched Name of DIE diff --git a/llvm/test/tools/dsymutil/ARM/preload.test b/llvm/test/tools/dsymutil/AArch64/preload.test index 2c45220..2c45220 100644 --- a/llvm/test/tools/dsymutil/ARM/preload.test +++ b/llvm/test/tools/dsymutil/AArch64/preload.test diff --git a/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle-empty.test b/llvm/test/tools/dsymutil/AArch64/remarks-linking-bundle-empty.test index 0a89fa1..0a89fa1 100644 --- a/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle-empty.test +++ b/llvm/test/tools/dsymutil/AArch64/remarks-linking-bundle-empty.test diff --git a/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle.test b/llvm/test/tools/dsymutil/AArch64/remarks-linking-bundle.test index e1b0445..e1b0445 100644 --- a/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle.test +++ b/llvm/test/tools/dsymutil/AArch64/remarks-linking-bundle.test diff --git a/llvm/test/tools/dsymutil/ARM/static-archive-collision.test b/llvm/test/tools/dsymutil/AArch64/static-archive-collision.test index 55fd5e6..55fd5e6 100644 --- a/llvm/test/tools/dsymutil/ARM/static-archive-collision.test +++ b/llvm/test/tools/dsymutil/AArch64/static-archive-collision.test diff --git a/llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test b/llvm/test/tools/dsymutil/AArch64/stmt-seq-macho.test index db223cd..db223cd 100644 --- a/llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test +++ b/llvm/test/tools/dsymutil/AArch64/stmt-seq-macho.test diff --git a/llvm/test/tools/dsymutil/AArch64/suppressions.txt b/llvm/test/tools/dsymutil/AArch64/suppressions.txt new file mode 100644 index 0000000..0a43d44 --- /dev/null +++ b/llvm/test/tools/dsymutil/AArch64/suppressions.txt @@ -0,0 +1,2 @@ +# Ignore leaks in CoreFoundation. +leak:CF diff --git a/llvm/test/tools/dsymutil/AArch64/swiftmodule-include-from-interface.test b/llvm/test/tools/dsymutil/AArch64/swiftmodule-include-from-interface.test new file mode 100644 index 0000000..00141f12 --- /dev/null +++ b/llvm/test/tools/dsymutil/AArch64/swiftmodule-include-from-interface.test @@ -0,0 +1,33 @@ +# RUN: dsymutil -include-swiftmodules-from-interface -verbose -oso-prepend-path=%p -y -o %t.dSYM %s | FileCheck %s +# +# RUN: dsymutil -include-swiftmodules-from-interface --linker parallel -verbose -oso-prepend-path=%p -y %s -o %t-parallel.dSYM | FileCheck %s +# +# To regenerate: +# echo ''>I.swift +# echo ''>B.swift +# echo 'import I'>main.swift +# xcrun swiftc -emit-module-interface-path I.swiftinterface -enable-library-evolution I.swift +# xcrun swiftc -emit-module-path B.swiftmodule B.swift -Xfrontend -no-serialize-debugging-options +# xcrun swiftc -explicit-module-build main.swift -I. -module-cache-path cache -g -Xfrontend -no-serialize-debugging-options +# output is "B.swiftmodule" and "cache/I*.swiftmodule" +# +# CHECK-NOT: Skipping compiled textual Swift interface: {{.*}}/Inputs/Binary.swiftmodule +# CHECK-NOT: Skipping compiled textual Swift interface: {{.*}}/Inputs/FromInterface.swiftmodule + +# +--- +triple: 'arm64-apple-darwin' +objects: + - filename: '../Inputs/Binary.swiftmodule' + timestamp: 0 + type: 50 + symbols: [] + - filename: '../Inputs/FromInterface.swiftmodule' + timestamp: 0 + type: 50 + symbols: [] + - filename: '../Inputs/FromInterface.swiftmodule' + timestamp: 0 + type: 50 + symbols: [] +... diff --git a/llvm/test/tools/dsymutil/ARM/swiftmodule.test b/llvm/test/tools/dsymutil/AArch64/swiftmodule.test index 31b3926..31b3926 100644 --- a/llvm/test/tools/dsymutil/ARM/swiftmodule.test +++ b/llvm/test/tools/dsymutil/AArch64/swiftmodule.test diff --git a/llvm/test/tools/dsymutil/AArch64/typedefs-with-same-name.test b/llvm/test/tools/dsymutil/AArch64/typedefs-with-same-name.test new file mode 100644 index 0000000..cef40b4 --- /dev/null +++ b/llvm/test/tools/dsymutil/AArch64/typedefs-with-same-name.test @@ -0,0 +1,41 @@ +#RUN: dsymutil --linker=parallel -f -oso-prepend-path=%p/../Inputs/ -y %s -o %t.dwarf +#RUN: llvm-dwarfdump %t.dwarf | FileCheck %s + +# There should be two typedef DIE named "BarInt" in the resultant .dwarf file. +# The second should refer to the first, which refer to "Foo<int>". +# CHECK: 0x[[FIRST_BARINT_ADDR:[0-9a-f]*]]: DW_TAG_typedef +# CHECK-NEXT: DW_AT_type (0x{{([[:xdigit:]]*)}} "Foo<int>") +# CHECK-NEXT: DW_AT_name ("BarInt") +# CHECK: 0x{{([[:xdigit:]]*)}}: DW_TAG_typedef +# CHECK-NEXT: DW_AT_type (0x[[FIRST_BARINT_ADDR]] "BarInt") +# CHECK-NEXT: DW_AT_name ("BarInt") + +# Source: +# +# template <typename T> struct Foo; +# typedef Foo<int> BarInt; +# template <typename T> +# struct [[clang::preferred_name(BarInt)]] Foo{}; +# int main() { +# BarInt barInt; +# return 0; +# } +# +# Compile with: +# +# $ clang++ -g -O0 -c typedefs-with-same-name.cpp -o typedefs-with-same-name.o +# +# To generate the debug map: +# +# $ clang++ typedefs-with-same-name.o -o typedefs-with-same-name +# $ dsymutil -dump-debug-map typedefs-with-same-name + +--- +triple: 'arm64-apple-darwin' +objects: + - filename: '/typedefs-with-same-name.o' + timestamp: 1762438746 + type: 102 + symbols: + - { sym: _main, objAddr: 0x0, binAddr: 0x100000360, size: 0x14 } +... diff --git a/llvm/test/tools/dsymutil/ARM/lit.local.cfg b/llvm/test/tools/dsymutil/ARM/lit.local.cfg index d951f4f..6c4647c 100644 --- a/llvm/test/tools/dsymutil/ARM/lit.local.cfg +++ b/llvm/test/tools/dsymutil/ARM/lit.local.cfg @@ -1,7 +1,5 @@ if not "ARM" in config.root.targets: config.unsupported = True -if not "AArch64" in config.root.targets: - config.unsupported = True if config.llvm_use_sanitizer: suppr = os.path.join( diff --git a/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/1.o b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/1.o Binary files differnew file mode 100644 index 0000000..5932a3c --- /dev/null +++ b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/1.o diff --git a/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/2.o b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/2.o Binary files differnew file mode 100644 index 0000000..607b470 --- /dev/null +++ b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/2.o diff --git a/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.cpp b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.cpp new file mode 100644 index 0000000..4cf90f0 --- /dev/null +++ b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.cpp @@ -0,0 +1,5 @@ +#include "lib1.h" + +[[gnu::weak]] void lib1_internal() { + Foo{}.func<decltype([]{})>(); +} diff --git a/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.h b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.h new file mode 100644 index 0000000..3b3cefb --- /dev/null +++ b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib1.h @@ -0,0 +1,3 @@ +struct Foo { + template<typename T> void func() {} +}; diff --git a/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib2.cpp b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib2.cpp new file mode 100644 index 0000000..4cf90f0 --- /dev/null +++ b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/lib2.cpp @@ -0,0 +1,5 @@ +#include "lib1.h" + +[[gnu::weak]] void lib1_internal() { + Foo{}.func<decltype([]{})>(); +} diff --git a/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/main.cpp b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/main.cpp new file mode 100644 index 0000000..77f2cc4 --- /dev/null +++ b/llvm/test/tools/dsymutil/Inputs/odr-uniquing-DW_AT_name-conflict/main.cpp @@ -0,0 +1,6 @@ +[[gnu::weak]] void lib1_internal(); + +int main() { + lib1_internal(); + __builtin_debugtrap(); +} diff --git a/llvm/test/tools/dsymutil/Inputs/typedefs-with-same-name.o b/llvm/test/tools/dsymutil/Inputs/typedefs-with-same-name.o Binary files differnew file mode 100644 index 0000000..6cc47c1 --- /dev/null +++ b/llvm/test/tools/dsymutil/Inputs/typedefs-with-same-name.o diff --git a/llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration.test b/llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration.test index d028194..fd15ce3 100644 --- a/llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration.test +++ b/llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/odr-fwd-declaration.test @@ -35,14 +35,14 @@ void foo() { Sptrptr ptr1 = 0; } // CHECK: DW_TAG_member // CHECK-NEXT: DW_AT_name{{.*}}"field" -// CHECK: 0x[[TYPEDEF_PTR_S]]: DW_TAG_typedef -// CHECK-NEXT: DW_AT_type{{.*}}{0x[[PTR_S]]} "S *" -// CHECK-NEXT: DW_AT_name{{.*}}"Sptr" - // CHECK: 0x[[TYPEDEF_PTR_PTR_S:[a-f0-9]*]]: DW_TAG_typedef // CHECK-NEXT: DW_AT_type{{.*}}{0x[[PTR_PTR_S]]} "Sptr *" // CHECK-NEXT: DW_AT_name{{.*}}"Sptrptr" +// CHECK: 0x[[TYPEDEF_PTR_S]]: DW_TAG_typedef +// CHECK-NEXT: DW_AT_type{{.*}}{0x[[PTR_S]]} "S *" +// CHECK-NEXT: DW_AT_name{{.*}}"Sptr" + // First we confirm that first compile unit properly references type. // // CHECK: DW_TAG_compile_unit diff --git a/llvm/test/tools/dsymutil/cmdline.test b/llvm/test/tools/dsymutil/cmdline.test index 1574fe3..0b0bce1 100644 --- a/llvm/test/tools/dsymutil/cmdline.test +++ b/llvm/test/tools/dsymutil/cmdline.test @@ -14,6 +14,7 @@ CHECK: -fat64 CHECK: -flat CHECK: -gen-reproducer CHECK: -help +CHECK: -include-swiftmodules-from-interface CHECK: -keep-function-for-static CHECK: -no-object-timestamp CHECK: -no-odr |
