From 2d9afefe223de983d6e86b5de9da0e5650057ac9 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 10 Feb 2015 00:02:34 +0100 Subject: [PATCH] [gold] Recognize DWARF5/GCC5 DW_LANG_Fortran03 and DW_LANG_Fortran08. 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. --- elfcpp/ChangeLog | 6 ++++++ elfcpp/dwarf.h | 6 ++++++ gold/ChangeLog | 5 +++++ gold/gdb-index.cc | 4 +++- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index 47e6328..f298d80 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,3 +1,9 @@ +2015-02-09 Mark Wielaard + + * 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. + 2015-01-22 Han Shen * arm.h (R_ARM_IRELATIVE): New dynamic relocation. 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/ChangeLog b/gold/ChangeLog index 3eed17a..f83c652 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2015-02-09 Mark Wielaard + + * gdb-index.cc (Gdb_index_info_reader::visit_top_die): Recognize + DW_LANG_Fortran03 and DW_LANG_Fortran08. + 2015-02-16 Cary Coutant PR gold/13577 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"), -- 2.7.4