* lib/mi-support.exp (mi_reinitialize_dir): Check mi level
to see whether we are using the new -environment-directory
command which resets via -r or the old version of the command
which may prompt the user. Part of fix for gdb/741.
type of floating point result we want to convert to. Make input
argument const. Fix all callers.
(convert_to_extended): Similarly.
(arm_extract_return_value): Now takes a regcache argument. Change
code to use regcache accessor functions. Correctly extract
smaller-than-word results on big-endian machines.
(arm_store_return_value): Now takes a regcache argument. Change
code to use regcache accessor functions. Correctly zero/sign extend
smaller than word results before storing into r0.
(arm_gdbarch_init): Register new-style extract_return_value and
store_return_value functions.
* frame.c (deprecated_update_current_frame_pc_hack): New
function.
* frame.h (deprecated_update_current_frame_pc_hack): Declare.
* infrun.c (normal_stop): Use said function instead of directly
modifying the frame's PC.
* mi-basics.exp: Change tests for -environment-directory. Also add
tests for -environment-cd, -environment-pwd, and -environment-path.
Part of fix for PR gdb/741.
* defs.h (init_last_source_visited): New prototype.
(add_path): Ditto.
* source.c (add_path): New function that adds to a specified path.
(mod_path): Change to call add_path.
(init_last_source_visited): New function to allow interfaces to
initialize static variable: last_source_visited. Part of fix
for PR gdb/741.
* Makefile.in: Add support for mi/mi-cmd-env.c.
* mi-cmds.c (-environment-directory) Change to use mi_cmd_env_dir,
(-environment-cd): Change to use mi_cmd_env_cd,.
(-environment-pwd): Change to use mi_cmd_env_pwd.
(-environment-path): Change to use mi_cmd_env_path.
* mi-cmds.h (mi_cmd_env_cd, mi_cmd_env_dir): New prototypes.
(mi_cmd_env_path, mi_cmd_env_pwd): Ditto.
* mi-cmd-env.c: New file. Part of fix for PR gdb/741.
* gdbmi.texinfo (environment-cd): Update output and example.
(environment-pwd): Ditto.
(environment-dir): Update output, description, and examples.
(environment-path): Ditto.
* infcmd.c (run_stack_dummy): Create a frame ID directly and then
pass that to set_momentary_breakpoint. Move comments to where they
belong.
* frame.h (set_current_frame): Delete declaration.
* frame.c (set_current_frame): Delete function.
and saw_child_exec.
(follow_fork, init_wait_for_inferior, handle_inferior_event): Remove
references to saw_parent_fork, saw_child_fork, and saw_child_exec.
(stop_stepping): Remove outdated check for child vfork events.
(ADDRESS_CLASS_NAME_TO_TYPE_FLAGS): Use ``const char *'' instead of
``char *'' for return and parameter types.
* gdbarch.h, gdbarch.c: Regenerate.
* gdbtypes.h, gdbtypes.c (address_space_int_to_name): Change
return type from ``char *'' to ``const char *''.
* c-typeprint.c (c_type_print_modifier): Make ``address_space_id''
const.
(i386_frame_chain, i386_frame_saved_pc): Replace
DEPRECATED_PC_IN_CALL_DUMMY with call to pc_in_dummy_frame.
(i386_gdbarch_init): Don't set deprecated_pc_in_call_dummy.
CHILD_FOLLOW_FORK.
* hppah-nat.c (saved_vfork_pid): Add.
(child_post_follow_vfork): Remove.
(child_follow_fork): New function.
(child_wait): Call detach_breakpoints after receiving the child vfork.
Call child_resume directly instead of going through resume ().
Make sure we have the exec before reporting the vfork.
* inferior.h (follow_inferior_reset_breakpoints): Add prototype.
* infrun.c (follow_fork, follow_vfork, follow_inferior_fork): Remove.
(follow_fork): New function. Call target_follow_fork.
(follow_inferior_reset_breakpoints): New function broken out from
old follow_inferior_fork.
(resume): Remove hack to follow exec after vfork.
* inftarg.c (child_post_follow_vfork): Remove.
(child_follow_fork): New function.
(init_child_ops): Replace to_post_follow_vfork with to_follow_fork.
* target.c (cleanup_target): Replace to_post_follow_vfork with
to_follow_fork.
(update_current_target): Likewise.
(setup_target_debug): Likewise.
(debug_to_post_follow_vfork): Remove.
(debug_to_follow_fork): New function.
* target.h (struct target_ops): Replace to_post_folow_vfork with
to_follow_fork.
(child_post_follow_vfork): Remove prototype.
(child_follow_fork): Add prototype.
(target_post_follow_vfork): Remove macro.
(target_follow_fork): Add macro.
testsuite/
* gdb.base/foll-vfork.exp: Re-enable test on HP/UX.
(child_post_follow_vfork): Cancel pending exec event if we follow
the parent.
(child_wait): Only return TARGET_WAITKIND_VFORKED when all necessary
events have been processed. Return a fake TARGET_WAITKIND_EXECD
event at the following wait call if necessary.
* infrun.c (follow_vfork): Don't follow_exec here.
(handle_inferior_event): Add comment to TARGET_WAITKIND_EXECD
case about HP/UX 10.20. Remove code pushed down to
hppah-nat.c:child_wait.
* infttrace.c (child_resume): Use TT_PROC_CONTINUE if
vfork_in_flight is set.
for the parent's fork event.
* infrun.c (handle_inferior_event): Only expect one fork event.
Call prepare_to_wait for TARGET_WAITKIND_IGNORE. Update comment.
* target.h: Update comment for TARGET_WAITKIND_IGNORE.