From: Roland McGrath Date: Fri, 21 Aug 2009 02:42:44 +0000 (-0700) Subject: Fix to_string for constant-block case. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=35b5188f774c8761e750627bca5d6ee1d7b7d365;p=thirdparty%2Felfutils.git Fix to_string for constant-block case. --- diff --git a/libdw/ChangeLog b/libdw/ChangeLog index b36935e23..4c0531be1 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,5 +1,7 @@ 2009-08-20 Roland McGrath + * c++/values.cc (value_string): Fix constant-block case. + * c++/dwarf_comparator: Use tracker::subtracker for subcomparator. Let mismatch hooks return bool that is true to keep comparing. * c++/dwarf_tracker: Define subtracker. diff --git a/libdw/c++/values.cc b/libdw/c++/values.cc index c8f65bb38..b9e273056 100644 --- a/libdw/c++/values.cc +++ b/libdw/c++/values.cc @@ -197,7 +197,10 @@ value_string (const value_type &value) case dwarf::VS_macptr: // XXX punt for now, treat as constant case dwarf::VS_constant: - return hex_string (value.constant ()); + if (value.constant_is_integer ()) + return hex_string (value.constant ()); + return dec_string (value.constant_block ().size (), + "{block of ", " bytes}"); case dwarf::VS_dwarf_constant: return value.dwarf_constant ().to_string ();