From: Mark Wielaard Date: Fri, 8 Jun 2018 19:13:25 +0000 (+0200) Subject: tests: Don't assert on bad DW_OP_GNU_parameter_ref target in varlocs. X-Git-Tag: elfutils-0.172~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b78a3336d9d720515b054f250f105600ddb2bd33;p=thirdparty%2Felfutils.git tests: Don't assert on bad DW_OP_GNU_parameter_ref target in varlocs. If the target of a DW_OP_GNU_parameter_ref isn't a DW_TAG_formal_parameter that is bad data (which varlocs should error on). But it isn't an internal consistency check (for which varlocs should assert). Signed-off-by: Mark Wielaard --- diff --git a/tests/ChangeLog b/tests/ChangeLog index 3b69a87c2..e5df2118c 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2018-06-08 Mark Wielaard + + * varlocs.c (print_expr): Error on bad DW_OP_GNU_parameter_ref + target, do not assert. + 2018-06-08 Mark Wielaard * get-units-invalid.c (main): Check invalid dwarf_getabbrev call. diff --git a/tests/varlocs.c b/tests/varlocs.c index 99c38878f..f4a711c83 100644 --- a/tests/varlocs.c +++ b/tests/varlocs.c @@ -546,7 +546,8 @@ print_expr (Dwarf_Attribute *attr, Dwarf_Op *expr, Dwarf_Addr addr) // XXX actually lookup DW_TAG_GNU_call_site_parameter printf ("%s[%" PRIx64 "]", opname, dwarf_dieoffset (¶m)); assert (expr->number == dwarf_cuoffset (¶m)); - assert (dwarf_tag (¶m) == DW_TAG_formal_parameter); + if (dwarf_tag (¶m) != DW_TAG_formal_parameter) + error (EXIT_FAILURE, 0, "Not a formal parameter"); } break;