This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb/gdb-8.2-branch] Fix SYMBOL_LANGUAGE assertion failure on AIX.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=efa138468817d1d26d1a57c0c772793f31908064

commit efa138468817d1d26d1a57c0c772793f31908064
Author: Sangamesh Mallayya <sangamesh.swamy@in.ibm.com>
Date:   Fri Oct 26 15:31:36 2018 +0530

    Fix SYMBOL_LANGUAGE assertion failure on AIX.
    
    PR gdb/23999
    * xcoffread.c (read_xcoff_symtab): Pass deduced language to
    symtab_start instead of always using language_unknown.

Diff:
---
 gdb/ChangeLog   |  6 ++++++
 gdb/xcoffread.c | 12 +++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index ae117ad..ff5a538 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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>
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 79b1df7..3913f2f 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]