summaryrefslogtreecommitdiffstats
path: root/dwarflint/tests
diff options
context:
space:
mode:
authorPetr Machata <[email protected]>2010-10-18 19:57:11 +0200
committerPetr Machata <[email protected]>2010-10-18 19:57:11 +0200
commitc0322887faccf3582c87382e01a3deb27e25c2ad (patch)
treeccc82c08cbfabc6bca800f8bbff73270aa9f5b67 /dwarflint/tests
parent9c0ff8cc2eaceb58221871bcc6c70074dc997ed0 (diff)
dwarflint: A test case for the early bailout and the GNU extension
Diffstat (limited to 'dwarflint/tests')
-rw-r--r--dwarflint/tests/libdl-2.12.so.debug.bz2bin0 -> 28362 bytes
-rwxr-xr-xdwarflint/tests/run-libdl-2.12.so.debug.sh46
2 files changed, 46 insertions, 0 deletions
diff --git a/dwarflint/tests/libdl-2.12.so.debug.bz2 b/dwarflint/tests/libdl-2.12.so.debug.bz2
new file mode 100644
index 00000000..356520ea
--- /dev/null
+++ b/dwarflint/tests/libdl-2.12.so.debug.bz2
Binary files differ
diff --git a/dwarflint/tests/run-libdl-2.12.so.debug.sh b/dwarflint/tests/run-libdl-2.12.so.debug.sh
new file mode 100755
index 00000000..03838886
--- /dev/null
+++ b/dwarflint/tests/run-libdl-2.12.so.debug.sh
@@ -0,0 +1,46 @@
+#! /bin/sh
+# Copyright (C) 2010 Red Hat, Inc.
+# This file is part of Red Hat elfutils.
+#
+# Red Hat elfutils is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by the
+# Free Software Foundation; version 2 of the License.
+#
+# Red Hat elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Red Hat elfutils; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
+#
+# Red Hat elfutils is an included package of the Open Invention Network.
+# An included package of the Open Invention Network is a package for which
+# Open Invention Network licensees cross-license their patents. No patent
+# license is granted, either expressly or impliedly, by designation as an
+# included package. Should you wish to participate in the Open Invention
+# Network licensing program, please visit www.openinventionnetwork.com
+# <http://www.openinventionnetwork.com>.
+
+. $srcdir/../tests/test-subr.sh
+
+srcdir=$srcdir/tests
+
+testfiles libdl-2.12.so.debug
+
+# Here we test that the user gets all the citations in .debug_abbrev,
+# and that dwarflint doesn't bail out on first failure.
+testrun_compare ./dwarflint --check=@low --nognu libdl-2.12.so.debug <<EOF
+error: .debug_abbrev: abbr. attribute 0xbe: invalid or unknown name 0x2107.
+error: .debug_abbrev: abbr. attribute 0x330: invalid or unknown name 0x2107.
+error: .debug_abbrev: abbr. attribute 0xa28: invalid or unknown name 0x2107.
+error: .debug_abbrev: abbr. attribute 0x108e: invalid or unknown name 0x2107.
+error: .debug_abbrev: abbr. attribute 0x1300: invalid or unknown name 0x2107.
+EOF
+
+# Here we test proper support for DW_AT_GNU_vector
+testrun_compare ./dwarflint --check=@low libdl-2.12.so.debug <<EOF
+error: .debug_line: table 4508: sequence of opcodes not terminated with DW_LNE_end_sequence.
+error: .debug_line: table 4606: sequence of opcodes not terminated with DW_LNE_end_sequence.
+EOF