This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Fix DWARF dumping code to handle DW_OP_const2u correctly


The SAFE_BYTE_GET patch broke DW_OP_const2u, but reading 1 byte
instead of 2. I also found a case where SAFE_BYTE_GET64 was
incorrectly testing for end-of-buffer, and incrementing the pointer
only in the overflow condition. Also, because we can now call byte_get
and signed_byte_get with any size between 1 and 8, I've added cases
for 5, 6, and 7.

OK for trunk?

-cary


2013-05-14  Cary Coutant  <ccoutant@google.com>

binutils/
        * dwarf.c (SAFE_BYTE_GET64): Correct end-of-buffer check;
        don't increment PTR.
        (decode_location_expression): DW_OP_const2u should read 2 bytes.
        (display_debug_lines_decoded): Adjust formatting.
        * elfcomm.c (byte_get_little_endian): Add cases for 5-, 6-, and
        7-byte reads.
        (byte_get_big_endian): Likewise.
        (byte_get_signed): Likewise.

Attachment: readelf-safe-byte-get-patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]