This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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> --- libdw/ChangeLog | 5 +++++ libdw/dwarf_getsrclines.c | 3 ++- tests/ChangeLog | 6 ++++++ tests/Makefile.am | 3 ++- tests/run-get-lines.sh | 31 +++++++++++++++++++++++++++++-- tests/testfilenolines.bz2 | Bin 0 -> 2855 bytes 6 files changed, 44 insertions(+), 4 deletions(-) create mode 100755 tests/testfilenolines.bz2 diff --git a/libdw/ChangeLog b/libdw/ChangeLog index b4d9dc3..3dc0811 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,8 @@ +2013-05-03 Mark Wielaard <mjw@redhat.com> + + * dwarf_getsrclines.c (dwarf_getsrclines): Only set end_sequence + when nlinelist > 0. + 2013-04-24 Mark Wielaard <mjw@redhat.com> * Makefile.am: Use AM_CPPFLAGS instead of INCLUDES. diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c index 5a58b78..fa4dd18 100644 --- a/libdw/dwarf_getsrclines.c +++ b/libdw/dwarf_getsrclines.c @@ -715,7 +715,8 @@ dwarf_getsrclines (Dwarf_Die *cudie, Dwarf_Lines **lines, size_t *nlines) /* Make sure the highest address for the CU is marked as end_sequence. This is required by the DWARF spec, but some compilers forget and dwfl_module_getsrc depends on it. */ - cu->lines->info[nlinelist - 1].end_sequence = 1; + if (nlinelist > 0) + cu->lines->info[nlinelist - 1].end_sequence = 1; /* Success. */ res = 0; diff --git a/tests/ChangeLog b/tests/ChangeLog index f6c004c..b2ac80f 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,9 @@ +2013-05-03 Mark Wielaard <mjw@redhat.com> + + * testfilenolines.bz2: New test file. + * Makefile.am (EXTRA_DIST): Add testfilenolines.bz2. + * run-get-lines.sh: Run testrun_compare on testfilenolines. + 2013-04-29 Mark Wielaard <mjw@redhat.com> * test-subr.sh: Don't use pushd, just cd into test-dir. diff --git a/tests/Makefile.am b/tests/Makefile.am index 4b57703..6327edb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -198,7 +198,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfile69.core.bz2 testfile69.so.bz2 \ testfile70.core.bz2 testfile70.exec.bz2 \ run-dwfllines.sh run-dwfl-report-elf-align.sh \ - testfile-dwfl-report-elf-align-shlib.so.bz2 + testfile-dwfl-report-elf-align-shlib.so.bz2 \ + testfilenolines if USE_VALGRIND valgrind_cmd='valgrind -q --trace-children=yes --error-exitcode=1 --run-libc-freeres=no' diff --git a/tests/run-get-lines.sh b/tests/run-get-lines.sh index 5a220ca..fb48c77 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 diff --git a/tests/testfilenolines.bz2 b/tests/testfilenolines.bz2 new file mode 100755 index 0000000000000000000000000000000000000000..23cd7223a8e257c2ec1c58d92fcf56c67804b331 GIT binary patch literal 2855 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 FZ$Mh?5)J?W literal 0 HcmV?d00001 -- 1.7.1
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |