public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] [PATCH v2 2/4] DWARF 5 support: Handle DW_FORM_strx
@ 2019-10-01  1:01 Ali Tamur
  0 siblings, 0 replies; only message in thread
From: Ali Tamur @ 2019-10-01  1:01 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8fe0f950f4c0438e684a532add46dc99ee32165c

commit 8fe0f950f4c0438e684a532add46dc99ee32165c
Author: Ali Tamur <tamur@google.com>
Date:   Mon Aug 26 18:40:18 2019 -0700

    [PATCH v2 2/4] DWARF 5 support: Handle DW_FORM_strx
    
    * Handle DW_FORM_strx forms everywhere.
    
    Tested with CC=/usr/bin/gcc (version 8.3.0) against master branch (also with
    -gsplit-dwarf and -gdwarf-4 flags) and there was no increase in the set of
    tests that fails.
    
    This is part of an effort to support DWARF 5 in gdb.
    
    gdb/ChangeLog:
    
            * dwarf2read.c (skip_one_die): Handle DW_FORM_strx forms.
            (dwarf2_string_attr): Likewise.

Diff:
---
 gdb/ChangeLog    |  5 +++++
 gdb/dwarf2read.c | 10 ++++++++++
 2 files changed, 15 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a096cae..1be7f4b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2019-09-30  Ali Tamur <tamur@google.com>
 
+	* dwarf2read.c (skip_one_die): Handle DW_FORM_strx forms.
+	(dwarf2_string_attr): Likewise.
+
+2019-09-30  Ali Tamur <tamur@google.com>
+
 	* dwarf2read.c (process_full_comp_unit): Remove whitespace at the EOL.
 	(process_full_type_unit): Likewise.
 	(dump_die_shallow): Likewise.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 0f4f366..53e7393 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -9336,6 +9336,7 @@ skip_one_die (const struct die_reader_specs *reader, const gdb_byte *info_ptr,
 	case DW_FORM_data1:
 	case DW_FORM_ref1:
 	case DW_FORM_flag:
+	case DW_FORM_strx1:
 	  info_ptr += 1;
 	  break;
 	case DW_FORM_flag_present:
@@ -9343,10 +9344,15 @@ skip_one_die (const struct die_reader_specs *reader, const gdb_byte *info_ptr,
 	  break;
 	case DW_FORM_data2:
 	case DW_FORM_ref2:
+	case DW_FORM_strx2:
 	  info_ptr += 2;
 	  break;
+	case DW_FORM_strx3:
+	  info_ptr += 3;
+	  break;
 	case DW_FORM_data4:
 	case DW_FORM_ref4:
+	case DW_FORM_strx4:
 	  info_ptr += 4;
 	  break;
 	case DW_FORM_data8:
@@ -20168,6 +20174,10 @@ dwarf2_string_attr (struct die_info *die, unsigned int name, struct dwarf2_cu *c
       if (attr->form == DW_FORM_strp || attr->form == DW_FORM_line_strp
 	  || attr->form == DW_FORM_string
 	  || attr->form == DW_FORM_strx
+	  || attr->form == DW_FORM_strx1
+	  || attr->form == DW_FORM_strx2
+	  || attr->form == DW_FORM_strx3
+	  || attr->form == DW_FORM_strx4
 	  || attr->form == DW_FORM_GNU_str_index
 	  || attr->form == DW_FORM_GNU_strp_alt)
 	str = DW_STRING (attr);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-10-01  1:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-01  1:01 [binutils-gdb] [PATCH v2 2/4] DWARF 5 support: Handle DW_FORM_strx Ali Tamur

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).