This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] [gold] Recognize DWARF5/GCC5 DW_LANG_Fortran03 and DW_LANG_Fortran08.
- From: Mark Wielaard <mjw at redhat dot com>
- To: binutils at sourceware dot org
- Cc: Mark Wielaard <mjw at redhat dot com>
- Date: Tue, 10 Feb 2015 00:13:02 +0100
- Subject: [PATCH] [gold] Recognize DWARF5/GCC5 DW_LANG_Fortran03 and DW_LANG_Fortran08.
- Authentication-results: sourceware.org; auth=none
DWARFv5 defines and GCC5 may output two new DW_LANG constants for the
Fortran 2003 and Fortran 2008 standards. Recognize both in gold gdb-index
as unsupported.
For consistency also add the other new DWARF5/GCC5 language constants in
the elfcpp::DW_LANG enum to match include/dwarf2.h.
elfcpp/ChangeLog:
* dwarf.h (enum DW_LANG): Add DW_LANG_C_plus_plus_11,
DW_LANG_C11, DW_LANG_C_plus_plus_14, DW_LANG_Fortran03 and
DW_LANG_Fortran08 from ../include/dwarf2.h.
gold/ChangeLog:
* gdb-index.cc (Gdb_index_info_reader::visit_top_die): Recognize
DW_LANG_Fortran03 and DW_LANG_Fortran08.
diff --git a/elfcpp/dwarf.h b/elfcpp/dwarf.h
index ccd967e..b0f33c6 100644
--- a/elfcpp/dwarf.h
+++ b/elfcpp/dwarf.h
@@ -205,6 +205,12 @@ enum DW_LANG
DW_LANG_Python = 0x0014,
// DWARF 5.
DW_LANG_Go = 0x0016,
+ DW_LANG_C_plus_plus_11 = 0x001a,
+ DW_LANG_C11 = 0x001d,
+ DW_LANG_C_plus_plus_14 = 0x0021,
+ DW_LANG_Fortran03 = 0x0022,
+ DW_LANG_Fortran08 = 0x0023,
+
DW_LANG_lo_user = 0x8000, // Implementation-defined range start.
DW_LANG_hi_user = 0xffff, // Implementation-defined range start.
// MIPS.
diff --git a/gold/gdb-index.cc b/gold/gdb-index.cc
index 1a41820..666ee70 100644
--- a/gold/gdb-index.cc
+++ b/gold/gdb-index.cc
@@ -371,7 +371,9 @@ 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_Fortran95)
+ || this->cu_language_ == elfcpp::DW_LANG_Fortran95
+ || this->cu_language_ == elfcpp::DW_LANG_Fortran03
+ || this->cu_language_ == elfcpp::DW_LANG_Fortran08)
{
gold_warning(_("%s: --gdb-index currently supports "
"only C and C++ languages"),