aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/jit.c2
-rw-r--r--gdb/testsuite/gdb.base/jit-reader.c12
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/jit.c b/gdb/jit.c
index 39c17a5..9736f84 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -665,6 +665,8 @@ jit_object_close_impl (struct gdb_symbol_callbacks *cb,
objfile *objfile = objfile::make (nullptr, current_program_space,
objfile_name.c_str (), OBJF_NOT_FILENAME);
+ objfile->section_offsets.push_back (0);
+ objfile->sect_index_text = 0;
objfile->per_bfd->gdbarch = priv_data->gdbarch;
for (gdb_symtab &symtab : obj->symtabs)
diff --git a/gdb/testsuite/gdb.base/jit-reader.c b/gdb/testsuite/gdb.base/jit-reader.c
index 414be07..78117f0 100644
--- a/gdb/testsuite/gdb.base/jit-reader.c
+++ b/gdb/testsuite/gdb.base/jit-reader.c
@@ -62,6 +62,18 @@ read_debug_info (struct gdb_reader_funcs *self,
(GDB_CORE_ADDR) symfile->function_stack_mangle.end,
"jit_function_stack_mangle");
+ /* Add some line table information. This ensures that GDB can handle
+ accepting this information, and can scan the table. However, this
+ information is constructed such that none of the tests actually hit any
+ of these line entries. */
+ struct gdb_line_mapping mangle_lines[] =
+ {
+ { 1, (GDB_CORE_ADDR) symfile->function_stack_mangle.begin + 0 },
+ { 0, (GDB_CORE_ADDR) symfile->function_stack_mangle.begin + 1 },
+ };
+ int mangle_nlines = sizeof (mangle_lines) / sizeof (mangle_lines[0]);
+ cbs->line_mapping_add (cbs, symtab, mangle_nlines, mangle_lines);
+
cbs->block_open (cbs, symtab, NULL,
(GDB_CORE_ADDR) symfile->function_add.begin,
(GDB_CORE_ADDR) symfile->function_add.end,