summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2017-07-26 17:44:29 +0200
committerMark Wielaard <mark@klomp.org>2017-08-02 13:51:51 +0200
commitd14fd3bc70b96f29c32e596511c5c8e6bedbb5ca (patch)
tree2687f5d5dd74f5c4bbe413f14deeac3d54873cff
parent2d906d8d7763ad887d9d93c2c836066a9c2e4b0e (diff)
libdw: DWARF5 Add new DW_LANG codes and default lower array bound.
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>
-rw-r--r--ChangeLog4
-rw-r--r--NEWS4
-rw-r--r--libdw/ChangeLog11
-rw-r--r--libdw/dwarf.h11
-rw-r--r--libdw/dwarf_aggregate_size.c12
5 files changed, 37 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index cd91c5a7..d1330616 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 9437061c..2039cfe4 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 25a96485..39a9c1dc 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 40722721..dd4384fb 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 52ef0067..0472a9be 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;