From: Mark Wielaard Date: Wed, 26 Nov 2014 15:43:14 +0000 (+0000) Subject: Bug 341238. Recognize GCC5/DWARFv5 DW_LANG constants Go, C11, C++11, C++14. X-Git-Tag: svn/VALGRIND_3_11_0~795 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3129007b9a7e326e8336eea296e7f78302e7d015;p=thirdparty%2Fvalgrind.git Bug 341238. Recognize GCC5/DWARFv5 DW_LANG constants Go, C11, C++11, C++14. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14791 --- diff --git a/NEWS b/NEWS index e63d4b94c8..fc4b73b4d1 100644 --- a/NEWS +++ b/NEWS @@ -86,6 +86,7 @@ where XXXXXX is the bug number as listed below. 340807 disInstr(arm): unhandled instruction: 0xEE989B20 340856 disInstr(arm64): unhandled instruction 0x1E634C45 (fcsel) 340922 arm64: unhandled getgroups/setgroups syscalls +341238 Recognize GCC5/DWARFv5 DW_LANG constants (Go, C11, C++11, C++14) n-i-bz Provide implementations of certain compiler builtins to support compilers who may not provide those n-i-bz Old STABS code is still being compiled, but never used. Remove it. diff --git a/coregrind/m_debuginfo/priv_d3basics.h b/coregrind/m_debuginfo/priv_d3basics.h index ff93ad4588..cf9b415e2d 100644 --- a/coregrind/m_debuginfo/priv_d3basics.h +++ b/coregrind/m_debuginfo/priv_d3basics.h @@ -166,6 +166,11 @@ typedef enum dwarf_source_language DW_LANG_D = 0x0013, /* DWARF 4. */ DW_LANG_Python = 0x0014, + /* DWARF 5-pre. Only what GCC already outputs. */ + DW_LANG_Go = 0x0016, + DW_LANG_C_plus_plus_11 = 0x001a, + DW_LANG_C11 = 0x001d, + DW_LANG_C_plus_plus_14 = 0x0021, /* MIPS. */ DW_LANG_Mips_Assembler = 0x8001, /* UPC. */ diff --git a/coregrind/m_debuginfo/readdwarf3.c b/coregrind/m_debuginfo/readdwarf3.c index a2639138f6..06338b0809 100644 --- a/coregrind/m_debuginfo/readdwarf3.c +++ b/coregrind/m_debuginfo/readdwarf3.c @@ -3032,7 +3032,8 @@ static void parse_type_DIE ( /*MOD*/XArray* /* of TyEnt */ tyents, case DW_LANG_C89: case DW_LANG_C: case DW_LANG_C_plus_plus: case DW_LANG_ObjC: case DW_LANG_ObjC_plus_plus: case DW_LANG_UPC: - case DW_LANG_Upc: case DW_LANG_C99: + case DW_LANG_Upc: case DW_LANG_C99: case DW_LANG_C11: + case DW_LANG_C_plus_plus_11: case DW_LANG_C_plus_plus_14: parser->language = 'C'; break; case DW_LANG_Fortran77: case DW_LANG_Fortran90: case DW_LANG_Fortran95: @@ -3043,7 +3044,7 @@ static void parse_type_DIE ( /*MOD*/XArray* /* of TyEnt */ tyents, case DW_LANG_Cobol85: case DW_LANG_Pascal83: case DW_LANG_Modula2: case DW_LANG_Java: case DW_LANG_PLI: - case DW_LANG_D: case DW_LANG_Python: + case DW_LANG_D: case DW_LANG_Python: case DW_LANG_Go: case DW_LANG_Mips_Assembler: parser->language = '?'; break; default: