This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: improve decode-to-name of additional dwarf2/dwarf3 codes


While debugging GDB, I noticed the routines in dwarf2read.c that
decode Dwarf2 and Dwarf3 codes into their corresponding string
names have not been updated to include the various encodings
that have been added over the past few years.  This primarily
impacts the diagnostic output that assists when debugging GDB.

Attached is a suggested patch (to gdb 6.5), which brings the
various *_name routines up to date with include/elf/dwarf2.h.

There is a small problem in the decoding caused by the
following (in dwarf2.h):

    /* GNU extensions.  */
    DW_OP_GNU_push_tls_address = 0xe0,
    /* HP extensions.  */
    DW_OP_HP_unknown     = 0xe0, /* Ouch, the same as GNU_push_tls_address.
*/

I arbitrarily chose to decode 0xe0 as "DW_OP_GNU_push_tls_address".
Also, I preserved the "#ifdef MIPS" inside dwarf_attr_name(), but
it wasn't clear to me that it is needed.  If it is, then for
consistency, perhaps ifdef's for HP, GNU, DWARF3, and other
extensions to Dwarf2 would also be required.

ChangeLog:

        * dwarf2read.c (dwarf_attr_name dwarf_cfi_name dwarf_stack_op_name
        dwarf_tag_name dwarf_type_encoding_name): decode additional Dwarf2
        and Dwarf3 codes into their corresponding string names.

Diffs attached.

Attachment: improve-decode-to-name-dwarf2read.c.patch
Description: Binary data


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