On Mon, Aug 8, 2011 at 2:38 PM, Jan Kratochvil wrote: > On Mon, 08 Aug 2011 23:30:58 +0200, Paul Pluzhnikov wrote: >> I've updated the other return from get_r_debug() (if no DT_DEBUG >> found) to also return -1. > > I apparently forgot, yes. There were some other missing updates (e.g. comment on linux_refresh_libraries() was now wrong). Updated unified patch re-tested on Linux/x86_64 and i686 and attached. Thanks, -- Paul Pluzhnikov 2011-08-08 Paul Pluzhnikov * solib-svr4.c (library_list_start_segment): New function. (library_list_start_library, library_list_end_library): Likewise. (library_list_start_list): Likewise. (segment_attributes, library_children): New variables. (library_attributes, library_list_children): Likewise. (library_list_attributes, library_list_elements): Likewise. (svr4_free_so): Moved to here. (svr4_free_library_list, svr4_parse_libraries): New functions. (svr4_current_sos_via_xfer_libraries): Likewise. (svr4_current_sos): Adjust. gdbserver/ChangeLog: 2011-08-08 Paul Pluzhnikov Jan Kratochvil * inferiors.c (clear_all_dlls): New function. (clear_inferiors): Move there the code from here, call it here. * linux-low.c (linux_add_process): Adjust. (get_phdr_phnum_from_proc_auxv, get_dynamic): New functions. (get_r_debug, read_one_ptr): Likewise. (struct link_map_offsets): New struct decl. (linux_refresh_libraries): New function. (struct linux_target_ops): Adjust. (struct process_info_private): New member. (handle_qxfer_libraries): Adjust. (struct target_ops): New member. * server.c (handle_qxfer_libraries): Adjust. * server.h (clear_all_dlls): New prototype. * target.h (struct target_ops): New member.