(init): Delete.
(func): Delete definition and provide extern declaration.
(t): New.
(main): Don't call printf. Call func and store its result in t.
* return-nodebug1.c: New.
* return-nodebug.exp: Don't expect stdio output. Instead, print
the global variable t. Drop printf formatters and cast types from
foreach loop. Don't use prepare_for_testing. Compile
return-nodebug.c and return-nodebug1.c in separate steps. Don't
define FORMAT or CAST.
(disassemble_next_line): New enum.
(show_disassemble_next_line): New function. Show the current
value of disassemble-next-line.
(gdb_disassembly_stub_args): New struct for argument passing
between function do_gdb_disassembly and function
gdb_disassembly_stub.
(gdb_disassembly_stub): New function. Helper for
gdb_disassembly.
(do_gdb_disassembly): New function. Use TRY_CATCH to catch
the exception from the gdb_disassembly because it will be
broken by filter sometime.
(print_frame_info): If disassemble-next-line is set to auto
or on and doesn't have the line debug messages for $pc,
output the next instruction.
If disassemble-next-line is set to on and there is line debug
messages, output assembly codes for next line.
(_initialize_stack): Make the "set disassemble-next-line"
command an auto-boolean command. Change its class to
class_stack. Place it in the top level set list. Extend help
to describe the auto mode.
Use the ops parameter to get to the target beneath, rather than
using the current_target global. Using the current_target global
was an unintended accident.
global. This brings back to life the AIX port which was otherwise
crashing all the time.
* aix-thread.c (base_target): Delete.
(pd_enable): Do not set base_target.
(aix_thread_attach): Use find_target_beneath instead of base_target.
(aix_thread_detach, aix_thread_resume, aix_thread_wait)
(aix_thread_fetch_registers, aix_thread_store_registers),
(aix_thread_xfer_partial, aix_thread_mourn_inferior)
(aix_thread_thread_alive, aix_thread_pid_to_str): Likewise.
(aix_thread_kill): Delete. Does not seem necessary.
(init_aix_thread_ops): Do not set aix_thread_ops.to_kill.
* stack.c (return_command <retval_exp>): New variables retval_expr
and old_chain. Inline parse_and_eval to initialize retval_expr. Check
RETVAL_EXPR for UNOP_CAST and set RETURN_TYPE to the RETURN_VALUE type
if RETURN_TYPE is NULL.
gdb/doc/
* gdb.texinfo (Returning): New description for missing debug info.
gdb/testsuite/
* gdb.base/return-nodebug.exp, gdb.base/return-nodebug.c: New.
* gdb.base/multi-forks.exp (continue_to_exit_bp_loc): New function with
code from `follow parent, print pids'.
(`follow child, print pids', `follow parent, print pids'): Call it.
Replace `gdb_test "break..."' by gdb_breakpoint.
gdb/
* remote.c (PACKET_qAttached): New.
(remote_query_attached): New.
(remote_add_inferior): Add new `attached' argument. Handle it.
(remote_notice_new_inferior, remote_start_remote): Adjust to pass
-1 to remote_add_inferior in new parameter.
(extended_remote_attach_1): Adjust to pass 1 to
remote_add_inferior in the new parameter.
(extended_remote_create_inferior_1): Adjust to pass 0 to
remote_add_inferior in the new parameter.
(_initialize_remote): Add "set/show remote query-attached-packet"
commands.
2009-03-14 Pedro Alves <pedro@codesourcery.com>
gdb/gdbserver/
* server.c (handle_query): Handle "qAttached".
2009-03-14 Pedro Alves <pedro@codesourcery.com>
gdb/doc/
* gdb.texinfo (Remote Configuration): Document query-attached.
(General Query Packets): Document qAttached.
* ada-lang.c (ada_modulus_from_name): New function.
(ada_modulus): In the case where the type length is bigger than
the size of the type used to hold the bounds, try determining
the modulus from the type name.
(ada_value_primitive_packed_val): Fix bug in the computation of
ntarg causing an out-of-buffer invalid access.
the profile of some target_ops methods.
* darwin-nat.c (darwin_kill_inferior): Add target_ops parameter
where missing.
(darwin_stop_inferior, darwin_detach): Likewise.
of some of the "methods" in the target_ops structure.
* aix-thread.c: Add missing target_ops parameter throughout.
Implement Ada task switching on AIX.
* aix-thread.c (aix_thread_get_ada_task_ptid): New function.
(init_aix_thread_ops): Set aix_thread_ops.to_get_ada_task_ptid.
* solib.c (solib_contains_address_p): New function.
(solib_name_from_address): Use it.
* printcmd.c (display_uses_solib_p): Use it.
* solib.h (solib_contains_address_p): Declare it.
* dwarf2read.c (dwarf_decode_macros): New variable `at_commandline'.
Move the variable `macinfo_type' out of the loop. Create a new
processing pass before the current one to pre-create `current_file'.
New complaint on misplaced zero/non-zero definitions/includes.
Skip first DW_MACINFO_start_file with `at_commandline' set.
* printcmd.c (do_one_display): Reparse exp_string.
(display_uses_solib_p): New function.
(clear_dangling_display_expressions): New function.
(_initialize_printcmd): Add observer.
* solib.c (no_shared_libraries): Swap order of calls to
clear_solib and objfile_purge_solibs.
to find the underlying target.
* dec-thread.c (base_target): Delete.
(enable_dec_thread): Remove assignement to base_target.
(dec_thread_detach, dec_thread_wait, dec_thread_wait)
(dec_thread_fetch_registers, dec_thread_store_registers)
(dec_thread_mourn_inferior, dec_thread_pid_to_str):
Update the function profile if necessary.
Use find_target_beneath to call the same method but from
the underlying target, removing the need for "base_target".
* dec-thread.c (dec_thread_get_regsets, dec_thread_set_regsets):
Fix a copy/paste error in a few debug traces...
* solib-osf.c (init_so): Use a simpler method for computing
the size of lm_info structure. This also gets rid of warning
emitted by the compiler.
* infcmd.c (notice_new_inferior): New.
* remote.c (remote_add_inferior, remote_add_thread): New.
(notice_new_inferiors): Rename to...
(remote_notice_new_inferior): ... this. Add RUNNING argument.
Use remote_add_thread instead of add_thread, passing it the
RUNNING argument. Add an inferior with remote_add_inferior. If
we just learned about an inferior, call notice_new_inferior.
(record_currthread): Adjust.
(remote_threads_info): Adjust to use remote_notice_new_inferior.
(remote_start_remote, extended_remote_attach_1): Use remote_add_inferior.
(process_stop_reply): Adjust. Call remote_notice_new_inferior
after handling expedited registers and watchpoint state.
(extended_remote_create_inferior_1): Use remote_add_inferior.