aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2015-02-10 00:02:34 +0100
committerMark Wielaard <mjw@redhat.com>2015-02-17 08:08:24 +0100
commit2d9afefe223de983d6e86b5de9da0e5650057ac9 (patch)
tree65317d0175a7b21ff5d3da8b52b1b3c8516575c3
parente9c1bdad269c0c3352eebcc9481ed65144001b0b (diff)
downloadfsf-binutils-gdb-2d9afefe223de983d6e86b5de9da0e5650057ac9.zip
fsf-binutils-gdb-2d9afefe223de983d6e86b5de9da0e5650057ac9.tar.gz
fsf-binutils-gdb-2d9afefe223de983d6e86b5de9da0e5650057ac9.tar.bz2
[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.
-rw-r--r--elfcpp/ChangeLog6
-rw-r--r--elfcpp/dwarf.h6
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/gdb-index.cc4
4 files changed, 20 insertions, 1 deletions
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 <mjw@redhat.com>
+
+ * 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 <shenhan@google.com>
* 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 <mjw@redhat.com>
+
+ * gdb-index.cc (Gdb_index_info_reader::visit_top_die): Recognize
+ DW_LANG_Fortran03 and DW_LANG_Fortran08.
+
2015-02-16 Cary Coutant <ccoutant@google.com>
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"),