[patch] Fix readelf so it doesn't complain about corrupt attribute

Cary Coutant ccoutant@google.com
Tue Feb 11 19:35:00 GMT 2014


When a DW_FORM_flag_present attribute comes at the very end of a debug
section, readelf complains about a corrupt attribute because it's
checking to make sure there's at least one byte of data remaining.
This patch suppresses the check when the form is DW_FORM_flag_present.

Committed as trivial and obvious.

-cary

2014-02-11  Cary Coutant  <ccoutant@google.com>

        * binutils/dwarf.c (read_and_display_attr_value): Don't warn
        for zero-length attribute value.

diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 1a62d9f..387504f 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -1468,7 +1468,7 @@ read_and_display_attr_value (unsigned long attribute,
   unsigned char * orig_data = data;
   unsigned int bytes_read;

-  if (data == end)
+  if (data == end && form != DW_FORM_flag_present)
     {
       warn (_("corrupt attribute\n"));
       return data;



More information about the Binutils mailing list