Code cleanup: compile: func_addr -> func_sym
Currently the code fetches _gdb_expr address/types at multiple places, guessing its parameters at multiple places etc. Fetch it once, verify it has expected type and then rely on it. While the patch tries to clean up the code it is still horrible due to the missing C++ sub-classing. gdb/ChangeLog 2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com> * compile/compile-object-load.c (get_regs_type): Add parameter func_sym. Rely on its parameter count. (compile_object_load): Replace lookup_minimal_symbol_text by lookup_global_symbol_from_objfile. Verify FUNC_SYM. Set it in the return value. * compile/compile-object-load.h (struct compile_module): Replace func_addr by func_sym. * compile/compile-object-run.c: Include block.h. (compile_object_run): Reset module variable after it is freed. Use FUNC_SYM instead of FUNC_ADDR. Rely on it.
This commit is contained in:
parent
3a9558c494
commit
83d3415ef5
4 changed files with 88 additions and 51 deletions
|
@ -25,8 +25,8 @@ struct compile_module
|
|||
/* .c file OBJFILE was built from. It needs to be xfree-d. */
|
||||
char *source_file;
|
||||
|
||||
/* Inferior function address. */
|
||||
CORE_ADDR func_addr;
|
||||
/* Inferior function GCC_FE_WRAPPER_FUNCTION. */
|
||||
struct symbol *func_sym;
|
||||
|
||||
/* Inferior registers address or NULL if the inferior function does not
|
||||
require any. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue