From de64a9acc6e85d469fd1402da8e85310f0610f0d Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 10 Nov 2009 21:36:48 +0000 Subject: [PATCH] * solib-svr4.c (enable_break): Call gdbarch_convert_from_func_ptr_addr on results of looking up fallback symbol names. --- gdb/ChangeLog | 6 ++++++ gdb/solib-svr4.c | 14 ++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ced2fe0834e..5cd6df921b7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2009-11-10 Joseph Myers + + * solib-svr4.c (enable_break): Call + gdbarch_convert_from_func_ptr_addr on results of looking up + fallback symbol names. + 2009-11-10 Daniel Gutson * procfs.c (procfs_do_thread_registers): Added a call to fetch diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index d685ea5a4d7..21055f678d6 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -1436,8 +1436,11 @@ enable_break (struct svr4_info *info) msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, symfile_objfile); if ((msymbol != NULL) && (SYMBOL_VALUE_ADDRESS (msymbol) != 0)) { - create_solib_event_breakpoint (target_gdbarch, - SYMBOL_VALUE_ADDRESS (msymbol)); + sym_addr = SYMBOL_VALUE_ADDRESS (msymbol); + sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch, + sym_addr, + ¤t_target); + create_solib_event_breakpoint (target_gdbarch, sym_addr); return 1; } } @@ -1447,8 +1450,11 @@ enable_break (struct svr4_info *info) msymbol = lookup_minimal_symbol (*bkpt_namep, NULL, symfile_objfile); if ((msymbol != NULL) && (SYMBOL_VALUE_ADDRESS (msymbol) != 0)) { - create_solib_event_breakpoint (target_gdbarch, - SYMBOL_VALUE_ADDRESS (msymbol)); + sym_addr = SYMBOL_VALUE_ADDRESS (msymbol); + sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch, + sym_addr, + ¤t_target); + create_solib_event_breakpoint (target_gdbarch, sym_addr); return 1; } } -- 2.30.2