From 744ab88c495eb1ab30b18480aa199f53ab70ff89 Mon Sep 17 00:00:00 2001 From: Sanjoy Das Date: Sun, 27 Nov 2011 14:26:09 +0000 Subject: gdb/ Fix regression in jit.exp. * jit.c (jit_reader_try_read_symtab, jit_bfd_try_read_symtab) (jit_register_code): Set the jit_objfile_data field to the correct value. --- gdb/ChangeLog | 7 +++++++ gdb/jit.c | 19 ++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c765e01..6fe2a5c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2011-11-27 Sanjoy Das + + Fix regression in jit.exp. + * jit.c (jit_reader_try_read_symtab, jit_bfd_try_read_symtab) + (jit_register_code): Set the jit_objfile_data field to the correct + value. + 2011-11-25  Uros Bizjak   * alpha-tdep.c (br_opcode): New. diff --git a/gdb/jit.c b/gdb/jit.c index 7bd6b36..099f79d 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -710,10 +710,13 @@ jit_object_close_impl (struct gdb_symbol_callbacks *cb, xfree (obj); } -/* Try to read CODE_ENTRY using the loaded jit reader (if any). */ +/* Try to read CODE_ENTRY using the loaded jit reader (if any). + ENTRY_ADDR is the address of the object file (in the target's + address space) being read. */ static int -jit_reader_try_read_symtab (struct jit_code_entry *code_entry) +jit_reader_try_read_symtab (struct jit_code_entry *code_entry, + CORE_ADDR entry_addr) { void *gdb_mem; int status; @@ -735,7 +738,7 @@ jit_reader_try_read_symtab (struct jit_code_entry *code_entry) &priv_data }; - priv_data = code_entry->symfile_addr; + priv_data = entry_addr; if (!loaded_jit_reader) return 0; @@ -765,10 +768,12 @@ jit_reader_try_read_symtab (struct jit_code_entry *code_entry) return status; } -/* Try to read CODE_ENTRY using BFD. */ +/* Try to read CODE_ENTRY using BFD. ENTRY_ADDR is the address of the + object file (in the target's address space) being read. */ static void jit_bfd_try_read_symtab (struct jit_code_entry *code_entry, + CORE_ADDR entry_addr, struct gdbarch *gdbarch) { bfd *nbfd; @@ -832,7 +837,7 @@ JITed symbol file is not an object file, ignoring it.\n")); objfile = symbol_file_add_from_bfd (nbfd, 0, sai, OBJF_SHARED, NULL); do_cleanups (old_cleanups); - add_objfile_entry (objfile, code_entry->symfile_addr); + add_objfile_entry (objfile, entry_addr); } /* This function registers code associated with a JIT code entry. It uses the @@ -855,10 +860,10 @@ jit_register_code (struct gdbarch *gdbarch, paddress (gdbarch, code_entry->symfile_addr), pulongest (code_entry->symfile_size)); - success = jit_reader_try_read_symtab (code_entry); + success = jit_reader_try_read_symtab (code_entry, entry_addr); if (!success) - jit_bfd_try_read_symtab (code_entry, gdbarch); + jit_bfd_try_read_symtab (code_entry, entry_addr, gdbarch); } /* This function unregisters JITed code and frees the corresponding -- cgit v1.1