diff options
Diffstat (limited to 'gdb/solib-svr4.c')
-rw-r--r-- | gdb/solib-svr4.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 9538af6..22c2239 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -1651,6 +1651,7 @@ solib_event_probe_action (struct probe_and_action *pa) { enum probe_action action; unsigned probe_argc; + struct frame_info *frame = get_current_frame (); action = pa->action; if (action == DO_NOTHING || action == PROBES_INTERFACE_FAILED) @@ -1663,7 +1664,7 @@ solib_event_probe_action (struct probe_and_action *pa) arg0: Lmid_t lmid (mandatory) arg1: struct r_debug *debug_base (mandatory) arg2: struct link_map *new (optional, for incremental updates) */ - probe_argc = get_probe_argument_count (pa->probe); + probe_argc = get_probe_argument_count (pa->probe, frame); if (probe_argc == 2) action = FULL_RELOAD; else if (probe_argc < 2) @@ -1772,6 +1773,7 @@ svr4_handle_solib_event (void) struct value *val; CORE_ADDR pc, debug_base, lm = 0; int is_initial_ns; + struct frame_info *frame = get_current_frame (); /* Do nothing if not using the probes interface. */ if (info->probes_table == NULL) @@ -1816,7 +1818,7 @@ svr4_handle_solib_event (void) usm_chain = make_cleanup (resume_section_map_updates_cleanup, current_program_space); - val = evaluate_probe_argument (pa->probe, 1); + val = evaluate_probe_argument (pa->probe, 1, frame); if (val == NULL) { do_cleanups (old_chain); @@ -1847,7 +1849,7 @@ svr4_handle_solib_event (void) if (action == UPDATE_OR_RELOAD) { - val = evaluate_probe_argument (pa->probe, 2); + val = evaluate_probe_argument (pa->probe, 2, frame); if (val != NULL) lm = value_as_address (val); |