summaryrefslogtreecommitdiff
path: root/test/DebugInfo
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2012-08-07 11:46:57 +0000
committerAlexey Samsonov <samsonov@google.com>2012-08-07 11:46:57 +0000
commit351f83be64057380877615153fe5dc50308ab017 (patch)
tree64f4a82adea27798422027ccf6f6fa6ad5a35b10 /test/DebugInfo
parentb6fdd022b7414f916ba7b08560a0f55e14863326 (diff)
downloadllvm-351f83be64057380877615153fe5dc50308ab017.tar.gz
llvm-351f83be64057380877615153fe5dc50308ab017.tar.bz2
llvm-351f83be64057380877615153fe5dc50308ab017.tar.xz
Fix the representation of debug line table in DebugInfo LLVM library,
and "instruction address -> file/line" lookup. Instead of plain collection of rows, debug line table for compilation unit is now treated as the number of row ranges, describing sequences (series of contiguous machine instructions). The sequences are not always listed in the order of increasing address, so previously used std::lower_bound() sometimes produced wrong results. Now the instruction address lookup consists of two stages: finding the correct sequence, and searching for address in range of rows for this sequence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161414 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/DebugInfo')
-rwxr-xr-xtest/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64bin0 -> 7689 bytes
-rw-r--r--test/DebugInfo/dwarfdump-test.test6
2 files changed, 6 insertions, 0 deletions
diff --git a/test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64 b/test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64
new file mode 100755
index 0000000000..884870859d
--- /dev/null
+++ b/test/DebugInfo/Inputs/dwarfdump-test4.elf-x86-64
Binary files differ
diff --git a/test/DebugInfo/dwarfdump-test.test b/test/DebugInfo/dwarfdump-test.test
index faef03ba62..de23dcd9c2 100644
--- a/test/DebugInfo/dwarfdump-test.test
+++ b/test/DebugInfo/dwarfdump-test.test
@@ -14,6 +14,9 @@ RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test3.elf-x86-64 \
RUN: --address=0x573 --functions | FileCheck %s -check-prefix INCLUDE_TEST_1
RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test3.elf-x86-64 \
RUN: --address=0x56d --functions | FileCheck %s -check-prefix INCLUDE_TEST_2
+RUN: llvm-dwarfdump %p/Inputs/dwarfdump-test4.elf-x86-64 \
+RUN: --address=0x55c --functions \
+RUN: | FileCheck %s -check-prefix MANY_SEQ_IN_LINE_TABLE
MAIN: main
MAIN-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16:10
@@ -38,3 +41,6 @@ INCLUDE_TEST_1-NEXT: /tmp/dbginfo{{[/\\]}}include{{[/\\]}}decl2.h:1:0
INCLUDE_TEST_2: _Z3do1v
INCLUDE_TEST_2-NEXT: /tmp/include{{[/\\]}}decl.h:5:0
+
+MANY_SEQ_IN_LINE_TABLE: _Z1cv
+MANY_SEQ_IN_LINE_TABLE-NEXT: /tmp/dbginfo/sequences{{[/\\]}}c.cc:2:0