public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Jan Kratochvil <jan.kratochvil@redhat.com>
To: binutils@sourceware.org
Cc: Victor Leschuk <vleschuk@accesssoftek.com>
Subject: [PATCH 4/6] DWARF-5: call sites
Date: Wed, 15 Feb 2017 22:58:00 -0000	[thread overview]
Message-ID: <148719950428.19826.1040771574277672894.stgit@host1.jankratochvil.net> (raw)
In-Reply-To: <148719947800.19826.950569475344047705.stgit@host1.jankratochvil.net>

Hi,

this patch updates all call sites related DWARF-5 renames.

Jan


binutils/ChangeLog
2017-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf.c (decode_location_expression): Support DW_OP_implicit_pointer,
	DW_OP_const_type, DW_OP_regval_type, DW_OP_deref_type, DW_OP_convert
	and DW_OP_reinterpret.
	(read_and_display_attr_value): Support DW_AT_call_value,
	DW_AT_call_data_value, DW_AT_call_target and
	DW_AT_call_target_clobbered.
---
 binutils/dwarf.c |   43 ++++++++++++++++++++++++++++++++++++-------
 1 file changed, 36 insertions(+), 7 deletions(-)

diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index adb9c09..18c1eee 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -1323,12 +1323,16 @@ decode_location_expression (unsigned char * data,
 	    print_dwarf_vma (addr, pointer_size);
 	  }
 	  break;
+	case DW_OP_implicit_pointer:
 	case DW_OP_GNU_implicit_pointer:
 	  /* XXX: Strictly speaking for 64-bit DWARF3 files
 	     this ought to be an 8-byte wide computation.  */
 	  if (dwarf_version == -1)
 	    {
-	      printf (_("(DW_OP_GNU_implicit_pointer in frame info)"));
+	      printf (_("(%s in frame info)"),
+		      (op == DW_OP_implicit_pointer
+		       ? "DW_OP_implicit_pointer"
+		       : "DW_OP_GNU_implicit_pointer"));
 	      /* No way to tell where the next op is, so just bail.  */
 	      return need_frame_base;
 	    }
