From ecece746acee6967ef3aefcbfd79a8755715a7a8 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 18 Mar 2011 00:01:38 +0100 Subject: dwarflint: Add a check for DW_AT_low_pc > DW_AT_high_pc --- dwarflint/Makefile.am | 6 +++-- dwarflint/check_debug_info.cc | 2 +- dwarflint/tests/DW_AT_high_pc-below.bz2 | Bin 0 -> 614 bytes dwarflint/tests/run-DW_AT_high_pc-below.sh | 36 +++++++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 dwarflint/tests/DW_AT_high_pc-below.bz2 create mode 100755 dwarflint/tests/run-DW_AT_high_pc-below.sh diff --git a/dwarflint/Makefile.am b/dwarflint/Makefile.am index ba6d6a8a..4317edc3 100644 --- a/dwarflint/Makefile.am +++ b/dwarflint/Makefile.am @@ -105,7 +105,8 @@ EXTRA_TESTS = tests/run-debug_abbrev-duplicate-attribute.sh \ tests/run-test-all-dies-it.sh \ tests/run-bad.sh \ tests/run-check_self_referential_die.sh \ - tests/run-DW_AT_high_pc-relative.sh + tests/run-DW_AT_high_pc-relative.sh \ + tests/run-DW_AT_high_pc-below.sh TESTS = $(EXTRA_TESTS) \ tests/test-coverage \ @@ -136,7 +137,8 @@ EXTRA_DIST = $(EXTRA_TESTS) \ tests/garbage-11.bz2 \ tests/garbage-12.bz2 \ tests/check_self_referential_die.bz2 \ - tests/DW_AT_high_pc-relative.bz2 + tests/DW_AT_high_pc-relative.bz2 \ + tests/DW_AT_high_pc-below.bz2 installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \ bindir=$(DESTDIR)$(bindir) \ diff --git a/dwarflint/check_debug_info.cc b/dwarflint/check_debug_info.cc index 057dbeae..11e5770d 100644 --- a/dwarflint/check_debug_info.cc +++ b/dwarflint/check_debug_info.cc @@ -780,7 +780,7 @@ namespace default: ; - }; + } /* Setup low_pc / high_pc checking. */ switch (it->name) diff --git a/dwarflint/tests/DW_AT_high_pc-below.bz2 b/dwarflint/tests/DW_AT_high_pc-below.bz2 new file mode 100644 index 00000000..0221d4e1 Binary files /dev/null and b/dwarflint/tests/DW_AT_high_pc-below.bz2 differ diff --git a/dwarflint/tests/run-DW_AT_high_pc-below.sh b/dwarflint/tests/run-DW_AT_high_pc-below.sh new file mode 100755 index 00000000..f0d296a4 --- /dev/null +++ b/dwarflint/tests/run-DW_AT_high_pc-below.sh @@ -0,0 +1,36 @@ +#! /bin/sh +# Copyright (C) 2011 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 +# . + +. $srcdir/../tests/test-subr.sh + +srcdir=$srcdir/tests + +# Hand-crafted file that has 0,0 pair in aranges presented before the +# actual end of the table. +testfiles DW_AT_high_pc-below + +testrun_compare ./dwarflint --check=@low DW_AT_high_pc-below <