2001-08-06 James Ingham * ppc-frameinfo.c (safe_read_memory_unsigned_integer): The wrapped function has to return a value, or bad things happen... (ppc_frame_cache_properties): pass the function_end as the stop for the parsing, not the pc. This way we can correctly parse the prologue & figure out where we are EVEN IF the pc is in the prologue. 2001-08-03 James Ingham * nextstep-nat-dyld-info.c (dyld_entry_info): Check for e->loaded_name not null before passing to strrchr. 2001-08-02 James Ingham * nextstep-nat-dyld.c (_initialize_nextstep_nat_dyld): fix up doc strings. (next_init_dyld): Add a missing check for the ofile being NULL. 2001-07-31 James Ingham * nextstep-nat-dyld-process.c: The dyld code doesn't own the objfile for the executable. The generic gdb code keeps a pointer to this through the symfile_objfile pointer. So let the generic code handle the lifetime of the executable objfile. 2001-07-27 James Ingham * ppc-frameinfo.c (safe_read_memory_unsigned_integer): New function, safe version of read_memory_unsigned_int. (wrap_read_memory_unsigned_integer): This is the wrapper function. (ppc_parse_instructions): catch errors from read_memory_unsigned_integer, this gives us a much better chance of cleaning up from cases where the pc is off in unreadable memory. 2001-06-21 Klee Dienes * nextstep-nat-dyld.c (section_info_helper): protect the CFM section of the code with #if WITH_CFM . 2001-06-14 James Ingham * ppc-frameinfo.c (ppc_parse_instructions): properly sign extend the instruction offset from the "bl" instruction - the old way didn't work for CORE_ADDR = unsigned long long. * nextstep-nat-dyld-path.c (dyld_resolve_image): check for name being null and don't crash. * nextstep-nat-dyld-process.c (dyld_resolve_load_flag): Ditto... 2001-06-07 James Ingham * ppc-frameinfo.c (ppc_frame_cache_properties): protect against the case where we think the lr wasn't saved in a non-leaf function. * ppc-tdep.c (ppc_frame_find_pc): ditto. 2001-05-18 James Ingham * ppc-frameinfo.c (ppc_parse_instructions): Add a fallback if we don't recognize ANY valid prologue instructions. In that case, we are just guessing, but guess that the pc is stored on the stack, since this is usually the case. 2001-05-15 James Ingham * nextstep-nat-dyld-info.c (dyld_print_shlib_info): use dyld_entry_out to output the path, offset & slide in ui-out'ified form. (dyld_entry_string): Use dyld_entry_info. (dyld_entry_out): New function, format the path, offset & slide in ui-out. (dyld_entry_info): Generic function, returns path, offset & slide in separate fields, for use in dyld_entry_string & dyld_entry_out. 2001-05-10 James Ingham * nextstep-nat-dyld.c (dyld_print_status_info): ui_out'ify the info messages so we don't spam the mi... * nextstep-nat-dyld-info.c (dyld_print_shlib_info): ui_out'ify the output from info sharedlibrary. 2001-04-18 Jim Ingham * ppc-tdep.c (ppc_get_unsaved_pc): New function. How to get the frame's pc if it hasn't been saved in the frame. (ppc_frame_find_pc): Reworked the logic to better handle cases where the of the parent frame is in its prologue. (ppc_frame_chain_valid): If the frame pointer is null, we are at the end of the stack. Re-enable the code that does this check. Klee thinks this might cause trouble somewhere but can't remember where, and it is the right thing to do, so... * ppc-frameinfo.h: Removed the offset2 field, it was just for use IN ppc_parse_instructions. Added lr_invalid to handle prologues that temporarily invalidate the link register. * ppc-frameinfo.c (ppc_print_properties): mutatis mutandi for changes to the properties structure. (ppc_parse_instructions): Add support for the saveFP and saveVec gcc prolog setup routines. Also record WHEN the link register is stored in the frame so we can do a better job of backtraces while in the prolog. (ppc_clear_function_properties): mutatis mutandi for changes to the properties structure. 2001-02-21 James Ingham * nextstep-nat-dyld-process.c (dyld_load_library): If you get an error in getting the TEXT segment for a shlib, mark the entry as invalid. You can't free it, it wasn't malloc'ed... 2001-01-24 James Ingham * nextstep-nat-inferior.c (next_fetch_task_info): Comment out the call to next_init_dyld_symfile. This caused gdb to reset shared library info when quitting. (next_child_stop): New function: don't use child_stop, it sends a kill (-pid, SIGINT) which doesn't work on MacOS X unless the inferior actually IS a process group leader. But apps in MacOS X almost never are (they are children of the WindowServer). initialize remote_async_terminal_ours_p to 1 - this reflects truth: gdb at startup DOES own the terminal. * remote-kdp.c: ditto. 2001-01-22 James Ingham * ppc-frameinfo.c (ppc_frame_cache_properties): Check that the frame's extra_info is set. 2000-11-07 James Ingham * ppc-frameinfo.c (ppc_parse_instructions): If the FIRST instruction of the prologue is a bl, we are probably NOT in the prologue. * ppc-tdep.c (ppc_frame_find_pc): In the case where we have no symbols, use the instruction parser to tell us whether the return address has been put on the stack yet or not. 2000-09-06 Jim Ingham * nextstep-nat-inferior-util.c: add WITH_CFM guards in the appropriate places. * nextstep-nat-inferior.c: ditto * nextstep-nat-inferior.h: ditto. 2000-09-05 James Ingham * ppc-frameinfo.c (ppc_parse_instructions): Cleanup a comment & remove an unused variable. 2000-09-01 James Ingham * ppc-frameinfo.h: Added a few comments. * ppc-frameinfo.c (ppc_parse_instructions): Detect the "save_world" stack setup routine that gcc uses for C++, and set up the props structure based on what it does. NB. This will break if gcc changes this routine, but there's not much I can do about this... 2000-08-09 James Ingham * nextstep-nat-dyld-path.c (build_suffix_name): new function, find full name including the DYLD_IMAGE_SUFFIX. (search_for_name_in_path): Pass in the suffix that comes from DYLD_IMAGE_SUFFIX, and use in search. (get_framework_pathname): pass in flag telling whether to use the image suffix, and use it. (dyld_resolve_image): use the image suffix in resolving the image path. (dyld_init_paths): Initialize the image_suffix from the environment. * nextstep-nat-dyld-path.c: Add image_suffix to dyld_path_info struct. 2000-07-20 James Ingham * nextstep-nat-inferior-debug.c: Add fflush to the inferior_stderr. There may be other places where this is needed as well, but we will chase them down as we find them. * nextstep-nat-inferior.c: Open the inferior_stderr "w", not "w+", so the debugging output will work when gdb is running as pipe under another program. 2000-06-23 James Ingham * nextstep-nat-dyld-process.c: Take out the call to build_objfile_section_table, since it only screwed up the section table, and had no other purpose...