summaryrefslogtreecommitdiffstats
path: root/tests/run-get-lines.sh
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2013-05-03 11:28:49 +0200
committerMark Wielaard <mjw@redhat.com>2013-05-05 22:15:13 +0200
commit9affad3d2314de1bacbabae453a7261cc02feac4 (patch)
tree7fef6e5b20e0fc12e3116a79685ab36184a7b1f5 /tests/run-get-lines.sh
parent904aec2c2f62b729a536c2259274fdd440b0d923 (diff)
downloadandroid_external_elfutils-9affad3d2314de1bacbabae453a7261cc02feac4.tar.gz
android_external_elfutils-9affad3d2314de1bacbabae453a7261cc02feac4.tar.bz2
android_external_elfutils-9affad3d2314de1bacbabae453a7261cc02feac4.zip
libdw: dwarf_getsrclines don't set end_sequence when there are no lines.
Some CUs might only have a file list, but no actual source lines in their statement list. Only set end_sequence at the end of the source lines list if there are actually lines. Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'tests/run-get-lines.sh')
-rwxr-xr-xtests/run-get-lines.sh31
1 files changed, 29 insertions, 2 deletions
diff --git a/tests/run-get-lines.sh b/tests/run-get-lines.sh
index 5a220cab..fb48c77d 100755
--- a/tests/run-get-lines.sh
+++ b/tests/run-get-lines.sh
@@ -1,5 +1,5 @@
#! /bin/sh
-# Copyright (C) 1999, 2000, 2002, 2004, 2005 Red Hat, Inc.
+# Copyright (C) 1999, 2000, 2002, 2004, 2005, 2013 Red Hat, Inc.
# This file is part of elfutils.
# Written by Ulrich Drepper <drepper@redhat.com>, 1999.
#
@@ -18,7 +18,7 @@
. $srcdir/test-subr.sh
-testfiles testfile testfile2
+testfiles testfile testfile2 testfilenolines
testrun_compare ${abs_builddir}/get-lines testfile testfile2 <<\EOF
cuhl = 11, o = 0, asz = 4, osz = 4, ncu = 191
@@ -61,4 +61,31 @@ cuhl = 11, o = 267, asz = 4, osz = 4, ncu = 2680
10000514: /shoggoth/drepper/m.c:8:0: is_stmt:yes, end_seq:yes, bb:no, prologue:no, epilogue:no
EOF
+# - lines.c
+# int ft;
+#
+# int
+# main (int argc, char **argv)
+# {
+# return ft - 42;
+# }
+#
+# - nolines.c
+# int ft = 42;
+#
+# gcc -g -c lines.c
+# gcc -g -c nolines.c
+# gcc -g -o testfilenolines lines.o nolines.o
+
+testrun_compare ${abs_builddir}/get-lines testfilenolines <<\EOF
+cuhl = 11, o = 0, asz = 8, osz = 4, ncu = 169
+ 4 lines
+400474: /home/mark/src/tests/lines.c:5:0: is_stmt:yes, end_seq:no, bb:no, prologue:no, epilogue:no
+40047f: /home/mark/src/tests/lines.c:6:0: is_stmt:yes, end_seq:no, bb:no, prologue:no, epilogue:no
+400488: /home/mark/src/tests/lines.c:7:0: is_stmt:yes, end_seq:no, bb:no, prologue:no, epilogue:no
+40048a: /home/mark/src/tests/lines.c:7:0: is_stmt:yes, end_seq:yes, bb:no, prologue:no, epilogue:no
+cuhl = 11, o = 125, asz = 8, osz = 4, ncu = 243
+ 0 lines
+EOF
+
exit 0