[PATCH 4/9] libdw: DWARF5 Add new DW_LANG codes and default lower array bound.

Mark Wielaard mark@klomp.org
Wed Jul 26 22:08:00 GMT 2017


Add DW_LANG_OpenCL, DW_LANG_Modula3, DW_LANG_C_plus_plus_03,
DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift, DW_LANG_Julia,
DW_LANG_Dylan, DW_LANG_RenderScript and DW_LANG_BLISS to dwarf.h.

Update default language array lower bounds in dwarf_aggregate_size.c.

Signed-off-by: Mark Wielaard <mark@klomp.org>
---
 ChangeLog                    |  4 ++--
 NEWS                         |  4 ++--
 libdw/ChangeLog              | 11 +++++++++++
 libdw/dwarf.h                | 11 ++++++++++-
 libdw/dwarf_aggregate_size.c | 12 ++++++++++++
 5 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index cd91c5a..d133061 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
 2017-07-25  Mark Wielaard  <mark@klomp.org>
 
-	* NEWS: Mention new DWARF5 attributes, tags and character encodings
-	in dwarf.h.
+	* NEWS: Mention new DWARF5 attributes, tags, character encodings
+	and language codes in dwarf.h.
 
 2017-07-18  Mark Wielaard  <mark@klomp.org>
 
diff --git a/NEWS b/NEWS
index 9437061..2039cfe 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,7 @@
 Version 0.170
 
-libdw: Added new DWARF5 attribute, tag and character encodings constants
-       to dwarf.h.
+libdw: Added new DWARF5 attribute, tag, character encodings constants and
+       language codes to dwarf.h.
 
 strip: Add -R, --remove-section=SECTION and --keep-section=SECTION.
 
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 25a9648..39a9c1d 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,5 +1,16 @@
 2017-07-26  Mark Wielaard  <mark@klomp.org>
 
+	* dwarf.h: Add DW_LANG_OpenCL, DW_LANG_Modula3,
+	DW_LANG_C_plus_plus_03, DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift,
+	DW_LANG_Julia, DW_LANG_Dylan, DW_LANG_RenderScript, DW_LANG_BLISS.
+	* dwarf_aggregate_size.c (array_size): Add lower bound for
+	DW_LANG_C_plus_plus_03, DW_LANG_Python, DW_LANG_OpenCL,
+	DW_LANG_Haskell, DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift,
+	DW_LANG_Dylan, DW_LANG_RenderScript, DW_LANG_Modula3,
+	DW_LANG_Julia and DW_LANG_BLISS.
+
+2017-07-26  Mark Wielaard  <mark@klomp.org>
+
 	* dwarf.h: Add DW_ATE_UCS and DW_ATE_ASCII.
 
 2017-07-25  Mark Wielaard  <mark@klomp.org>
diff --git a/libdw/dwarf.h b/libdw/dwarf.h
index 4072272..dd4384f 100644
--- a/libdw/dwarf.h
+++ b/libdw/dwarf.h
@@ -652,14 +652,23 @@ enum
     DW_LANG_UPC = 0x0012,	     /* Unified Parallel C */
     DW_LANG_D = 0x0013,		     /* D */
     DW_LANG_Python = 0x0014,	     /* Python */
+    DW_LANG_OpenCL = 0x0015,	     /* OpenCL */
     DW_LANG_Go = 0x0016,	     /* Go */
+    DW_LANG_Modula3 = 0x0017,	     /* Modula-3 */
     DW_LANG_Haskell = 0x0018,	     /* Haskell */
+    DW_LANG_C_plus_plus_03 = 0x0019, /* ISO C++:2003 */
     DW_LANG_C_plus_plus_11 = 0x001a, /* ISO C++:2011 */
+    DW_LANG_OCaml = 0x001b,	     /* OCaml */
+    DW_LANG_Rust = 0x001c,	     /* Rust */
     DW_LANG_C11 = 0x001d,	     /* ISO C:2011 */
+    DW_LANG_Swift = 0x001e,	     /* Swift */
+    DW_LANG_Julia = 0x001f,	     /* Julia */
+    DW_LANG_Dylan = 0x0020,	     /* Dylan */
     DW_LANG_C_plus_plus_14 = 0x0021, /* ISO C++:2014 */
     DW_LANG_Fortran03 = 0x0022,	     /* ISO/IEC 1539-1:2004 */
     DW_LANG_Fortran08 = 0x0023,	     /* ISO/IEC 1539-1:2010 */
-
+    DW_LANG_RenderScript = 0x0024,   /* RenderScript Kernal Language */
+    DW_LANG_BLISS = 0x0025,	     /* BLISS */
 
     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 52ef006..0472a9b 100644
--- a/libdw/dwarf_aggregate_size.c
+++ b/libdw/dwarf_aggregate_size.c
@@ -105,14 +105,24 @@ array_size (Dwarf_Die *die, Dwarf_Word *size,
 		    case DW_LANG_C99:
 		    case DW_LANG_C11:
 		    case DW_LANG_C_plus_plus:
+		    case DW_LANG_C_plus_plus_03:
 		    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_Python:
 		    case DW_LANG_UPC:
+		    case DW_LANG_OpenCL:
 		    case DW_LANG_Go:
+		    case DW_LANG_Haskell:
+		    case DW_LANG_OCaml:
+		    case DW_LANG_Rust:
+		    case DW_LANG_Swift:
+		    case DW_LANG_Dylan:
+		    case DW_LANG_RenderScript:
+		    case DW_LANG_BLISS:
 		      lower = 0;
 		      break;
 
@@ -127,7 +137,9 @@ array_size (Dwarf_Die *die, Dwarf_Word *size,
 		    case DW_LANG_Fortran08:
 		    case DW_LANG_Pascal83:
 		    case DW_LANG_Modula2:
+		    case DW_LANG_Modula3:
 		    case DW_LANG_PLI:
+		    case DW_LANG_Julia:
 		      lower = 1;
 		      break;
 
-- 
1.8.3.1



More information about the Elfutils-devel mailing list