]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Fix SYMBOL_LANGUAGE assertion failure on AIX.
authorSangamesh Mallayya <sangamesh.swamy@in.ibm.com>
Fri, 26 Oct 2018 10:01:36 +0000 (15:31 +0530)
committersangameshs <sangamesh.swamy@in.ibm.com>
Wed, 19 Dec 2018 09:33:20 +0000 (15:03 +0530)
PR gdb/23999
* xcoffread.c (read_xcoff_symtab): Pass deduced language to
symtab_start instead of always using language_unknown.

gdb/ChangeLog
gdb/xcoffread.c

index ae117add771ca01ac799a9e1ec23e1e7af60dd30..ff5a5380d845fb43ae283e5692c32c7c3cfbba24 100644 (file)
@@ -1,3 +1,9 @@
+2018-12-19  Sangamesh Mallayya <sangamesh.swamy@in.ibm.com>
+
+       PR gdb/23999:
+       * xcoffread.c (read_xcoff_symtab): Pass deduced language to
+       symtab_start instead of always using language_unknown.
+
 2018-11-30  Jan Kratochvil  <jan.kratochvil@redhat.com>
            Keith Seitz  <keiths@redhat.com>
            Tom Tromey  <tom@tromey.com>
index 79b1df70fd02f1243bc665a476b45c515a552bd1..3913f2f92b605f2323338b2ac8c35a230a4e334d 100644 (file)
@@ -1020,6 +1020,7 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
   int just_started = 1;
   int depth = 0;
   CORE_ADDR fcn_start_addr = 0;
+  enum language pst_symtab_language;
 
   struct coff_symbol fcn_stab_saved = { 0 };
 
@@ -1040,10 +1041,11 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
 
   set_last_source_file (NULL);
   last_csect_name = 0;
+  pst_symtab_language = deduce_language_from_filename (filestring);
 
   start_stabs ();
   start_symtab (objfile, filestring, (char *) NULL, file_start_addr,
-               language_unknown);
+               pst_symtab_language);
   record_debugformat (debugfmt);
   symnum = ((struct symloc *) pst->read_symtab_private)->first_symnum;
   max_symnum =
@@ -1136,8 +1138,8 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
            }
 
          start_stabs ();
-         start_symtab (objfile, "_globals_", (char *) NULL, (CORE_ADDR) 0,
-                       language_unknown);
+         start_symtab (objfile, "_globals_", (char *) NULL,
+                       (CORE_ADDR) 0, pst_symtab_language);
          record_debugformat (debugfmt);
          cur_src_end_addr = first_object_file_end;
          /* Done with all files, everything from here on is globals.  */
@@ -1227,7 +1229,7 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
                          /* Give all csects for this source file the same
                             name.  */
                          start_symtab (objfile, filestring, NULL,
-                                       (CORE_ADDR) 0, language_unknown);
+                                       (CORE_ADDR) 0, pst_symtab_language);
                          record_debugformat (debugfmt);
                        }
 
@@ -1348,7 +1350,7 @@ read_xcoff_symtab (struct objfile *objfile, struct partial_symtab *pst)
 
          start_stabs ();
          start_symtab (objfile, filestring, (char *) NULL, (CORE_ADDR) 0,
-                       language_unknown);
+                       pst_symtab_language);
          record_debugformat (debugfmt);
          last_csect_name = 0;