diff --git a/dwarf/tombstone-loc-0 b/dwarf/tombstone-loc-0 new file mode 100755 index 0000000..1375c68 Binary files /dev/null and b/dwarf/tombstone-loc-0 differ diff --git a/dwarf/tombstone-loc-1 b/dwarf/tombstone-loc-1 new file mode 100755 index 0000000..60ee3b1 Binary files /dev/null and b/dwarf/tombstone-loc-1 differ diff --git a/dwarf/tombstone-loc-addend b/dwarf/tombstone-loc-addend new file mode 100755 index 0000000..a12a5d1 Binary files /dev/null and b/dwarf/tombstone-loc-addend differ diff --git a/dwarf/tombstone-loc-max b/dwarf/tombstone-loc-max new file mode 100755 index 0000000..7358812 Binary files /dev/null and b/dwarf/tombstone-loc-max differ diff --git a/dwarf/tombstone-loclists-0 b/dwarf/tombstone-loclists-0 new file mode 100755 index 0000000..059d71e Binary files /dev/null and b/dwarf/tombstone-loclists-0 differ diff --git a/dwarf/tombstone-loclists-addend b/dwarf/tombstone-loclists-addend new file mode 100755 index 0000000..4dc49f8 Binary files /dev/null and b/dwarf/tombstone-loclists-addend differ diff --git a/dwarf/tombstone-loclists-max b/dwarf/tombstone-loclists-max new file mode 100755 index 0000000..ef5bd7a Binary files /dev/null and b/dwarf/tombstone-loclists-max differ diff --git a/dwarf/tombstone.cpp b/dwarf/tombstone.cpp new file mode 100644 index 0000000..97ddfb7 --- /dev/null +++ b/dwarf/tombstone.cpp @@ -0,0 +1,14 @@ +// Source: https://reviews.llvm.org/D84825#2183197 +__attribute__((noinline)) void f1() { } +void f2() { + int i = 3; + f1(); + i = 7; + f1(); +} +int main() { + int i = 3; + f1(); + i = 7; + f1(); +} diff --git a/dwarf/tombstone.sh b/dwarf/tombstone.sh new file mode 100644 index 0000000..adaf72f --- /dev/null +++ b/dwarf/tombstone.sh @@ -0,0 +1,10 @@ +CFLAGS="-fdebug-prefix-map=`pwd`=/object/testfiles/dwarf -ffunction-sections -Wl,-gc-sections -O3 -gdwarf-4" +g++-13 $CFLAGS tombstone.cpp -o tombstone-loc-0 -fuse-ld=bfd +g++-13 $CFLAGS tombstone.cpp -o tombstone-loc-addend -fuse-ld=gold +g++-13 $CFLAGS tombstone.cpp -o tombstone-loc-1 -fuse-ld=lld -B /usr/lib/llvm-16/bin +g++-13 $CFLAGS tombstone.cpp -o tombstone-loc-max -fuse-ld=lld -B /usr/lib/llvm-16/bin -z dead-reloc-in-nonalloc='.debug_*=0xffffffffffffffff' -z dead-reloc-in-nonalloc=.debug_loc=0xfffffffffffffffe -z dead-reloc-in-nonalloc=.debug_ranges=0xfffffffffffffffe + +CFLAGS="-fdebug-prefix-map=`pwd`=/object/testfiles/dwarf -ffunction-sections -Wl,-gc-sections -O3 -gdwarf-5" +g++-13 $CFLAGS tombstone.cpp -o tombstone-loclists-0 -fuse-ld=bfd +g++-13 $CFLAGS tombstone.cpp -o tombstone-loclists-addend -fuse-ld=gold +g++-13 $CFLAGS tombstone.cpp -o tombstone-loclists-max -fuse-ld=lld -B /usr/lib/llvm-16/bin -z dead-reloc-in-nonalloc='.debug_*=0xffffffffffffffff' -z dead-reloc-in-nonalloc=.debug_loc=0xfffffffffffffffe -z dead-reloc-in-nonalloc=.debug_ranges=0xfffffffffffffffe