From ecece746acee6967ef3aefcbfd79a8755715a7a8 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Fri, 18 Mar 2011 00:01:38 +0100 Subject: [PATCH] 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 ba6d6a8ac..4317edc32 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 057dbeae9..11e5770d8 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 0000000000000000000000000000000000000000..0221d4e1d87695d291df5b4fb1e8a9fd0d6830c2 GIT binary patch literal 614 zc-jGG0-60nT4*^jL0KkKSzY<=?f?Q7f7<{5{>x_P_dVb3Qpmsm-{`;q06+l%06`!K zzya%x8rcmHK`}?DZ$PJ{8Uxe-00Te(00tvQfYm)3n5NQYJx>Jy4FEJ605Sjo000cs z95es}L7>nWAO?n-WCKG+nE){ZKmtUG8mH;0skIMKGzLwf8a*b^CQK$x0}+X!G|nW^6+#%OtAc%lomLnDavjoUDO$2tr?h zFgk!sK>i~$rG+}CA>hbSUw&%Yp8s^}!4Sr?;8x|0c3>|=_2tvO3T{kNyN@$2fg<}7 zDs+yv3K|xJNf($TABK6Da5Pojj14OALQ`lhFou@9LLrT$*bR-3J_I8$MW$p3RWj}P zhP`+bX9PHO&>;p?NS*555r)_rwxrgDK&&|IMG|n>yY%&3f|rg;2GN|&mbRIU#kFM_ z%#vM8a0tS7}8sBMO?V%3wc? zN!2k1>M<^y6-O|`>&G5h;jcC*l4N+!J{Xr^rVTwnC=9wmn83Gx^C~>BS~ty-_%h+Z zT%h%n3jub?(#`9|e6k@R_|TNnYsr1*`#-CW^g{4)zekA;4`N&8WD1sytR1@p6}14$ zzTA$W9_mdq2yi~>i^SP{521>)^h$|rv;y)_r=60*IR7Pz)PW4LYqu&AI~6PTVwDypbNnTTBZszHjhQT_fdk literal 0 Hc-jL100001 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 000000000..f0d296a4f --- /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 <