Re: [PATCH 2/4] Add a dwarf unit type to represent 24 bit values.

John Darrington
2018-09-26T17:42:04Z

[-- Attachment #1: Type: text/plain, Size: 983 bytes --]

After discussion with the gcc folks, it seems that there is an easier
and much simpler solution, which I'm attaching.

J'

On Fri, Sep 07, 2018 at 03:50:00PM -0600, Tom Tromey wrote:
>>>>> "John" == John Darrington <john@darrington.wattle.id.au> writes:

John> * include/dwarf2.h (enum dwarf_unit_type) [DE_EH_PE_udata3]: New member.
John> ---
John> include/dwarf2.h | 1 +
John> 1 file changed, 1 insertion(+)

I'm afraid I didn't look at the earlier discussion of this.

dwarf2.h is canonically maintained in the gcc repository. So, any
change here has to be sent to gcc-patches and be committed there first.
Then the patch can be applied to gdb -- this counts as obvious (IMO).

Tom

--
Avoid eavesdropping. Send strong encrypted email.
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.

[-- Attachment #2: 0001-GDB-Don-t-abort-if-the-address-size-is-3-bytes.patch --]
[-- Type: text/x-diff, Size: 702 bytes --]

From f2948209c0292d836ade4dda222c1ffe4aa9abe4 Mon Sep 17 00:00:00 2001
From: John Darrington <john@darrington.wattle.id.au>
Date: Wed, 19 Sep 2018 10:28:43 +0200
Subject: [PATCH] GDB: Don't abort if the address size is 3 bytes.

* gdb/dwarf2-frame.c (encoding_for_size): Deal with the case where size == 3.
---
gdb/dwarf2-frame.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c
index 55ab081bff..dfae2aaf97 100644
--- a/gdb/dwarf2-frame.c
+++ b/gdb/dwarf2-frame.c
@@ -1527,6 +1527,7 @@ encoding_for_size (unsigned int size)
{
case 2:
return DW_EH_PE_udata2;
+ case 3:
case 4:
return DW_EH_PE_udata4;
case 8:
--
2.11.0