aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandra Hájková <ahajkova@redhat.com>2024-12-03 16:41:35 +0100
committerAlexandra Hájková <ahajkova@redhat.com>2024-12-19 12:39:34 +0100
commit31ba6108ece4e66db6440cdd2be36d6b9ca41223 (patch)
treece36f66f4c203da6c8e06313f8ceb9cc86f7d358
parente16e6389a7f1f6112868f470d7a001cb02e43d5d (diff)
downloadbinutils-31ba6108ece4e66db6440cdd2be36d6b9ca41223.zip
binutils-31ba6108ece4e66db6440cdd2be36d6b9ca41223.tar.gz
binutils-31ba6108ece4e66db6440cdd2be36d6b9ca41223.tar.bz2
elfcpp/dwarf.h: Add post DWARF5 constants to DW_LANG enum
Also add the post DWARF5 language codes to gold/gdb-index.cc Gdb_index_info_reader::visit_top_die check as --gdb-index only supports C and C++ languages and emits warning otherwise.
-rw-r--r--elfcpp/dwarf.h25
-rw-r--r--gold/gdb-index.cc19
2 files changed, 43 insertions, 1 deletions
diff --git a/elfcpp/dwarf.h b/elfcpp/dwarf.h
index 2adb864..1ce59c6 100644
--- a/elfcpp/dwarf.h
+++ b/elfcpp/dwarf.h
@@ -247,6 +247,31 @@ enum DW_LANG
DW_LANG_C_plus_plus_14 = 0x0021,
DW_LANG_Fortran03 = 0x0022,
DW_LANG_Fortran08 = 0x0023,
+ DW_LANG_C_plus_plus_17 = 0x002a,
+ DW_LANG_C_plus_plus_20 = 0x002b,
+ DW_LANG_C17 = 0x002c,
+ DW_LANG_Fortran18 = 0x002d,
+ DW_LANG_Ada2005 = 0x002e,
+ DW_LANG_Ada2012 = 0x002f,
+ DW_LANG_HIP = 0x0030,
+ DW_LANG_Assembly = 0x0031,
+ DW_LANG_C_sharp = 0x0032,
+ DW_LANG_Mojo = 0x0033,
+ DW_LANG_GLSL = 0x0034,
+ DW_LANG_GLSL_ES = 0x0035,
+ DW_LANG_HLSL = 0x0036,
+ DW_LANG_OpenCL_CPP = 0x0037,
+ DW_LANG_CPP_for_OpenCL = 0x0038,
+ DW_LANG_SYCL = 0x0039,
+ DW_LANG_C_plus_plus_23 = 0x003a,
+ DW_LANG_Odin = 0x003b,
+ DW_LANG_P4 = 0x003c,
+ DW_LANG_Metal = 0x003d,
+ DW_LANG_C23 = 0x003e,
+ DW_LANG_Fortran23 = 0x003f,
+ DW_LANG_Ruby = 0x0040,
+ DW_LANG_Move = 0x0041,
+ DW_LANG_Hylo = 0x0042,
DW_LANG_lo_user = 0x8000, // Implementation-defined range start.
DW_LANG_hi_user = 0xffff, // Implementation-defined range start.
diff --git a/gold/gdb-index.cc b/gold/gdb-index.cc
index 4d0ae09..c28c985 100644
--- a/gold/gdb-index.cc
+++ b/gold/gdb-index.cc
@@ -371,9 +371,26 @@ Gdb_index_info_reader::visit_top_die(Dwarf_die* die)
|| this->cu_language_ == elfcpp::DW_LANG_Fortran90
|| this->cu_language_ == elfcpp::DW_LANG_Java
|| this->cu_language_ == elfcpp::DW_LANG_Ada95
+ || this->cu_language_ == elfcpp::DW_LANG_Ada2005
+ || this->cu_language_ == elfcpp::DW_LANG_Ada2012
+ || this->cu_language_ == elfcpp::DW_LANG_HIP
+ || this->cu_language_ == elfcpp::DW_LANG_Assembly
+ || this->cu_language_ == elfcpp::DW_LANG_C_sharp
+ || this->cu_language_ == elfcpp::DW_LANG_Mojo
+ || this->cu_language_ == elfcpp::DW_LANG_GLSL
+ || this->cu_language_ == elfcpp::DW_LANG_GLSL_ES
+ || this->cu_language_ == elfcpp::DW_LANG_HLSL
+ || this->cu_language_ == elfcpp::DW_LANG_Odin
+ || this->cu_language_ == elfcpp::DW_LANG_P4
+ || this->cu_language_ == elfcpp::DW_LANG_Metal
|| this->cu_language_ == elfcpp::DW_LANG_Fortran95
|| this->cu_language_ == elfcpp::DW_LANG_Fortran03
- || this->cu_language_ == elfcpp::DW_LANG_Fortran08)
+ || this->cu_language_ == elfcpp::DW_LANG_Fortran08
+ || this->cu_language_ == elfcpp::DW_LANG_Fortran18
+ || this->cu_language_ == elfcpp::DW_LANG_Fortran23
+ || this->cu_language_ == elfcpp::DW_LANG_Ruby
+ || this->cu_language_ == elfcpp::DW_LANG_Move
+ || this->cu_language_ == elfcpp::DW_LANG_Hylo)
{
gold_warning(_("%s: --gdb-index currently supports "
"only C and C++ languages"),