This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb/gdb-8.2-branch] Fix SYMBOL_LANGUAGE assertion failure on AIX.
- From: Sangamesh Mallayya <sangameshs at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 19 Dec 2018 10:34:54 -0000
- Subject: [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;