diff options
Diffstat (limited to 'gdb/proc-service.c')
-rw-r--r-- | gdb/proc-service.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/gdb/proc-service.c b/gdb/proc-service.c index 415ba0a..5e5eee0 100644 --- a/gdb/proc-service.c +++ b/gdb/proc-service.c @@ -112,25 +112,19 @@ ps_err_e ps_pglobal_lookup (gdb_ps_prochandle_t ph, const char *obj, const char *name, psaddr_t *sym_addr) { - struct bound_minimal_symbol ms; - struct cleanup *old_chain = save_current_program_space (); struct inferior *inf = find_inferior_ptid (ph->ptid); - ps_err_e result; + + scoped_restore_current_program_space restore_pspace; set_current_program_space (inf->pspace); /* FIXME: kettenis/2000-09-03: What should we do with OBJ? */ - ms = lookup_minimal_symbol (name, NULL, NULL); + bound_minimal_symbol ms = lookup_minimal_symbol (name, NULL, NULL); if (ms.minsym == NULL) - result = PS_NOSYM; - else - { - *sym_addr = core_addr_to_ps_addr (BMSYMBOL_VALUE_ADDRESS (ms)); - result = PS_OK; - } + return PS_NOSYM; - do_cleanups (old_chain); - return result; + *sym_addr = core_addr_to_ps_addr (BMSYMBOL_VALUE_ADDRESS (ms)); + return PS_OK; } /* Read SIZE bytes from the target process PH at address ADDR and copy |