From fcacc3679244d2c046786539948d0c8db1b092f7 Mon Sep 17 00:00:00 2001 From: Petr Machata Date: Thu, 10 Mar 2011 14:54:09 +0100 Subject: [PATCH] dwarflint: Fix last-die-has-sibling-attr message, don't let such to high-level --- dwarflint/check_debug_info.cc | 13 ++++++++++--- dwarflint/tests/garbage-9.bz2 | Bin 0 -> 2763 bytes dwarflint/tests/run-bad.sh | 8 +++++++- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 dwarflint/tests/garbage-9.bz2 diff --git a/dwarflint/check_debug_info.cc b/dwarflint/check_debug_info.cc index f413ff856..4a1128cf2 100644 --- a/dwarflint/check_debug_info.cc +++ b/dwarflint/check_debug_info.cc @@ -583,9 +583,16 @@ namespace if (sibling_addr != 0) { if (abbr_code == 0) - wr_error (&where, - ": is the last sibling in chain, " - "but has a DW_AT_sibling attribute.\n"); + { + DEF_PREV_WHERE; + wr_error (&prev_where, + ": is the last sibling in chain, " + "but has a DW_AT_sibling attribute.\n"); + /* dwarf_siblingof uses DW_AT_sibling to look for + sibling DIEs. The value can't be right (there _is_ + no sibling), so don't let this up. */ + retval = -2; + } else if (sibling_addr != die_off) { DEF_PREV_WHERE; diff --git a/dwarflint/tests/garbage-9.bz2 b/dwarflint/tests/garbage-9.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..c2e7a8bf095ff0bd178293029c823f9a6463835f GIT binary patch literal 2763 zc-jHW3N-aXT4*^jL0KkKS(XpvS$}M&|$??{VBTBoidWWj3ZYGBZfXVrhsCHlsk$ z85ls&00w{!Gy$N{0MHr@G-w0V14fN98Vwo)L7@o91Y%?pN$5?L9)fA0XahhR0imD( zG#VNj0BAJG00w{n4FCf{p!7fhdV@talSZXKQ}s

V_jAXbq{SsAvEIpa1{>4FG5W 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 literal 0 Hc-jL100001 diff --git a/dwarflint/tests/run-bad.sh b/dwarflint/tests/run-bad.sh index a59b74ad7..a956e2d30 100755 --- a/dwarflint/tests/run-bad.sh +++ b/dwarflint/tests/run-bad.sh @@ -29,7 +29,8 @@ srcdir=$srcdir/tests testfiles hello.bad-1 hello.bad-3 empty-1 \ garbage-1 garbage-2 garbage-3 garbage-4 \ - garbage-5 garbage-6 garbage-7 garbage-8 + garbage-5 garbage-6 garbage-7 garbage-8 \ + garbage-9 testrun_compare ./dwarflint hello.bad-1 <