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.
This commit is contained in:
Alexandra Hájková 2024-12-03 16:41:35 +01:00
parent e16e6389a7
commit 31ba6108ec
2 changed files with 43 additions and 1 deletions

View File

@ -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.

View File

@ -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"),