* [PATCH] dwarf.h: Add DW_LANG_C11, DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14.
@ 2014-11-24 21:17 Mark Wielaard
0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2014-11-24 21:17 UTC (permalink / raw)
To: elfutils-devel
[-- Attachment #1: Type: text/plain, Size: 3203 bytes --]
The following patch is needed to recognize the new DW_LANG constants
that GCC 5 might emit as implemented by this GCC patch:
https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02852.html
Also added to https://fedorahosted.org/elfutils/wiki/DwarfExtensions
GCC 5 can emit these new DWARFv5 draft language constants. Handle them in
dwarf_aggregate_size and dwarf_getfuncs. Also handle DW_LANG_Go in
dwarf_aggregate_size (lower bound for array is zero for Go).
Signed-off-by: Mark Wielaard <mjw@redhat.com>
---
libdw/ChangeLog | 11 +++++++++++
libdw/dwarf.h | 4 ++++
libdw/dwarf_aggregate_size.c | 4 ++++
libdw/dwarf_getfuncs.c | 3 ++-
4 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 58736a6..ea9dca1 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,14 @@
+2014-11-24 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf.h (DW_LANG_C_plus_plus_11): Added.
+ (DW_LANG_C11): Likewise.
+ (DW_LANG_C_plus_plus_14): Likewise.
+ * dwarf_aggregate_size.c (array_size): Handle DW_LANG_C11,
+ DW_LANG_C_plus_plus_11, DW_LANG_C_plus_plus_14 and DW_LANG_Go
+ lower bound.
+ * dwarf_getfuncs.c (dwarf_getfuncs): Set c_cu to true for
+ DW_LANG_C11.
+
2014-11-11 Mark Wielaard <mjw@redhat.com>
* dwarf_getsrclines.c (read_srclines): Do address_size comparison
diff --git a/libdw/dwarf.h b/libdw/dwarf.h
index d03cf5c..3a97ccb 100644
--- a/libdw/dwarf.h
+++ b/libdw/dwarf.h
@@ -583,6 +583,10 @@ enum
DW_LANG_D = 0x0013, /* D */
DW_LANG_Python = 0x0014, /* Python */
DW_LANG_Go = 0x0016, /* Go */
+ DW_LANG_C_plus_plus_11 = 0x001a, /* ISO C++:2011 */
+ DW_LANG_C11 = 0x001d, /* ISO C:2011 */
+ DW_LANG_C_plus_plus_14 = 0x0021, /* ISO C++:2014 */
+
DW_LANG_lo_user = 0x8000,
DW_LANG_Mips_Assembler = 0x8001, /* Assembler */
diff --git a/libdw/dwarf_aggregate_size.c b/libdw/dwarf_aggregate_size.c
index 1666e24..667c274 100644
--- a/libdw/dwarf_aggregate_size.c
+++ b/libdw/dwarf_aggregate_size.c
@@ -103,12 +103,16 @@ array_size (Dwarf_Die *die, Dwarf_Word *size,
case DW_LANG_C:
case DW_LANG_C89:
case DW_LANG_C99:
+ case DW_LANG_C11:
case DW_LANG_C_plus_plus:
+ case DW_LANG_C_plus_plus_11:
+ case DW_LANG_C_plus_plus_14:
case DW_LANG_ObjC:
case DW_LANG_ObjC_plus_plus:
case DW_LANG_Java:
case DW_LANG_D:
case DW_LANG_UPC:
+ case DW_LANG_Go:
lower = 0;
break;
diff --git a/libdw/dwarf_getfuncs.c b/libdw/dwarf_getfuncs.c
index 82894c9..f79b0a7 100644
--- a/libdw/dwarf_getfuncs.c
+++ b/libdw/dwarf_getfuncs.c
@@ -103,7 +103,8 @@ dwarf_getfuncs (Dwarf_Die *cudie, int (*callback) (Dwarf_Die *, void *),
int lang = INTUSE(dwarf_srclang) (cudie);
bool c_cu = (lang == DW_LANG_C89
|| lang == DW_LANG_C
- || lang == DW_LANG_C99);
+ || lang == DW_LANG_C99
+ || lang == DW_LANG_C11);
struct visitor_info v = { callback, arg, (void *) offset, NULL, c_cu };
struct Dwarf_Die_Chain chain = { .die = CUDIE (cudie->cu),
--
1.9.3
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] dwarf.h: Add DW_LANG_C11, DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14.
@ 2014-11-26 17:04 Mark Wielaard
0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2014-11-26 17:04 UTC (permalink / raw)
To: elfutils-devel
[-- Attachment #1: Type: text/plain, Size: 607 bytes --]
On Mon, 2014-11-24 at 22:17 +0100, Mark Wielaard wrote:
> The following patch is needed to recognize the new DW_LANG constants
> that GCC 5 might emit as implemented by this GCC patch:
> https://gcc.gnu.org/ml/gcc-patches/2014-11/msg02852.html
>
> Also added to https://fedorahosted.org/elfutils/wiki/DwarfExtensions
>
> GCC 5 can emit these new DWARFv5 draft language constants. Handle them in
> dwarf_aggregate_size and dwarf_getfuncs. Also handle DW_LANG_Go in
> dwarf_aggregate_size (lower bound for array is zero for Go).
The GCC patch landed, so I have pushed this to elfutils git now.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-11-26 17:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-24 21:17 [PATCH] dwarf.h: Add DW_LANG_C11, DW_LANG_C_plus_plus_11 and DW_LANG_C_plus_plus_14 Mark Wielaard
2014-11-26 17:04 Mark Wielaard
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).