From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61870 invoked by alias); 18 Nov 2016 19:53:40 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 61829 invoked by uid 9674); 18 Nov 2016 19:53:39 -0000 Date: Fri, 18 Nov 2016 19:53:00 -0000 Message-ID: <20161118195338.61782.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] users/jkratoch/dwarf5gcc-gdb: Merge branch 'dwarf5gcc-gdb-callsite-macro' into dwarf5gcc-gdb-callsite-macro-data16 X-Git-Refname: refs/heads/users/jkratoch/dwarf5gcc-gdb X-Git-Reftype: branch X-Git-Oldrev: 94fcf1fe5ccdc29f54984f37f2d0fbcd95d6c867 X-Git-Newrev: 79585a8eacfaa69b8e381d2dde48c310e97d8133 X-SW-Source: 2016-q4/txt/msg00022.txt.bz2 List-Id: The branch, users/jkratoch/dwarf5gcc-gdb has been updated via 79585a8eacfaa69b8e381d2dde48c310e97d8133 (commit) via 7b0b1c4357bf0c71641463c80e3605ef5b965429 (commit) via 6e427707c663a0870e72b8bf94aedeb9e0214dac (commit) via 15e2fc17321c28cbcca966786a96d6bbb426bc9c (commit) from 94fcf1fe5ccdc29f54984f37f2d0fbcd95d6c867 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 79585a8eacfaa69b8e381d2dde48c310e97d8133 Merge: 94fcf1f 7b0b1c4 Author: Jan Kratochvil Date: Fri Nov 18 20:53:26 2016 +0100 Merge branch 'dwarf5gcc-gdb-callsite-macro' into dwarf5gcc-gdb-callsite-macro-data16 commit 7b0b1c4357bf0c71641463c80e3605ef5b965429 Merge: 24ea3d6 6e42770 Author: Jan Kratochvil Date: Fri Nov 18 20:53:25 2016 +0100 Merge branch 'dwarf5gcc-gdb-callsite' into dwarf5gcc-gdb-callsite-macro commit 6e427707c663a0870e72b8bf94aedeb9e0214dac Author: Jan Kratochvil Date: Fri Nov 18 20:52:55 2016 +0100 . commit 15e2fc17321c28cbcca966786a96d6bbb426bc9c Author: Jan Kratochvil Date: Fri Nov 18 20:47:00 2016 +0100 . ----------------------------------------------------------------------- Summary of changes: binutils/dwarf.c | 43 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 36 insertions(+), 7 deletions(-) First 500 lines of diff: diff --git a/binutils/dwarf.c b/binutils/dwarf.c index fe07dd4..c80b056 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -1322,12 +1322,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; } @@ -1339,7 +1343,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))); @@ -1363,40 +1369,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: @@ -1910,9 +1931,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)) @@ -2186,9 +2211,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)) hooks/post-receive -- Repository for Project Archer.