@@ -1340,7 +1344,9 @@ decode_location_expression (unsigned char * data,
 	    {
 	      SAFE_BYTE_GET_AND_INC (uvalue, data, offset_size, end);
 	    }
-	  printf ("DW_OP_GNU_implicit_pointer: <0x%s> %s",
+	  printf ("%s: <0x%s> %s",
+		  (op == DW_OP_implicit_pointer
+		   ? "DW_OP_implicit_pointer" : "DW_OP_GNU_implicit_pointer"),
 		  dwarf_vmatoa ("x", uvalue),
 		  dwarf_vmatoa ("d", read_sleb128 (data,
 						   &bytes_read, end)));
@@ -1364,40 +1370,55 @@ decode_location_expression (unsigned char * data,
 	  if (data > end)
 	    data = end;
 	  break;
+	case DW_OP_const_type:
 	case DW_OP_GNU_const_type:
 	  uvalue = read_uleb128 (data, &bytes_read, end);
 	  data += bytes_read;
-	  printf ("DW_OP_GNU_const_type: <0x%s> ",
+	  printf ("%s: <0x%s> ",
+		  (op == DW_OP_const_type ? "DW_OP_const_type"
+					  : "DW_OP_GNU_const_type"),
 		  dwarf_vmatoa ("x", cu_offset + uvalue));
 	  SAFE_BYTE_GET_AND_INC (uvalue, data, 1, end);
 	  data = display_block (data, uvalue, end, ' ');
 	  break;
+	case DW_OP_regval_type:
 	case DW_OP_GNU_regval_type:
 	  uvalue = read_uleb128 (data, &bytes_read, end);
 	  data += bytes_read;
-	  printf ("DW_OP_GNU_regval_type: %s (%s)",
+	  printf ("%s: %s (%s)",
+		  (op == DW_OP_regval_type ? "DW_OP_regval_type"
+					   : "DW_OP_GNU_regval_type"),
 		  dwarf_vmatoa ("u", uvalue), regname (uvalue, 1));
 	  uvalue = read_uleb128 (data, &bytes_read, end);
 	  data += bytes_read;
 	  printf (" <0x%s>", dwarf_vmatoa ("x", cu_offset + uvalue));
 	  break;
+	case DW_OP_deref_type:
 	case DW_OP_GNU_deref_type:
 	  SAFE_BYTE_GET_AND_INC (uvalue, data, 1, end);
-	  printf ("DW_OP_GNU_deref_type: %ld", (long) uvalue);
+	  printf ("%s: %ld",
+		  (op == DW_OP_deref_type ? "DW_OP_deref_type"
+					  : "DW_OP_GNU_deref_type"),
+		  (long) uvalue);
 	  uvalue = read_uleb128 (data, &bytes_read, end);
 	  data += bytes_read;
 	  printf (" <0x%s>", dwarf_vmatoa ("x", cu_offset + uvalue));
 	  break;
+	case DW_OP_convert:
 	case DW_OP_GNU_convert:
 	  uvalue = read_uleb128 (data, &bytes_read, end);
 	  data += bytes_read;
-	  printf ("DW_OP_GNU_convert <0x%s>",
+	  printf ("%s <0x%s>",
+		  (op == DW_OP_convert ? "DW_OP_convert" : "DW_OP_GNU_convert"),
 		  dwarf_vmatoa ("x", uvalue ? cu_offset + uvalue : 0));
 	  break;
+	case DW_OP_reinterpret:
 	case DW_OP_GNU_reinterpret:
 	  uvalue = read_uleb128 (data, &bytes_read, end);
 	  data += bytes_read;
-	  printf ("DW_OP_GNU_reinterpret <0x%s>",
+	  printf ("%s <0x%s>",
+		  (op == DW_OP_reinterpret ? "DW_OP_reinterpret"
+					   : "DW_OP_GNU_reinterpret"),
 		  dwarf_vmatoa ("x", uvalue ? cu_offset + uvalue : 0));
 	  break;
 	case DW_OP_GNU_parameter_ref:
@@ -1885,9 +1906,13 @@ read_and_display_attr_value (unsigned long attribute,
 	case DW_AT_segment:
 	case DW_AT_static_link:
 	case DW_AT_use_location:
+	case DW_AT_call_value:
 	case DW_AT_GNU_call_site_value:
+	case DW_AT_call_data_value:
 	case DW_AT_GNU_call_site_data_value:
+	case DW_AT_call_target:
 	case DW_AT_GNU_call_site_target:
+	case DW_AT_call_target_clobbered:
 	case DW_AT_GNU_call_site_target_clobbered:
 	  if ((dwarf_version < 4
 	       && (form == DW_FORM_data4 || form == DW_FORM_data8))
@@ -2161,9 +2186,13 @@ read_and_display_attr_value (unsigned long attribute,
     case DW_AT_segment:
     case DW_AT_static_link:
     case DW_AT_use_location:
+    case DW_AT_call_value:
     case DW_AT_GNU_call_site_value:
+    case DW_AT_call_data_value:
     case DW_AT_GNU_call_site_data_value:
+    case DW_AT_call_target:
     case DW_AT_GNU_call_site_target:
+    case DW_AT_call_target_clobbered:
     case DW_AT_GNU_call_site_target_clobbered:
       if ((dwarf_version < 4
 	   && (form == DW_FORM_data4 || form == DW_FORM_data8))

  parent reply	other threads:[~2017-02-15 22:58 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15 22:58 [PATCH 1/6] DWARF attrs: add delimiter Jan Kratochvil
2017-02-15 22:58 ` [PATCH 6/6] DWARF-5: DW_FORM_data16 Jan Kratochvil
2017-02-22 11:51   ` Nick Clifton
2017-02-23 22:13     ` [commit] " Jan Kratochvil
2017-02-15 22:58 ` [PATCH 5/6] DWARF-5: Macros Jan Kratochvil
2017-02-22 11:50   ` Nick Clifton
2017-02-23 22:13     ` [commit] " Jan Kratochvil
2017-02-15 22:58 ` [PATCH 3/6] DWARF-5 basic functionality Jan Kratochvil
2017-02-22 11:36   ` Nick Clifton
2017-02-22 18:42     ` Jan Kratochvil
2017-02-22 11:47   ` Nick Clifton
2017-02-22 19:13     ` [patch] dwarf.c: Use more dwarf_vma [Re: [PATCH 3/6] DWARF-5 basic functionality] Jan Kratochvil
2017-02-23 16:34       ` Nick Clifton
2017-02-23 16:35       ` Nick Clifton
2017-02-23 20:38         ` [commit] " Jan Kratochvil
2017-02-23 22:12     ` [commit] [PATCH 3/6] DWARF-5 basic functionality Jan Kratochvil
2017-02-27 21:58       ` Maciej W. Rozycki
2017-02-27 22:24         ` [obv] DWARF-5: Fix compilation with GCC 4.4.7 [Re: [commit] [PATCH 3/6] DWARF-5 basic functionality] Jan Kratochvil
2017-02-15 22:58 ` Jan Kratochvil [this message]
2017-02-22 11:49   ` [PATCH 4/6] DWARF-5: call sites Nick Clifton
2017-02-23 22:12     ` [commit] " Jan Kratochvil
2017-02-15 22:58 ` [PATCH 2/6] Display user op byte Jan Kratochvil
2017-02-22 11:30   ` Nick Clifton
2017-02-22 19:24     ` [commit] " Jan Kratochvil
2017-02-16 10:59 ` [PATCH 1/6] DWARF attrs: add delimiter Nick Clifton
2017-02-16 20:13   ` Jan Kratochvil
2017-02-17  8:37     ` Nick Clifton
2017-02-18 19:47       ` [patch] DWARF-5: testcase [Re: [PATCH 1/6] DWARF attrs: add delimiter] Jan Kratochvil
2017-02-21  9:44         ` Nick Clifton
2017-02-23 22:17           ` [commit] [patch] DWARF-5: testcase Jan Kratochvil
2017-02-22 11:48 ` [PATCH 1/6] DWARF attrs: add delimiter Nick Clifton
2017-02-23 22:08   ` [commit] " Jan Kratochvil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=148719950428.19826.1040771574277672894.stgit@host1.jankratochvil.net \
    --to=jan.kratochvil@redhat.com \
    --cc=binutils@sourceware.org \
    --cc=vleschuk@accesssoftek.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).