[gold] Recognize DWARF5/GCC5 DW_LANG_Fortran03 and DW_LANG_Fortran08.
authorMark Wielaard <mjw@redhat.com>
Mon, 9 Feb 2015 23:02:34 +0000 (00:02 +0100)
committerMark Wielaard <mjw@redhat.com>
Tue, 17 Feb 2015 07:08:24 +0000 (08:08 +0100)
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
elfcpp/dwarf.h
gold/ChangeLog
gold/gdb-index.cc

index 47e6328..f298d80 100644 (file)
@@ -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.
index ccd967e..b0f33c6 100644 (file)
@@ -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.
index 3eed17a..f83c652 100644 (file)
@@ -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
index 1a41820..666ee70 100644 (file)
@@ -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"),