This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 2/4] Add a dwarf unit type to represent 24 bit values.
- From: John Darrington <john at darrington dot wattle dot id dot au>
- To: Tom Tromey <tom at tromey dot com>
- Cc: John Darrington <john at darrington dot wattle dot id dot au>, gdb-patches at sourceware dot org
- Date: Wed, 26 Sep 2018 19:41:57 +0200
- Subject: Re: [PATCH 2/4] Add a dwarf unit type to represent 24 bit values.
- References: <20180829141845.26378-1-john@darrington.wattle.id.au> <20180829141845.26378-3-john@darrington.wattle.id.au> <878t4dvuyf.fsf@tromey.com>
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.
>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