3 * main.h (batch_silent): Declare.
4 * event-top.c: Include main.h.
5 (gdb_setup_readline): Remove extern batch_silent declaration.
6 * infrun.c (normal_stop): Don't print source location when running in
8 * Makefile.in (event-top.o): Add main.h dependency.
12 * target.h (struct target_ops): Add
13 to_watchpoint_addr_within_range.
14 (target_watchpoint_addr_within_range): New function.
15 * target.c (update_current_target): Inherit
16 to_watchpoint_addr_within_range, defaulting to
17 default_watchpoint_addr_within_range.
18 (default_watchpoint_addr_within_range): New function.
19 (debug_to_watchpoint_addr_within_range): New function.
20 (setup_target_debug): Set to_watchpoint_addr_within_range.
21 * ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range):
23 (_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range.
24 * breakpoint.c (watchpoints_triggered): Use
25 target_watchpoint_addr_within_range.
29 * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*.
30 (i[34567]86-*-dicos*, x86_64-*-dicos*):
31 Set gdb_osabi to GDB_OSABI_DICOS.
33 * defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS.
34 * osabi.c (gdb_osabi_name): Add "DICOS".
36 * i386-dicos-tdep.c: New file.
38 * Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o.
39 (ALLDEPFILES): Add i386-dicos-tdep.c.
40 (i386-dicos-tdep.o): New rule.
44 * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list
45 and register the fork's PTID as a thread.
50 * breakpoint.c (create_breakpoint): Add breakpoint_ops argument and
51 assign its value to the breakpoint created.
52 (create_breakpoints): Add breakpoint_ops argument and pass it
53 to create_breakpoint call.
54 (break_command_really): Add breakpoint_ops argument and pass/assign
56 (break_command_1): Pass NULL as ops argument.
57 (set_breakpoint): Pass NULL as ops argument.
58 (print_one_exception_catchpoint): Print <PENDING> if no loc available.
59 (handle_gnu_v3_exceptions): Call generic breakpoint code to insert
60 catch and throw catchpoints.
65 * corelow.c (core_open): Use gdbarch_target_signal_from_host to
66 translate signal numeric value from the target to GDB's enum
68 * gdbarch.c, gdbarch.h: Regenerated.
69 * gdbarch.sh: Added two new functions target_signal_from_host and
70 target_signal_to_host.
71 * target.h (default_target_signal_from_host,
72 default_target_signal_to_host): New functions - declarations.
73 * signals/signals.c (struct gdbarch): New declaration.
74 (default_target_signal_to_host, default_target_signal_from_host): New
79 * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition.
80 * arm-tdep.c (arm_frame_is_thumb): New.
81 (arm_pc_is_thumb): Clarify comment.
82 (thumb_analyze_prologue): Remove PC special case.
83 (thumb_scan_prologue): Take a block_addr argument. Use it for
84 find_pc_partial_function. Remove unused variables.
85 (arm_scan_prologue): Use arm_frame_is_thumb. Use the block address
86 for find_pc_partial_function. Remove PC special case.
87 (arm_prologue_prev_register): Add special handling for PC and CPSR.
88 (arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New.
89 (arm_get_next_pc): Use arm_frame_is_thumb.
90 (arm_write_pc): Use CPSR_T instead of 0x20.
91 (arm_gdbarch_init): Call dwarf2_frame_set_init_reg.
92 * arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM.
94 * dwarf2-frame.c (dwarf2_frame_prev_register): Handle
96 * dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add
98 (struct dwarf2_frame_state_reg): Add FN to loc union.
102 * exec.c (print_section_info): Add missing '\n'.
106 * thread.c (add_thread): Move observer call to ...
107 (add_thread_silent): ... here.
111 * rs6000-tdep.c: Update for unwinder changes.
112 * ppcobsd-tdep.c: Likewise.
116 * s390-tdep.c: Update for unwinder changes.
120 * spu-tdep.c: Update for unwinder changes.
124 * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c,
125 ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c,
126 sparc64-linux-tdep.c: Update for unwinder changes.
130 * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: Update
131 for unwinder changes.
132 * mips-tdep.c: Likewise.
133 (mips_stub_frame_cache): Unwind the ABI stack pointer, not the
138 * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for
143 Update i386 and amd64 ports for unwinder changes.
145 * amd64-tdep.c (amd64_frame_cache): Expect this_frame.
146 (amd64_frame_this_id, amd64_frame_prev_register): Update signature.
147 (amd64_frame_unwind): Use default_frame_sniffer.
148 (amd64_frame_sniffer): Delete.
149 (amd64_sigtramp_frame_cache): Expect this_frame.
150 (amd64_sigtramp_frame_this_id, amd64_sigtramp_frame_prev_register)
151 (amd64_sigtramp_frame_sniffer): Update signature.
152 (amd64_sigtramp_frame_unwind): Add amd64_sigtramp_frame_sniffer.
153 (amd64_frame_base_address): Expect this_frame.
154 (amd64_dummy_id): Renamed from amd64_unwind_dummy_id. Expect
156 (amd64_init_abi): Use set_gdbarch_dummy_id and
157 frame_unwind_append_unwinder.
158 * i386-tdep.c (i386_frame_cache): Expect this_frame.
159 (i386_frame_this_id, i386_frame_prev_register): Update signature.
160 (i386_frame_unwind): Use default_frame_sniffer.
161 (i386_frame_sniffer): Delete.
162 (i386_sigtramp_frame_cache): Expect this_frame.
163 (i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register)
164 (i386_sigtramp_frame_sniffer): Update signature.
165 (i386_sigtramp_frame_unwind): Use i386_sigtramp_frame_sniffer.
166 (i386_frame_base_address): Update signature.
167 (i386_dummy_id): Rename from i386_unwind_dummy_id. Expect this_frame.
168 (i386_push_dummy_call): Update comment.
169 (i386_sigtramp_p, i386_svr4_sigtramp_p, i386_svr4_sigcontext_addr):
171 (i386_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders,
172 and frame_unwind_append_unwinder.
173 * amd64-linux-tdep.c, amd64-sol2-tdep.c, amd64fbsd-tdep.c,
174 amd64nbsd-tdep.c, amd64obsd-tdep.c, i386-linux-tdep.c,
175 i386-nto-tdep.c, i386bsd-tdep.c, i386-sol2-tdep.c, i386obsd-tdep.c,
176 i386nbsd-tdep.c: Update for unwinder changes.
180 * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame.
181 (trad_frame_cache_zalloc, trad_frame_alloc_saved_regs): Expect
183 (trad_frame_get_prev_register, trad_frame_get_register): Update signature.
184 * trad-frame.h (trad_frame_cache_zalloc, trad_frame_get_register)
185 (trad_frame_alloc_saved_regs, trad_frame_get_prev_register): Update
187 * tramp-frame.c (tramp_frame_cache, tramp_frame_start): Expect
189 (tramp_frame_this_id, tramp_frame_prev_register, tramp_frame_sniffer):
191 * tramp-frame.h (struct tramp_frame): Update signature of init.
192 * Makefile.in (trad-frame.o): Update.
196 * dwarf2-frame.c (read_reg): Expect this_frame in the baton.
197 (execute_stack_op): Put this_frame in the baton.
198 (execute_cfa_program): Take this_frame.
199 (struct dwarf2_frame_ops): Update comment for signal_frame_p.
200 (dwarf2_frame_default_init_reg, dwarf2_frame_init_reg)
201 (dwarf2_frame_signal_frame_p, dwarf2_frame_cache)
202 (dwarf2_frame_this_id): Adjust to work on this_frame.
203 (dwarf2_signal_frame_this_id): Delete.
204 (dwarf2_frame_prev_register): Update signature. Use new frame
206 (dwarf2_frame_sniffer): Update signature. Expect this_frame.
207 (dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add
208 dwarf2_frame_sniffer.
209 (dwarf2_append_unwinders): New.
210 (dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect
212 * sparc-tdep.c (sparc32_dwarf2_struct_return_p)
213 (sparc32_dwarf2_frame_init_reg): Expect this_frame.
214 * cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise.
215 * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise.
216 * s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise.
217 * sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise.
218 * sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise.
219 * dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration.
220 (dwarf2_append_unwinders): Declare.
221 (dwarf2_frame_base_sniffer): Update declaration.
222 * i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect
227 Convert frame unwinders to use the current frame and
230 * frame.c (frame_debug): Make global.
231 (get_frame_id): Pass this frame to unwinder routines.
232 (frame_pc_unwind): Remove unused unwind->prev_pc support.
233 (do_frame_register_read): Do not discard the return value of
235 (frame_register_unwind): Remove debug messages. Use
236 frame_unwind_register_value.
237 (frame_unwind_register_value, get_frame_register_value): New
239 (create_new_frame, get_frame_base_address, get_frame_locals_address)
240 (get_frame_args_address, get_frame_type): Pass this frame to
242 (frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New
244 * frame.h: Update comments.
245 (frame_debug, frame_unwind_register_value, get_frame_register_value)
246 (frame_prepare_for_sniffer): Declare.
247 * frame-unwind.h: Update comments and parameter names.
248 (default_frame_sniffer): Declare.
249 (frame_prev_register_ftype): Return a struct value *.
250 (struct frame_unwind): Remove prev_pc member.
251 (frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete.
252 (frame_unwind_append_unwinder, frame_unwind_got_optimized)
253 (frame_unwind_got_register, frame_unwind_got_memory)
254 (frame_unwind_got_constant, frame_unwind_got_address): Declare.
255 * frame-base.h: Update comments and parameter names.
256 * valops.c (value_fetch_lazy): Use get_frame_register_value. Iterate
257 if necessary. Add debugging output.
258 * sentinel-frame.c (sentinel_frame_prev_register)
259 (sentinel_frame_this_id): Update for new signature.
260 (sentinel_frame_prev_pc): Delete.
261 (sentinel_frame_unwinder): Remove prev_pc.
262 * ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize
264 * libunwind-frame.c (libunwind_frame_unwind): Likewise.
265 * frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer.
266 (frame_unwind_append_sniffer): Delete.
267 (frame_unwind_append_unwinder): New function.
268 (frame_unwind_find_by_frame): Take this frame. Only use sniffers
269 from unwinders. Use frame_prepare_for_sniffer.
270 (default_frame_sniffer, frame_unwind_got_optimized)
271 (frame_unwind_got_register, frame_unwind_got_memory)
272 (frame_unwind_got_constant, frame_unwind_got_address): New functions.
273 * dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id.
274 (dummy_frame_prev_register, dummy_frame_this_id): Update for new
276 * gdbarch.sh: Replace unwind_dummy_id with dummy_id.
277 * gdbarch.c, gdbarch.c: Regenerated.
278 * frame-base.c (default_frame_base_address)
279 (default_frame_locals_address, default_frame_args_address): Update
281 (frame_base_find_by_frame): Pass this frame to unwinder routines.
282 * infcall.c (call_function_by_hand): Update comments.
283 * Makefile.in (frame-unwind.o): Update dependencies.
287 * ada-lang.c (ada_value_primitive_packed_val): Only check
288 value_lazy for memory lvals.
289 * findvar.c (value_of_register_lazy): New function.
290 (locate_var_value): Only check value_lazy for memory lvals.
291 * valarith.c (value_subscripted_rvalue): Likewise.
292 * valops.c (value_fetch_lazy): Handle both memory and register
294 (search_struct_field, value_slice): Only check value_lazy for memory
296 * value.c (struct value): Update comment for lazy.
297 (value_primitive_field): Only check value_lazy for memory lvals.
298 * value.h (value_lazy): Update comment.
299 (value_of_register_lazy): Declare.
303 * corefile.c (reopen_exec_file): Close any open files.
307 * ia64-tdep.c (ia64_memory_remove_breakpoint): Set
308 show_memory_breakpoints to 1 while reading the instruction bundle.
312 * gdbarch.sh: Document the return_value method. Explain that
313 the FUNCTYPE parameter might be NULL.
314 * gdbarch.h: Regenerated.
315 * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
316 type when calling using_struct_return, as this is unnecessary
321 * terminal.h (create_tty_session): Fix return type.
325 * mi/mi-interp.c (mi_new_thread): Quote the thread id.
329 * breakpoint.c (condition_command, commands_from_control_command)
330 (break_command_really): Minor reformatting.
334 * dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp.
338 * amd64-tdep.c (amd64_get_longjmp_target): New.
339 (amd64_init_abi): Register amd64_get_longjmp_target as
340 gdbarch_get_longjmp_target callback.
341 * i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling.
345 * breakpoint.h (enum bpstat_what_main_action): Delete
346 BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE.
348 * breakpoint.c (clrs): Delete.
349 (bpstat_what): Update table.
351 * infrun.c (handle_inferior_event): Remove
352 BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling.
356 * mi/mi-cmds.h (mi_cmd_args_ftype): Remove.
357 Adjust all prototypes using mi_cmd_args_ftype to use
359 (struct mi_cmd): Remove the args_func field.
360 * mi/mi-cmds.c: Don't provide value for the args_func field.
361 * mi/mi-main.c (mi_execute_async_cli_command)
362 (mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction)
363 (mi_cmd_exec_step, mi_cmd_exec_step_instruction)
364 (mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return)
365 (mi_cmd_exec_continue, mi_cmd_exec_interrupt)
366 (mi_cmd_target_download): Adjust.
367 (mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter.
368 (mi_cmd_execute): Do not check for args_func.
369 (mi_execute_async_cli_command): Adjust.
370 * mi/mi-parse.c: Don't check for args_func.
374 * breakpoint.c (bpstat_check_location)
375 (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions):
376 New, extracted from bpstat_stop_status.
377 (bpstat_stop_status): Use the above.
381 * mi/mi-main.c (last_async_command): Rename to current_token.
382 (previous_async_command): Remove.
383 (mi_cmd_gdb_exit): Adjust.
384 (mi_cmd_exec_interrupt): Don't dance with previous_async_command.
385 (mi_cmd_target_select): Adjust.
386 (mi_cmd_execute): Don't set previous_async_command. Free token
387 here even in async mode.
388 (mi_execute_async_cli_command): Adjust.
389 (mi_exec_async_cli_cmd_continuation): Adjust. Do not free the
391 (mi_load_progress): Adjust.
395 * infcmd.c (step_1_continuation): Always disable longjmp
396 breakpoint if we're not going to do another step.
401 * breakpoint.c (until_break_command_continuation): Add
402 the 'error' parameter. Directly delete the breakoint as
403 opposed to running cleanups.
404 (until_break_command): Install continuation only
405 after starting the target. Don't use exec cleanups,
406 use ordinary cleanups. Discard cleanups is successfully
407 started the target in async mode.
408 (make_cleanup_delete_breakpoint): Remove.
409 * breakpoint.h (make_cleanup_delete_breakpoint): Remove
411 * defs.h (do_exec_cleanups, make_exec_cleanup): Remove
413 (struct continations): Add the 'error' parameter to the
414 continuation_hook field.
415 (add_continuation, do_all_continuations)
416 (add_intermediate_continuation)
417 (do_all_intermediate_continuations): Add the 'error' parameter.
418 * exceptions.c (throw_exception): Don't call do_exec_cleanups.
419 * inf-loop.c (inferior_event_handler): Instead of calling
420 discard_all_continuations, use do_all_continuations with 1 as
421 'error' parameter. Pass 0 as 'error' parameter in existing uses
422 of discard_all_continuations.
423 * infcmd.c (step_1): Do not use exec cleanup. For async case, discard
425 (step_once): Install continuation only after resuming the target.
426 (step_1_continuation): Disable longjmp breakpoint on error.
427 (finish_command_continuation): Add the error parameter. Delete
428 the finish breakpoint directly, do not use cleanups.
429 (finish_command): Do not use exec_cleanups. Always setup
430 continuation. For sync case, immediately run them.
431 (attach_command_continuation): Add the error parameter.
432 * infrun.c (fetch_inferior_event): Do not use exec cleanups to
433 remove step_resume_breakpoint -- adjust delete it directly.
434 * interps.c (interp_set): Adjust call to do_all_continations.
435 * mi/mi-interp.c (mi_interpreter_exec_continuation): Do not
437 * mi/mi-main.c (mi_cmd_target_select): Do not do exec
439 (mi_cmd_execute): Do not use exec_cleanup.
440 (mi_execute_async_cli_command): Simplify the string concatenation
441 logic. Do no use exec cleanup.
442 (mi_exec_async_cli_cmd_continuation): New parameter error.
443 Free last_async_command.
444 * top.c (command_line_handler_continuation): New parameter error.
445 * utils.c (exec_cleanup_chain, make_exec_cleanup)
446 (do_exec_cleanups): Remove.
447 (add_continuation, do_all_continations)
448 (add_intermediate_continuation)
449 (do_all_intermediate_continuations): New parameter error.
453 * breakpoint.h (bp_location_p): New typedef.
454 Register a vector of bp_location_p.
455 * breakpoint.c (always_inserted_mode)
456 (show_always_inserted_mode): New.
457 (unlink_locations_from_global_list): Remove.
458 (update_global_location_list)
459 (update_global_location_list_nothrow): New.
460 (update_watchpoint): Don't free locations.
461 (should_insert_location): New.
462 (insert_bp_location): Use should_insert_location.
463 (insert_breakpoint_locations): Copied from
465 (insert_breakpoint): Use insert_breakpoint_locations.
466 (bpstat_stop_status): Call update_global_location_list
467 when disabling breakpoint.
468 (allocate_bp_location): Don't add to bp_location_chain.
470 (create_longjmp_breakpoint, enable_longjmp_breakpoint)
471 (disable_longjmp_breakpoint, create_overlay_event_breakpoint)
472 (enable_overlay_breakpoints, disable_overlay_breakpoints)
473 (set_longjmp_resume_breakpoint)
474 (enable_watchpoints_after_interactive_call_stop)
475 (disable_watchpoints_before_interactive_call_start)
476 (create_internal_breakpoint)
477 (create_fork_vfork_event_catchpoint)
478 (create_exec_event_catchpoint, set_momentary_breakpoint)
479 (create_breakpoints, break_command_1, watch_command_1)
480 (create_exception_catchpoint)
481 (handle_gnu_v3_exceptions)
482 (disable_breakpoint, breakpoint_re_set_one)
483 (create_thread_event_breakpoint, create_solib_event_breakpoint)
484 (create_ada_exception_breakpoint): : Don't call check_duplicates.
485 Call update_global_location_list.
486 (delete_breakpoint): Don't remove locations and don't
487 try to reinsert them. Call update_global_location_list.
488 (update_breakpoint_locations): Likewise.
489 (restore_always_inserted_mode): New.
490 (update_breakpoints_after_exec): Temporary disable
491 always inserted mode.
492 * Makefile.in: Update dependencies.
494 * infrun.c (proceed): Remove breakpoints while stepping
496 (handle_inferior_event): Don't remove or insert
498 * linux-fork.c (checkpoint_command): Remove breakpoints
499 before fork and insert after.
500 (linux_fork_context): Remove breakpoints before switch
502 * target.c (target_disconnect, target_detach): Remove
503 breakpoints from target.
508 * breakpoint.c (print_one_breakpoint_location): In MI
509 mode, report the location string the breakpoint was
510 originally created with.
514 * Makefile.in (xtensa-tdep.o): Update dependencies.
515 * configure.tgt (xtensa*): Update dependencies.
516 * xtensa-tdep.c (arreg_number): Renamed from areg_number.
517 Local variable areg renamed to arreg.
518 (areg_number): New function.
519 (xtensa_pseudo_register_read, xtensa_pseudo_register_write)
520 (xtensa_extract_return_value, xtensa_store_return_value): areg_number
521 replaced by arreg_number.
522 (xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments.
523 (xtensa_alloc_frame_cache): Initialize cache->wd.ws.
524 (xtensa_scan_prologue): New function.
525 (xtensa_frame_cache): New local fp_regnum. Handle separately the case,
526 when ENTRY instraction hasn't been executed yet. Get the frame pointer
527 value based on prologue analysis. Fix the bugs preventing WS and
528 AR4-AR7/A11 registers from getting right values for intermediate frames,
529 whose registers have been already spilled.
530 (xtensa_frame_prev_register): Fix WS register value. Use are_number
531 and arreg_number appropriately.
532 (xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
533 svr4_ilp32_fetch_link_map_offsets.
537 * printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW.
538 (printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
542 * acinclude.m4: Add override.m4.
543 * configure: Regenerate.
547 * ada-lang.c (get_selections): Variable PROMPT made non-const and
548 initialized with a trailing space now. Use PROMPT_ARG of
549 COMMAND_LINE_INPUT instead of printing it ourselves.
553 * NEWS: Document support for 64-bit core file.
557 * NEWS: Add information on calling convention and new SH CLI options.
559 * sh-tdep.c (sh_cc_gcc): New static string.
560 (sh_cc_renesas): Ditto.
561 (sh_cc_enum): New static string array.
562 (sh_active_calling_convention): New static string pointer denoting
563 active user chosen ABI.
564 (sh_is_renesas_calling_convention): New function to return function
565 specific ABI, or user choice if necessary.
566 (sh_use_struct_convention): Rename first argument and turn around its
567 meaning. Check for renesas ABI and return accordingly.
568 (sh_use_struct_convention_nofpu): New function.
569 (sh_next_flt_argreg): Get function type as third parameter. Check
570 for renesas ABI and choose floating registers accordingly.
571 (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and
572 struct return slot accordingly.
573 (sh_push_dummy_call_nofpu): Ditto.
574 (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here.
575 Evaluate ABI and give to sh_use_struct_convention_nofpu.
576 (sh_return_value_fpu): Evaluate ABI and give to
577 sh_use_struct_convention.
578 (show_sh_command): New function.
579 (set_sh_command): Ditto.
580 (_initialize_sh_tdep): Initialize `set/show sh calling-convention
583 * gdbarch.sh (return_value): Add func_type argument.
584 * gdbarch.c: Regenerate.
586 * eval.c (evaluate_subexp_standard): Rename local variable value_type to
587 val_type so as not to collide with value_type function. Call
588 using_struct_return with additional function type argument.
589 * infcall.c (call_function_by_hand): Call using_struct_return and
590 gdbarch_return_value with additional function type argument.
591 * infcmd.c (print_return_value): Take addition func_type argument.
592 Call gdbarch_return_value with additional function type argument.
593 (finish_command_continuation): Call print_return_value with additional
594 function type argument.
595 (finish_command): Ditto.
596 * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with
597 additional function type argument.
598 * stack.c (return_command): Call using_struct_return and
599 gdbarch_return_value with additional function type argument.
600 * value.c (using_struct_return): Take additional function type argument.
601 * value.h (using_struct_return): Accommodate declaration.
602 * alpha-tdep.c (alpha_return_value): Add func_type argument.
603 * amd64-tdep.c (amd64_return_value): Ditto.
604 * arm-tdep.c (arm_return_value): Ditto.
605 * avr-tdep.c (avr_return_value): Ditto.
606 * cris-tdep.c (cris_return_value): Ditto.
607 * frv-tdep.c (frv_return_value): Ditto.
608 * h8300-tdep.c (h8300_return_value): Ditto.
609 (h8300h_return_value): Ditto.
610 * hppa-tdep.c (hppa32_return_value): Ditto.
611 (hppa64_return_value): Ditto.
612 * i386-tdep.c (i386_return_value): Ditto.
613 * ia64-tdep.c (ia64_return_value): Ditto.
614 * iq2000-tdep.c (iq2000_return_value): Ditto.
615 * m32c-tdep.c (m32c_return_value): Ditto.
616 * m32r-tdep.c (m32r_return_value): Ditto.
617 * m68hc11-tdep.c (m68hc11_return_value): Ditto.
618 * m68k-tdep.c (m68k_return_value): Ditto.
619 (m68k_svr4_return_value): Ditto.
620 * m88k-tdep.c (m88k_return_value): Ditto.
621 * mep-tdep.c (mep_return_value): Ditto.
622 * mips-tdep.c (mips_eabi_return_value): Ditto.
623 (mips_n32n64_return_value): Ditto.
624 (mips_o32_return_value): Ditto.
625 (mips_o64_return_value): Ditto.
626 * mn10300-tdep.c (mn10300_return_value): Ditto.
627 * mt-tdep.c (mt_return_value): Ditto.
628 * ppc-linux-tdep.c (ppc_linux_return_value): Ditto.
629 * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto.
630 (ppc_sysv_abi_broken_return_value): Ditto.
631 (ppc64_sysv_abi_return_value): Ditto.
632 * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
633 (ppc_sysv_abi_broken_return_value): Ditto.
634 (ppc64_sysv_abi_return_value): Ditto.
635 * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
636 * rs6000-tdep.c (rs6000_return_value): Ditto.
637 * s390-tdep.c (s390_return_value): Ditto.
638 * score-tdep.c (score_return_value): Ditto.
639 * sh-tdep.c (sh_return_value_nofpu): Ditto.
640 (sh_return_value_fpu): Ditto.
641 * sh64-tdep.c (sh64_return_value): Ditto.
642 * sparc-tdep.c (sparc32_return_value): Ditto.
643 * sparc64-tdep.c (sparc64_return_value): Ditto.
644 * spu-tdep.c (spu_return_value): Ditto.
645 * v850-tdep.c (v850_return_value): Ditto.
646 * vax-tdep.c (vax_return_value): Ditto.
647 * xstormy16-tdep.c (xstormy16_return_value): Ditto.
648 * xtensa-tdep.c (xtensa_return_value): Ditto.
650 * gdbtypes.h (struct type): Add calling_convention member.
651 * dwarf2read.c (read_subroutine_type): Add calling convention read
652 from DW_AT_calling_convention attribute to function type.
656 * eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for
657 multi_f77_subscript to support values from registers.
658 * valarith.c (value_subscripted_rvalue): Remove prototype and static.
659 * value.h (value_subscripted_rvalue): Add prototype.
661 * f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION.
663 * f-valprint.c (f_val_print): Likewise.
667 * dwarf2read.c (zlib_decompress_section): Define abfd in the
672 * symfile.c (syms_from_objfile): Don't warn if lowest loadable
673 section is not a code section.
677 * NEWS: Add information on compressed debug sections.
681 * mi/mi-cmd-var.c (varobj_update_one): Print new
682 value for variable objects that changed type.
686 * varobj.c (varobj_invalidate): Don't touch floating
691 * symtab.c: (multiple_symbols_modes, multiple_symbols_ask)
692 (multiple_symbols_cancel): Remove extra const.
693 * symtab.h: Likewise.
697 * interps.c (top_level_interpreter): Rename static variable...
698 (top_level_interpreter_ptr): ...to this.
699 (top_level_interpreter): New function.
701 * interps.h: New extern for top_level_interpreter.
703 * linespec.c: Include interps.h and mi/mi-cmds.h.
704 (decode_line_2): When using MI, always set all breakpoints in menu.
706 * Makefile.in (linespec.o, mi-interp.o): Add dependencies.
710 * configure.ac (AC_SEARCH_LIBS): Add check for zlib.
711 * config.in, configure: Regenerate.
712 * dwarf2read.c: Include zlib.h if present.
713 Modified *_SECTION macros.
715 (dwarf2_locate_sections): Use section_is_p instead of strcmp
716 (dwarf2_resize_section): New.
717 to determine whether a given section has a given name.
718 (zlib_decompress_section): New.
719 (dwarf2_read_section): Read the compressed section if present
721 * MAINTAINERS: Added myself to section Write After Approval.
725 * defs.h (exec_set_section_offsets): Remove prototype.
726 * exec.c (exec_set_section_offsets): Remove function.
730 * stabsread.c (cleanup_undefined_types_1): Add instance flags check
731 in the search for the matching symbol.
735 * breakpoint.c (update_watchpoint): Always reparse
740 * breakpoint.c (print_one_breakpoint_location): Make sure to print
741 the breakpoint address only once.
745 * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture,
746 rather than a hard-coded architecture, for xcoff executables.
750 * buildsym.c (watch_main_source_file_lossage): New fn.
751 (end_symtab): Call it.
753 * source.c (find_and_open_source): Add some comments clarifying
754 handling of FULLNAME argument. Make static. Remove pointless
759 * inf-loop.c (inferior_event_handler): Also run the intermediate
760 continuations in the INF_EXEC_COMPLETE case.
764 * cli/cli-decode.h (CMD_ASYNC_OK): New define.
765 (set_cmd_async_ok, get_cmd_async_ok): Declare.
766 * cli/cli-decode.c (set_cmd_async_ok): New function.
767 (get_cmd_async_ok): New function.
768 * cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and
770 * top.c (execute_command): Use get_cmd_async_ok.
771 * infcmd.c: Include cli/cli-decode.h.
772 (_initialize_infcmd): Mark "interrupt" as async-ok.
773 * Makefile.in (infcmd.o): Depend on cli_decode_h.
778 * exec.c: Correct "arch-utils.h" include.
783 * infrun.c (normal_stop) Move breakpoint_auto_delete further down
784 to allow printing to 'see' real reason of stop. This fixes PR 2424.
785 * breakpoint.c (bpdisp_texst): New function. The function takes over
786 the role of bpstats static array in print_one_breakpoint_location.
787 (print_it_typical): Print "Temporary breakpoint" instead
788 of just "Breakpoint" when breakpoint is, well, temporary. For mi-like
789 protocols, print disp field.
790 (print_one_breakpoint_location): Removed bpdisps static definition.
791 Call new bpstat_text function to get value for 'disp' field.
792 (mention): Print "Temporary breakpoint" instead of just "Breakpoint".
796 * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4,
797 gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust
798 by rerunning gnulib-tool with --aux-dir=gnulib/extra.
799 * gnulib/Makefile.in: Regenerate.
803 * Makefile.in (GNULIB_H): New. Trigger all-lib.
804 (defs_h): Use $(GNULIB_H).
805 (all-lib): Depend on gnulib/Makefile.
806 (gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps.
807 * config.in, gnulib/Makefile.in: Regenerated.
811 * Makefile.in (LIBGNU, INCGNU): Define.
812 (INTERNAL_CFLAGS_BASE): Add INCGNU.
813 (INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU.
815 ($(LIBGNU), all-lib): New rules.
816 (clean, distclean, do-maintainer-clean): Use CLEANDIRS.
817 * configure.ac: Use gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE.
818 Simplify AC_CONFIG_AUX_DIR. Generate gnulib/Makefile.
819 * gnulib: New directory, from gnulib-tool.
820 * configure, aclocal.m4: Regenerated.
824 * linux-thread-db.c (have_threads_callback): Check thread->private.
830 * varobj.c (value_of_root): Update the expression for
832 * mi/mi-cmd-var.c (varobj_update_one): If type has changed,
837 * mi/mi-cmd-var.c: Include "mi-getopt.h".
838 (mi_parse_format): New. Factored out from mi_cmd_var_set_format.
839 (mi_cmd_var_set_format): Use new mi_parse_format.
840 (mi_cmd_var_evaluate_expression): Support for -f option to specify
842 * Makefile.in (mi-cmd-var.o): Update dependencies.
844 * varobj.h (varobj_get_formatted_value): Declare.
845 * varobj.c (my_value_of_variable): Added format parameter.
846 (cplus_value_of_variable): Likewise.
847 (java_value_of_variable): Likewise.
848 (c_value_of_variable): Likewise. Evaluate expression based
850 (struct language_specific): Add format parameter to function member
852 (varobj_get_formatted_value): New.
853 (varobj_get_value): Added format parameter to method call.
857 * stabsread.c (cleanup_undefined_types_noname): Manually set the
858 instance flags of the undefined type before calling replace_type.
862 * target.h (enum strata): Remove the download_stratum.
866 * buildsym.h (last_source_file): Add dwarf info to comment.
867 (last_source_start_addr): Ditto.
871 * alphanbsd-tdep.c: Include "target.h".
872 * mn10300-tdep.c: Include "target.h".
873 * Makefile.in (alphanbsd-tdep.o, mn10300-tdep.o): Update.
877 Fix breakpoint condition that use member variables.
878 * valops.c (check_field): Remove.
879 (check_field_in): Rename to check_field.
880 (value_of_this): Use la_name_of_this.
881 * value.h (check_field): Adjust prototype.
883 * language.h (la_value_of_this): Rename to la_name_of_this.
884 * language.c (unknown_language_defn): Specify "this" for
886 (auto_language_defn): Likewise.
887 (local_language_defn): Likewise.
888 * ada-lang.c (ada_language_defn): Adjust comment.
889 * c-lang.c (c_language_defn): Adjust comment.
890 (cplus_language_defn): Specify "this" for name_of_this.
891 (asm_language_defn): Adjust comment.
892 (minimal_language_defn): Adjust comment.
893 * f-lang.c (f_language_defn): Specify NULL for name_of_this.
894 * jv-lang.c (java_language_defn): Specify "this" for name_of_this.
895 * m2-lang.c (m2_language_defn): Specify "this" for name_of_this.
896 * objc-lang.c (objc_language_defn): Specify "self" for
898 * p-lang.c (pascal_language_defn): Specify "this" for
900 * scm-lang.c (scm_language_defn): Specify NULL for name_of_this.
902 * symtab.c (lookup_symbol_aux): Lookup "this" in the
903 proper scope, and check for field in type of "this", without
904 trying to create a value.
908 * mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR.
909 (mi_error_message): Delete declaration.
910 * mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of
911 returning MI_CMD_ERROR.
912 * mi/mi-main.c (mi_error_message): Delete.
913 (mi_cmd_exec_interrupt):
914 (mi_cmd_thread_select, mi_cmd_thread_list_ids)
915 (mi_cmd_thread_info): Call error instead of returning
917 (mi_cmd_data_list_register_values): Call error instead of
918 returning MI_CMD_ERROR. Adapt to new get_register interface.
919 (get_register): Change return typo to void. Call error instead of
920 returning MI_CMD_ERROR.
921 (mi_cmd_data_write_register_values): Call error instead of
922 returning MI_CMD_ERROR.
923 (mi_cmd_list_features): Return MI_CMD_DONE.
924 (captured_mi_execute_command): Remove MI_CMD_ERROR handling.
925 (mi_execute_command): Always print exceptions with -error.
929 * NEWS: Mention new commands set/show multiple-symbols.
933 * symtab.c (multiple_symbols_ask, multiple_symbols_all)
934 (multiple_symbols_cancel): New constants.
935 (multiple_symbols_modes, multiple_symbols_mode): New static globals.
936 (multiple_symbols_select_mode): New function.
937 (_initialize_symtab): Add new set/show multiple-symbols commands.
938 * symtab.h (multiple_symbols_ask, multiple_symbols_all)
939 (multiple_symbols_cancel, multiple_symbols_select_mode): Declare.
940 * ada-lang.c (user_select_syms): Add handling of new multiple-symbols
942 * linespec.c (decode_line_2): Likewise.
946 * symtab.h (enum free_code): Delete free_contents, unused.
947 * symmisc.c (free_symtab_block): Delete.
948 (free_symtab, case free_code): Delete.
952 * valops.c (value_cast_structs): New function. Cast related
953 STRUCT types up/down and return cast value. The body of this
954 function comes mostly from value_cast_pointers.
955 (value_cast_pointers): Code for actual cast STRUCT-STRUCT moved
956 to value_cast_structs. Now value_cast_pointers needs only create
957 appropriate reference after using value_cast_structs for actual
959 (value_cast): Handle references.
963 * MAINTAINERS: Added myself to section Write After Approval.
967 * ia64-tdep.c (examine_prologue): Correct array access.
971 * cp-support.c (first_component_command): Return if no arguments.
975 * ser-mingw.c (ser_windows_open): Open requested name.
979 * MAINTAINERS: Added myself.
983 * target.c (find_default_run_target): Allow a NULL `do_mesg'
984 parameter. If it is NULL, don't call error.
985 (find_default_can_async_p, find_default_is_async_p): Pass NULL as
986 `do_mesg' parameter to find_default_run_target. If no target was
991 * mips-linux-tdep.c: Update N32/N64 signal frame comments.
992 (N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update.
993 (N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR):
995 (mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr.
1003 * features/Makefile (%.dat): Set xmltarget to the base filename
1004 of the XML source, without subdirectory.
1005 * regformats/rs6000/powerpc-32.dat: Regenerate.
1006 * regformats/rs6000/powerpc-64.dat: Regenerate.
1007 * regformats/rs6000/powerpc-e500.dat: Regenerate.
1011 * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by
1016 * mi/mi-main.c (enum captured_mi_execute_command_actions):
1017 Spell suppress in EXECUTE_COMMAND_SUPPRESS_PROMPT correctly.
1021 * objfiles.h (struct objfile): New GDBARCH member.
1022 (get_objfile_arch): Add prototype.
1023 * objfiles.c: Include "arch-utils.h".
1024 (allocate_objfile): Look up gdbarch associated with bfd.
1025 (get_objfile_arch): New function.
1026 * Makefile (objfiles.o): Update dependencies.
1028 * dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch
1030 * dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch
1032 (locexpr_describe_location): Replace current_gdbarch by
1034 * dwarf2read.c (die_type): Replace current_gdbarch by objfile arch.
1035 (dwarf2_add_field): Likewise.
1036 (read_tag_pointer_type): Likewise.
1037 (read_base_type): Likewise.
1038 (new_symbol): Likewise.
1040 * coffread.c (decode_type): Add OBJFILE argument. Update callers.
1041 (decode_base_type, decode_function_type): Likewise.
1042 (coff_read_struct_type, coff_read_enum_type): Likewise.
1043 (coff_symtab_read): Replace current_gdbarch by objfile arch.
1044 (decode_base_type): Likewise.
1045 (coff_read_enum_type): Likewise.
1046 (coff_read_struct_type): Replace current_objfile by OBJFILE argument.
1047 (coff_read_enum_type): Likewise.
1049 * dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch.
1050 (end_psymtab): Likewise.
1051 (process_one_symbol): Likewise.
1053 * mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch.
1054 (parse_procedure): Likewise.
1055 (parse_partial_symbols): Likewise.
1057 * somread.c (som_symtab_read): Replace current_gdbarch by objfile arch.
1059 * stabsread.c (define_symbol): Replace current_gdbarch by objfile arch.
1060 Replace static pcc_promotion_type and pcc_unsigned_promotion_type by
1062 (read_range_type): Replace current_gdbarch by objfile arch. Replace
1063 static range_index_type by built-in type.
1064 (read_one_struct_field): Replace current_gdbarch by objfile arch.
1065 (read_enum_type): Likewise.
1067 * xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by
1072 * varobj.h (varobj_floating_p): Declare.
1073 * varobj.c (varobj_floating_p): New.
1074 * mi/mi-cmd-var.c (mi_cmd_var_update): When passed
1075 '@' as the name, update all floating varobjs.
1079 * varobj.c (struct varobj_root): Rename use_selected_frame to
1080 floating, and clarify the meaning.
1081 (varobj_create, varobj_update, new_root_variable): Adjust.
1082 (value_of_root): Don't use type_changed as in variable,
1084 (c_value_of_root): Adjust.
1088 * linux-nat.c (linux_nat_attach): Add the pid we attached to, to
1090 (linux_nat_wait): Add main lwp to gdb's thread list.
1091 * linux-thread-db.c (find_new_threads_callback): Also attach to
1092 already listed threads which thread_db didn't know about yet.
1096 * linux-nat.c (drain_queued_events): Fix comment typo.
1097 (linux_nat_attach): In async mode, don't rely on storing a pending
1098 status. Instead place the wait status on the pipe.
1099 (linux_nat_resume): Remove unreacheable shortcut code in async
1101 (stop_wait_callback): In async mode, don't store pending status.
1102 Instead, cancel breakpoints or resend the signal appropriatelly.
1103 (cancel_breakpoint): New, refactored from
1104 cancel_breakpoints_callback.
1105 (cancel_breakpoints_callback): Call cancel_breakpoint.
1106 (pipe_to_local_event_queue): Remove special token processing.
1107 (linux_nat_wait): Issue an internal error if a pending status is
1108 found in async mode.
1112 * inflow.c (gdb_has_a_terminal): Guard access to our_process_group.
1117 * varobj.c (struct varobj_root): New component thread_id.
1118 (varobj_get_thread_id, check_scope): New functions.
1119 (c_value_of_root): Use check_scope. Switch to the
1120 proper thread if necessary.
1122 * varobj.h (varobj_get_thread_id): New extern.
1124 * mi/mi-cmd-var.c (print_varobj): Add thread-id field.
1129 * top.c: Revert 2008-03-21 changes.
1133 * thread.c (make_cleanup_restore_current_thread): Make it
1135 * gdbthread.h (make_cleanup_restore_current_thread): Declare.
1136 * varobj.c (varobj_update): Don't save/restore frame.
1137 (c_value_of_root): Save/restore thread and frame here,
1138 using make_cleanup_restore_current_thread.
1139 * Makefile.in: Update dependecies.
1143 * varobj.c (struct varobj_root): Clarify
1144 comment on the frame field.
1145 (varobj_create): Don't set frame if we have no
1151 Suggested by Jan Kratochvil:
1152 * top.c (gdb_rl_operate_and_get_next_completion): Call
1153 rl_redisplay_function.
1154 (gdb_rl_redisplay): New.
1155 (init_main): Set rl_redisplay_function.
1159 * aix-thread.c (pdc_read_regs): Fix compiler warning.
1160 (pdc_write_regs, aix_thread_resume, fetch_regs_kernel_thread)
1161 (store_regs_kernel_thread): Likewise.
1165 Linux native async support.
1167 * target.h (struct target_ops): Delete to_async_mask_value and add
1169 (target_is_async_p, target_async): Formatting.
1170 (target_async_mask_value): Delete.
1171 (target_async_mask): Delete function declaration, and add new
1172 target macro with the same name.
1174 * target.c (update_current_target): Replace to_async_mask_value by
1175 to_async_mask. Default to_async_mask to return_one.
1176 (target_async_mask): Delete.
1177 (find_default_can_async_p, find_default_is_async_p): New.
1178 (init_dummy_target): register find_default_can_async_p and
1179 find_default_is_async_p on the dummy target.
1181 * linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h.
1182 (debug_linux_nat_async): New global.
1183 (show_debug_linux_nat_async): New function.
1184 (linux_nat_async_enabled, linux_nat_async_mask_value)
1185 (linux_nat_event_pipe, linux_nat_num_queued_events)
1186 (linux_nat_async_events_enabled): New globals.
1187 (struct waitpid_result): New struct.
1188 (waitpid_queue): New global.
1189 (queued_waitpid, push_waitpid, drain_queued_events): New.
1190 (my_waitpid): Call queued_waitpid.
1191 (linux_child_follow_fork): Disable async events during the call.
1192 (blocked_mask): Delete.
1193 (sync_sigchld_action, async_sigchld_action): New globals.
1194 (lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD. In
1195 async mode, block events during the call.
1196 (linux_nat_create_inferior): New.
1197 (linux_nat_attach): In sync mode, restore the mask states. In
1198 async mode, wake the event loop immediatelly.
1199 (detach_callback): Drain all queued events of the lwp we're
1201 (linux_nat_detach): Block async mode, and drain events of the main
1203 (linux_nat_resume): If in async mode, mask async events during the
1204 call. If short circuiting, force event loop to wake up. If
1205 resuming, set target_executing, and register target events in the
1207 (pipe_to_local_event_queue, local_event_queue_to_pipe): New.
1208 (linux_nat_wait): In async mode, block events during the call.
1209 Only enable/disable passing SIGINT to the inferior in sync mode.
1210 Get events from local waitpid queue. If no interesting events was
1211 found, return to events loop. Reregister target events in the
1212 event loop on exit. In sync mode, no need to reblock SIGCHLD.
1213 (linux_nat_kill): Disable events on entry.
1214 (linux_nat_mourn_inferior): In sync mode, don't restore the masks
1215 here. Detach async mode from the event loop if there are no more
1216 forks available, otherwise leave it on.
1217 (sigchld_handler): Assure this is called only in sync mode.
1218 (linux_async_permitted, linux_async_permitted_1): New globals.
1219 (set_maintenance_linux_async_permitted)
1220 (show_maintenance_linux_async_permitted): New functions.
1221 (linux_nat_is_async_p, linux_nat_can_async_p)
1222 (linux_nat_async_mask): New.
1223 (linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New.
1224 (get_pending_events, async_sigchld_handler): New.
1225 (linux_nat_async_events): New.
1226 (async_terminal_is_ours): New global.
1227 (linux_nat_terminal_inferior, linux_nat_terminal_ours): New.
1228 (async_client_callback, async_client_context): New.
1229 (linux_nat_async_file_handler, linux_nat_async)
1230 (linux_nat_disable_async, linux_nat_enable_async): New.
1231 (linux_nat_add_target): Register linux_nat_create_inferior,
1232 linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async,
1233 linux_nat_async_mask, linux_nat_terminal_inferior and
1234 linux_nat_terminal_ours.
1235 (_initialize_linux_nat): Remove local action variable, and update
1236 code that used it to use sync_sigchld_action. Add new
1237 "lin-lwp-async" debug set/show command. Put the "lin-lwp" debug
1238 set/show command in the maintenance class. Add new "linux-async"
1239 maintenance set/show command. Block SIGCHLD by default. Setup
1240 async_sichld_action, and sync_sigchld_action. Install the default
1242 (lin_thread_get_thread_signals): Use a local sigset_t for blocking
1245 * linux-thread-db.c (re_check_for_thread_db): New.
1246 (clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE.
1247 (thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
1248 (thread_db_async_mask): New.
1249 (init_thread_db_ops): Register thread_db_can_async_p,
1250 thread_db_is_async_p, thread_db_async and thread_db_async_mask.
1252 * remote.c (remote_async_mask_value): New.
1253 (remote_return_zero): New.
1254 (init_remote_ops): Register remote_return_zero as callbacks of
1255 to_can_async_p and to_is_async_p.
1256 (remote_can_async_p, remote_is_async_p, remote_async): Update to
1257 use remote_async_mask_value.
1258 (remote_async_mask): New.
1259 (init_remote_async_ops): Remove to_async_mask_value setting and
1260 register remote_async_mask as to_async_mask callback in
1263 * Makefile.in (linux-nat.o): Update.
1267 * gdbthread.h (add_thread_with_info): New.
1268 * linux-thread-db.c: Add some documentation.
1269 (GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete.
1270 (struct private_thread_info): Remove th_valid and ti_valid.
1271 Replace ti with tid.
1272 (thread_get_info_callback): Do not add TID to the new ptid. Do
1274 (thread_db_map_id2thr, lwp_from_thread): Delete functions.
1275 (thread_from_lwp): Assert that the LWP is set. Do not add TID to the
1277 (attach_thread): Handle an already-existing thread. Use
1278 add_thread_with_info. Cache the th and tid.
1279 (detach_thread): Verify that private was set. Remove verbose
1280 argument and printing. Update caller.
1281 (thread_db_detach): Do not adjust inferior_ptid.
1282 (clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete.
1283 (check_event, find_new_threads_callback): Do not add TID to the new PTID.
1284 (thread_db_wait): Do not use lwp_from_thread.
1285 (thread_db_pid_to_str): Use the cached TID.
1286 (thread_db_extra_thread_info): Check that private is set.
1287 (same_ptid_callback): Delete.
1288 (thread_db_get_thread_local_address): Do not use it or check
1289 is_thread. Check that private is set. Assume that the thread
1290 handle is already cached.
1291 (init_thread_db_ops): Remove to_resume and to_kill.
1292 * thread.c (add_thread_with_info): New.
1293 (add_thread): Use it.
1294 * linux-nat.c (find_thread_from_lwp): Delete.
1295 (exit_lwp): Do not use it. Check print_thread_events. Print before
1296 deleting the thread.
1297 (GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to...
1298 * linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here.
1299 * inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and
1300 printf_unfiltered for thread exits.
1301 * procfs.c (procfs_wait): Likewise.
1305 * symtab.c (rbreak_command): Quote symbol name before passing
1306 it to break_command.
1310 * eval.c (evaluate_subexp_for_address): Clarify error message.
1311 Use value_must_coerce_to_target.
1312 * infcall.c (value_arg_coerce): Call value_coerce_to_target.
1313 * valops.c (value_assign): Call value_coerce_to_target when
1314 assigning to anything but internalvars. Leave GDB-side arrays
1315 as arrays when assigning to internalvars.
1316 (value_must_coerce_to_target, value_coerce_to_target): New.
1317 (value_coerce_array, value_addr): Call value_coerce_to_target.
1318 (value_array): Create the array in GDB's memory instead of
1320 * value.h (value_must_coerce_to_target, value_coerce_to_target):
1325 * top.c (quit_confirm): Warn that we will kill the program.
1329 * inflow.c (terminal_ours_1): Guard access to
1330 inferior_process_group with #ifdef PROCESS_GROUP_TYPE.
1336 * dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member.
1337 (dwarf2_read_address): Update prototype.
1339 * dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter.
1340 (signed_address_type): Likewise.
1341 (dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE.
1342 (execute_stack_op): Update calls to unsigned_address_type,
1343 signed_address_type and dwarf2_read_address. Fix implementation
1344 of DW_OP_deref_size.
1346 * dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype.
1347 (dwarf2_per_cu_addr_size): Likewise.
1348 (struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU.
1349 (struct dwarf2_loclist_baton): Likewise.
1351 * dwarf2loc.c (find_location_expression): Update calls to
1352 dwarf2_read_address. Use dwarf2_per_cu_objfile and
1353 dwarf2_per_cu_addr_size to retrieve PER_CU parameters.
1354 (locexpr_describe_location): Likewise.
1355 (dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter.
1356 Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu).
1357 (dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size
1358 to dwarf2_per_cu_addr_size (per_cu).
1359 (locexpr_read_variable): Update dwarf2_evaluate_loc_desc call.
1360 (loclist_read_variable): Likewise.
1361 (locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call.
1363 * dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu
1364 instead of baton->objfile.
1365 (dwarf2_per_cu_obfile): New function.
1366 (dwarf2_per_cu_addr_size): Likewise.
1368 * dwarf2-frame.c (struct comp_unit): Move higher.
1369 (struct dwarf2_cie): Add UNIT and ADDR_SIZE members.
1370 (execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size.
1371 (execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P
1372 parameter by using fde->eh_frame_p. Use read_encoded_value
1373 to implement DW_CFA_set_loc.
1374 (struct dwarf2_frame_cache): Add ADDR_SIZE member.
1375 (dwarf2_frame_cache): Set cache->addr_size. Update calls to
1376 execute_stack_op and execute_cfa_program.
1377 (dwarf2_frame_prev_register): Update calls to execute_stack_op.
1378 (size_of_encoded_value): Remove.
1379 (read_encoded_value): Add PTR_LEN and FUNC_BASE parameters.
1380 Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel.
1381 (add_cie): Set cie->unit backlink.
1382 (decode_frame_entry_1): Set cie->addr_size. Update calls to
1384 (dwarf2_build_frame_info): Allocate UNIT on objfile obstack.
1388 * i386-tdep.c (i386_print_insn): Remove unnecessary call to
1389 gdbarch_bfd_arch_info.
1393 * aix-thread.c (pdc_read_regs): Minor reformatting.
1397 * thread.c (print_thread_info): Don't insist
1398 on having current thread if there are no
1403 * infcmd.c (attach_command_post_wait)
1404 (attach_command_continuation): New.
1405 (attach_command): Support background async execution, and async
1406 execution in synchronous mode.
1410 * stack.c (print_stack_frame, print_frame): Use RETURN_MASK_ERROR.
1411 * symmisc.c (dump_symtab_1): Likewise.
1412 * wrapper.c (gdb_value_struct_elt): Likewise.
1416 * linux-nat.c (linux_nat_filter_event): Fix comment typo.
1420 * linux-nat.c (linux_nat_filter_event): New, refactored from
1422 (linux_nat_wait): Call linux_nat_filter_event.
1426 * top.c (execute_command): Fix uninitialized variable error.
1430 * Makefile.in (amd64nbsd-nat.o): New dependency.
1431 * amd64nbsd-nat.c: Include "nbsd-nat.h".
1432 (_initialize_amd64nbsd_nat): Update target vector to use
1433 nbsd_pid_to_exec_file.
1434 * config/i386/nbsd64.mh (NATDEPFILES): Add nbsd-nat.o.
1438 Remove ignoring leading exec events code.
1439 * fork-child.c (startup_inferior): Do not set
1440 inferior_ignoring_leading_exec_events.
1441 * inf-child.c (inf_child_reported_exec_events_per_exec_call): Remove.
1442 (inf_child_target): Do not set to_reported_exec_events_per_exec_call.
1443 * infrun.c (inferior_ignoring_leading_exec_events): Remove.
1444 (handle_inferior_event): Remove code for ignoring leading exec
1446 * target.c (update_current_target): Do not inherit, or default,
1447 to_reported_exec_events_per_exec_call.
1448 (debug_to_reported_exec_events_per_exec_call): Remove.
1449 (setup_target_debug): Do not set to_reported_exec_events_per_exec_call.
1450 * target.h (target_reported_exec_events_per_exec_call): Remove.
1451 (struct target): Remove the to_reported_exec_events_per_exec_call
1456 Implement -thread-info.
1457 * gdbthread.h (print_thread_info): Declare.
1459 * thread.c (print_thread_info): New, extracted
1460 from info_threads_command and adjusted to
1461 work for CLI and MI.
1462 (info_threads_command): Use print_thread_info.
1463 * Makefile.in: Update dependencies.
1465 * mi/mi-cmds.c (mi_cmds): Specify a handler
1467 * mi/mi-cmds.h (mi_cmd_thread_info): Declare.
1468 * mi/mi-main.c (mi_cmd_thread_info): New.
1469 (mi_cmd_list_features): Include 'thread-info'.
1473 * mips-tdep.c (mips32_scan_prologue): Use the ABI register size
1474 to decide whether to match instruction patterns using "sw" and "sd".
1478 * infcmd.c (jump_command): Postpone disabling stdin until after
1483 * inflow.c (gdb_getpgrp): New.
1484 (gdb_has_a_terminal): Use get_getpgrp.
1485 (terminal_ours_1): If attach_flag is set, don't refetch
1486 inferior_process_group.
1490 * features/library-list.dtd: Allow "section" elements as children
1491 of "library". Add "section" element and describe its attributes.
1493 * solib-target.c (struct lm_info): Add section_bases member.
1494 (library_list_start_segment): Error out if seen a section element.
1495 (library_list_start_section): New.
1496 (library_list_end_library): New.
1497 (solib_target_free_library_list): Free section_bases.
1498 (section_attributes): New.
1499 (library_children): Make "segment" optional. Add "section" child.
1500 (library_list_children): Register library_list_end_library.
1501 (solib_target_relocate_section_addresses): Handle section bases.
1503 * NEWS: Mention new qXfer:libraries:read section offsets support.
1507 * defs.h (do_exec_error_cleanups, discard_exec_error_cleanups)
1508 (make_exec_error_cleanup): Remove declarations.
1509 * utils.c (exec_error_cleanup_chain): Remove.
1510 (do_exec_error_cleanups, discard_exec_error_cleanups)
1511 (make_exec_error_cleanup): Remove.
1512 * event-loop.c (start_event_loop): Adjust call to
1514 * event-top.c (async_enable_stdin): Remove the paramater dummy.
1515 (async_disable_stdin): Don't register async_enable_stdin via
1517 * inf-loop.c (inferior_event_handler): Don't
1518 call do_exec_error_cleanups. Call async_enable_stdin instead.
1519 * event-loop.c (start_event_loop): Adjust call to
1521 * tui/tui-interp.c (tui_command_loop): Adjust call to
1527 * Makefile.in (infcmd.o, inf-loop.o): Update dependencies.
1528 * breakpoint.c (bpstat_do_actions): In async mode,
1529 don't jump to top expecting stop_bpstat to be already
1531 * event-loop.c (start_event_loop): Call async_enable_stdin
1533 * event-top.c (async_enable_stdin): Do nothing if sync_execution
1535 (command_handler): Do not setup continuation here.
1536 (command_line_handler_continuation): Move to...
1537 * top.c (command_line_handler_continuation): ... here.
1538 (execute_command): In async mode, register continuation.
1539 Don't check frame's language in running in async mode.
1540 * exceptions.c (throw_exception): Don't do exec_error_cleanups.
1541 * inf-loop.c (complete_execution): Inline into...
1542 (inferior_event_handler): ... here. Clear target_executing before
1543 doing any cleanups. Don't try to show prompt if the target was
1545 * infcmd.c (signal_command): Add support for async mode.
1546 (finish_command): Only add continuation if the target was
1547 successfully resumed.
1548 * remote.c (init_async_opts): Register to_get_thread_local_address
1550 * mi/mi-interp.c (mi_cmd_interpreter_exec): Don't mess
1551 with sync_execution.
1552 * tui/tui-interp.c (tui_command_loop): Call async_enable_stdin
1557 * corefile.c (reopen_exec_file): Use exec_bfd_mtime.
1558 * exec.c (exec_bfd_mtime): Define.
1559 (exec_close): Clear it.
1560 (exec_file_attach): Set it.
1561 * gdbcore.h (exec_bfd_mtime): Declare.
1562 * source.c (find_source_lines): Do not use bfd_get_mtime.
1566 * top.c (simplified_command_loop): Remove.
1570 Remove unused remote.c hooks.
1571 * remote.c (deprecated_target_resume_hook)
1572 (deprecated_target_wait_loop_hook): Remove.
1573 (remote_resume): Do not call deprecated_target_resume_hook.
1574 (remote_wait): Do not call deprecated_target_wait_loop_hook.
1575 (remote_async_wait): Likewise.
1579 Implement MI notification for new threads.
1580 * doc/observer.texi (new_thread): Document.
1581 * observer.sh: Forward declare struct thread_info.
1582 * thread.c (add_thread): Notify observer.
1584 * interps.h (interp_init_ftype): New parameter
1586 (interp_set): Likewise.
1587 (top_level_interpreter_data): Declare.
1588 * interps.c (interp_set): New parameter top_level.
1589 Pass it to interpreter's init function. Remember
1590 top level interpreter.
1591 (interpreter_exec_cmd): Adjust.
1592 (top_level_interpreter_data): New.
1593 * main.c (captured_main): Pass 1 for top_level
1594 parameter of interp_set.
1595 * cli/cli-interp.c (cli_interpreter_init): New
1596 parameter top_level.
1597 * tui/tui-interp.c (tui_init): New parameter top_level.
1599 * mi/mi-interp.c (mi_new_thread): New.
1600 (mi_interpreter_init): If top level, register
1601 observer for new threads.
1603 * Makefile.in (mi-interp.o, thread.o): Update dependencies.
1607 * top.c (execute_command): Disable break and stop
1608 commands in async mode.
1614 * inf-loop.c (inferior_event_handler): Don't include remote.h.
1615 Call target_stop in the INF_QUIT_REQ case.
1616 * Makefile.in (inf-loop.o): Update.
1620 * inf-loop.c (inferior_event_handler): Don't include remote.h.
1621 Call target_stop in the INF_QUIT_REQ case.
1622 * Makefile.in (inf-loop.o): Update.
1626 * top.c (execute_command): Enable break, info and interrupt
1627 commands in async mode.
1632 * breakpoint.h (breakpoint_restore_shadows): New
1634 * breakpoint.c (breakpoint_restore_shadows): New.
1635 (read_memory_nobpt): Delete.
1636 * gdbcore.h (read_memory_nobpt): Delete declaration.
1637 * target.c (memory_xfer_partial): Call
1638 breakpoint_restore_shadows.
1639 (restore_show_memory_breakpoints)
1640 (make_show_memory_beakpoints_cleanup): New.
1641 (show_memory_breakpoints): New.
1642 * target.h (make_show_memory_beakpoints_cleanup): Declare.
1643 * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint):
1644 Make sure we see memory breakpoints when checking if
1645 breakpoint is still there.
1646 * alpha-tdep.c, alphanbsd-tdep.c, frame.c, frv-tdep.c,
1647 hppa-linux-tdep.c, hppa-tdep.c, i386-linux-nat.c, i386-tdep.c,
1648 m68klinux-tdep.c, mips-tdep.c, mn10300-tdep.c, s390-tdep.c,
1649 sparc-tdep.c: Use target_read_memory instead of read_memory_nobpt.
1653 * thread.c (add_thread): Use printf_unfiltered to print.
1657 * sol-thread.c: Replace use of TM_I386SOL2_H by an expression
1658 that is true only on x86-solaris and x86_64-solaris.
1659 * procfs.c: Likewise. Move procfs_find_LDT_entry up together
1660 with proc_get_LDT_entry.
1664 * configure.ac (AC_CHECK_FUNCS): Add check for setsid.
1665 * config.in, configure: Regenerate.
1666 * fork-child.c (fork_inferior): Call create_tty_session.
1667 * inflow.c (new_tty): Set controlling terminal with TIOCSCTTY.
1668 (create_tty_session): New function.
1669 * terminal.h: Declare create_tty_session.
1674 * elfread.c (elf_symtab_read): Make shndx an unsigned int.
1675 * mipsread.c: Include elf/internal.h.
1676 (read_alphacoff_dynamic_symtab): Map external reserved sym_shndx
1681 * win32-nat.c (do_win32_fetch_inferior_registers): Use get_regcache_arch
1682 to get at the current architecture and at the target specific vector.
1683 Add target specific vector to I387_FISEG_REGNUM and I387_FOP_REGNUM and
1684 remove define of I387_ST0_REGNUM.
1686 * amd64-tdep.c (I387_ST0_REGNUM): Remove define.
1688 (amd64_supply_fxsave, amd64_collect_fxsave): Use get_regcache_arch to
1689 get at the current architecture
1690 (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Add target specific vector as
1693 * i386-tdep.c: Remove various define's and undef's of I387_ST0_REGNUM,
1694 I387_NUM_XMM_REGS and I387_MM0_REGNUM.
1696 (I387_NUM_XMM_REGS, I387_XMM0_REGNUM, I387_MXCSR_REGNUM,
1697 I387_ST0_REGNUM, I387_FCTRL_REGNUM, I387_MM0_REGNUM,
1698 (I387_FSTAT_REGNUM): Add target specific vector as parameter.
1700 (i386_register_name, i386_dbx_reg_to_regnum): Use gdbarch_tdep to get
1701 at the target specific vector.
1703 (i386_get_longjmp_target): Use get_frame_arch to get at the current
1704 architecture. Use gdbarch_tdep to get at the target specific vector.
1706 (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as parameter and
1707 update caller. Use gdbarch_tdep to get at the target specific vector.
1709 (i386_register_to_value: Use get_frame_arch to get at the current
1712 * i386-tdep.h (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as
1715 * i387-tdep.c (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM,
1716 I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM
1717 I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_ST0_REGNUM, FSAVE_ADDR,
1718 FXSAVE_ADDR, I387_XMM0_REGNUM): Add target specific vector as parameter.
1720 (I387_ST0_REGNUM, I387_NUM_XMM_REGS): Remove various define's and
1723 (i387_convert_register_p, i387_register_to_value,
1724 i387_value_to_register): Update call for i386_fp_regnum_p.
1726 * i387-tdep.h: Remove comment.
1727 (I387_ST0_REGNUM, I387_NUM_XMM_REGS, I387_MM0_REGNUM): Add define.
1728 (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM,
1729 I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM,
1730 I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_XMM0_REGNUM,
1731 I387_MXCSR_REGNUM): Add target specific vector as parameter.
1735 * Makefile.in (fork-child.o): Update.
1736 * NEWS: Document "set exec-wrapper" and the gdbserver --wrapper
1737 argument. Gather all gdbserver features together.
1738 * fork-child.c (exec_wrapper): New variable.
1739 (fork_inferior): Use it.
1740 (startup_inferior): Skip an extra trap if using "set exec-wrapper".
1741 (unset_exec_wrapper_command, _initialize_fork_child): New.
1745 * source.c (directory_command): Modify the determination of
1746 condition of terminal "from_tty".
1750 * dwarf2read.c (set_cu_language): Add DW_LANG_ObjC.
1754 * spu-tdep.c (info_spu_event_command): Insert a '\0' to the end
1755 of the data passing to strtoulst function.
1756 (info_spu_signal_command): Likewise.
1760 * mi/mi-interp.c (mi_command_loop): Remove
1765 * remote.c (extended_remote_attach_1): Make local variable pid an int
1770 * solib-svr4.c (svr4_same_1): New function, originally extracted
1771 from svr4_same and expanded to handle the sparc64 case.
1772 (svr4_same): Move up and reimplement using svr4_same_1.
1773 (enable_break): Use svr4_same_1 to do shared library name comparisons.
1777 * MAINTAINERS: Move self to Paper trail.
1781 * Makefile.in (mingw-hdep.o, posix-hdep.o, remote-fileio.o): Update.
1782 * event-loop.c (call_async_signal_handler): New.
1783 * event-loop.h (call_async_signal_handler)
1784 (gdb_call_async_signal_handler): Declare.
1785 (mark_async_signal_handler): Add comments.
1786 * event-top.c (handle_sigint): Use gdb_call_async_signal_handler.
1787 * mingw-hdep.c (sigint_event, sigint_handler): New.
1788 (gdb_select): Use them. Wait for the readline signal handler
1790 (gdb_call_async_signal_handler, _initialize_mingw_hdep): New functions.
1791 * posix-hdep.c (gdb_call_async_signal_handler): New function.
1792 * remote-fileio.c (sigint_fileio_token, async_remote_fileio_interrupt):
1794 (remote_fileio_ctrl_c_signal_handler): Use
1795 gdb_call_async_signal_handler.
1796 (initialize_remote_fileio): Initialize sigint_fileio_token.
1797 * remote.c (initialize_sigint_signal_handler, handle_remote_sigint): Do
1798 not initialize tokens here.
1799 (handle_remote_sigint_twice): Likewise. Reinstall
1800 handle_remote_sigint.
1801 (async_remote_interrupt_twice): Just call interrupt_query.
1802 (cleanup_sigint_signal_handler): Do not delete tokens.
1803 (remote_interrupt, remote_interrupt_twice): Use
1804 gdb_call_async_signal_handler.
1805 (interrupt_query): Reinstall the default signal handler.
1806 (_initialize_remote): Initialize tokens here.
1810 * features/rs6000/power-core.xml, features/rs6000/power64-core.xml,
1811 features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml:
1812 Change the type of the lr register to code_ptr.
1813 * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c,
1814 features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c,
1815 features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c,
1816 features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c,
1817 features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c,
1818 features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c,
1819 features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c: Regenerate.
1823 * MAINTAINERS: Update my email address.
1828 * configure.ac: Set tcl configdir to win under mingw.
1829 * configure: Regenerate.
1833 * breakpoint.c (fetch_watchpoint_value): New function.
1834 (update_watchpoint): Set and clear val_valid. Use
1835 fetch_watchpoint_value. Handle unreadable values on the
1836 value chain. Correct check for user-requested array watchpoints.
1837 (breakpoint_init_inferior): Clear val_valid.
1838 (watchpoint_value_print): New function.
1839 (print_it_typical): Use it. Do not free or clear old_val. Print
1840 watchpoints even if old_val == NULL.
1841 (watchpoint_check): Use fetch_watchpoint_value. Check for values
1842 becoming readable or unreadable.
1843 (watch_command_1): Use fetch_watchpoint_value. Set val_valid.
1844 (do_enable_watchpoint): Likewise.
1845 * breakpoint.h (struct breakpoint): Update comment for val. Add
1847 * NEWS: Mention watchpoints on inaccessible memory.
1851 * Makefile.in (i386-nat.o): Update.
1852 * amd64-linux-nat.c (_initialize_amd64_linux_nat): Call
1853 i386_use_watchpoints.
1854 * i386-linux-nat.c (_initialize_i386_linux_nat): Call
1855 i386_use_watchpoints.
1856 * i386-nat.c (i386_stopped_data_address): Take two arguments.
1857 (i386_stopped_by_watchpoint): Update call.
1858 (i386_can_use_hw_breakpoint, i386_use_watchpoints): New.
1859 * config/i386/nm-i386.h: Conditionalize definitions on
1860 ! I386_WATCHPOINTS_IN_TARGET_VECTOR.
1861 (i386_use_watchpoints): Declare.
1862 (i386_stopped_data_address): Update.
1863 * config/i386/nm-linux.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define.
1864 * config/i386/nm-linux64.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define.
1868 GDB 6.8 branch created (branch timestamp: 2008-02-26 10:00 UTC)
1869 * version.in: Bump version to 6.8.50.20080229-cvs.
1873 * f-typeprint.c (f_print_type): Handle NULL pointer in VARSTRING
1878 * infcmd.c (notice_args_read): Print result of get_inferior_args.
1882 * infcmd.c (kill_if_already_running): Make static. Use
1883 target_require_runnable.
1884 * target.c (target_require_runnable): New.
1885 * target.h (target_require_runnable): Declare.
1889 * frame.c (reinit_frame_cache): Only annotate if frames were
1894 * regformats/reg-ppc.dat: Rename "ps" to "msr".
1895 * regformats/reg-ppc64.dat: Likewise.
1899 * features/Makefile (%.dat): Emit xmltarget statement.
1901 * regformats/regdat.sh: Support xmltarget and xmlarch statments.
1902 Generate code to set gdbserver_xmltarget in init_registers_${name}.
1904 * regformats/arm-with-iwmmxt.dat: Regenerate.
1905 * regformats/mips64-linux.dat: Regenerate.
1906 * regformats/mips-linux.dat: Regenerate.
1907 * regformats/rs6000/powerpc-32.dat: Regenerate.
1908 * regformats/rs6000/powerpc-64.dat: Regenerate.
1909 * regformats/rs6000/powerpc-e500.dat: Regenerate.
1911 * regformats/reg-arm.dat: Add xmlarch statement.
1912 * regformats/reg-i386.dat: Likewise.
1913 * regformats/reg-i386-linux.dat: Likewise.
1914 * regformats/reg-x86-64-linux.dat: Likewise.
1915 * regformats/reg-spu.dat: Likewise.
1919 * remote.c (remote_wait, remote_async_wait): Stop if we receive
1924 * utils.c (debug_timestamp): New.
1925 (vfprintf_unfiltered): Print timestamps if requested.
1926 (show_debug_timestamp): New.
1927 (initialize_utils): Register "set debug timestamp".
1928 * NEWS: Mention "set debug timestamp". Add GDB 6.8 section.
1932 * breakpoint.c (skip_prologue_sal): New function.
1933 (resolve_sal_pc): Adjust SAL past prologue if the SAL was
1934 computed from a line number.
1938 * features/rs6000/power-core.xml, features/rs6000/power64-core.xml
1939 features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml:
1940 Set PC register type to "code_ptr".
1941 * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c,
1942 features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c,
1943 features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c,
1944 features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c,
1945 features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c,
1946 features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c,
1947 features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c:
1952 * regformats/regdat.sh: Rename init_registers function in
1953 generated file to init_registers_${name}.
1955 * regformats/reg-crisv32.dat: Set "name" to crisv32.
1956 * regformats/reg-ppc64.dat: Set "name" to ppc64.
1957 * regformats/reg-s390x.dat: Set "name" to s390x.
1961 * regcache.c (registers_changed): Call reinit_frame_cache.
1965 * configure.tgt (sh-*-linux*): Match sh*. Add glibc-tdep.o.
1966 * sh-linux-tdep.c (sh_linux_init_abi): Use glibc_skip_solib_resolver
1967 and svr4_fetch_objfile_link_map.
1968 * Makefile.in (sh-linux-tdep.o): Update.
1972 * amd64-tdep.c (amd64_classify): Add support for decimal float
1974 * i386-tdep.c (i386_return_value): Make 128-bit decimal float
1975 use the struct return convention.
1979 * breakpoint.c (print_one_breakpoint_location): Revert Enb field
1980 to old format. Discard breakpoint address if shared library is
1982 (breakpoint_1): Adjust formatting of table header accordingly.
1986 * remote.c (remote_get_threadlist): If the response
1987 is empty, don't try to parse it.
1991 Unbreak 'target async'.
1992 * serial.c (serial_async): Set the
1993 handler function before enabling async
1998 * solib-svr4.c (enable_break): Convert r_brk to a code address.
2002 * remote.c (extended_remote_attach_1): Set attach_flag.
2003 (extended_remote_create_inferior_1): Clear attach_flag.
2007 * mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets): Set
2009 (mipsnbsd_lp64_fetch_link_map_offsets): Likewise.
2010 * solib-svr4.c (solib_svr4_r_brk): New.
2011 (open_symbol_file_object, svr4_current_sos): Always check the
2013 (svr4_fetch_objfile_link_map): Do not set debug_base.
2014 (enable_break): Use r_brk if it is set.
2015 (svr4_ilp32_fetch_link_map_offsets): Set r_brk_offset.
2016 (svr4_lp64_fetch_link_map_offsets): Likewise.
2017 * solib-svr4.h (struct link_map_offsets): Add r_brk_offset.
2022 * alpha-tdep.c (alpha_heuristic_unwind_cache): Replace saved_regs by
2023 trad_frame_saved_reg.
2024 (trad-frame.h): New include.
2026 (alpha_heuristic_frame_unwind_cache): Use trad_frame_alloc_saved_regs
2027 instead of frame_obstack_zalloc.
2028 (alpha_heuristic_frame_prev_register): Use trad_frame_get_prev_register.
2030 * Makefile.in (alpha-tdep.o): Add dependency to trad_frame_h.
2034 * rs6000-tdep.c (gdb_print_insn_powerpc): Get the current endianess
2035 from disassemble_info instead of gdbarch_byte_order.
2037 * mips-tdep.c (gdb_print_insn_mips): Likewise.
2038 * arm-tdep.c (gdb_print_insn_arm): Likewise.
2042 * gdbarch.sh (memory_insert_breakpoint, memory_remove_breakpoint): Add
2043 gdbarch as parameter.
2045 * gdbarch.{c,h}: Regenerate.
2047 * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Add gdbarch as
2049 * mem-break.c (default_memory_insert_breakpoint)
2050 (default_memory_remove_breakpoint): Likewise.
2051 * target.h (default_memory_remove_breakpoint)
2052 (default_memory_insert_breakpoint): Likewise.
2054 * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Add gdbarch as
2055 parameter. Replace current_gdbarch by gdbarch.
2056 * m32r-tdep.c (m32r_memory_insert_breakpoint)
2057 (m32r_memory_remove_breakpoint): Likewise.
2061 * MAINTAINERS: Add Vladimir Prus as MI maintainer.
2065 * NEWS: Add entry describing Add support improvements.
2069 * m68klinux-nat.c (getfpregs_supplies): Replace gdbarch_fp0_regnum by
2074 * sentinel-frame.c (sentinel_frame_prev_register): Do not call
2075 register_offset_hack anymore.
2077 * regcache.{c,h} (register_offset_hack): Remove.
2081 * hppa-tdep.h (find_global_pointer): Add gdbarch as parameter.
2083 * hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer): Likewise. Replace
2084 current_gdbarch by gdbarch.
2085 (hppa64_hpux_find_global_pointer): Likewise.
2086 * hppa-tdep.c (hppa_find_global_pointer): Likewise.
2087 (hppa32_push_dummy_call, hppa64_push_dummy_call): Update call for
2088 find_global_pointer.
2090 * hppabsd-tdep.c (hppabsd_find_global_pointer): Add gdbarch as
2092 * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
2094 * hppa-linux-nat.c (hppa_linux_register_addr): Use ARRAY_SIZE instead
2095 of gdbarch_num_regs.
2097 * hppa-hpux-tdep.c (hppa_hpux_sr_for_addr): Add gdbarch as parameter and
2098 replace current_gdbarch by gdbarch.
2099 (hppa_hpux_push_dummy_code): Update call for hppa_hpux_sr_for_addr.
2103 * rs6000-nat.c (exec_one_dummy_insn, regmap): Add gdbarch as parameter
2104 and replace current_gdbarch by gdbarch.
2106 (store_register): Update call for exec_one_dummy_insn.
2107 (fetch_register, store_register): Update call of regmap.
2109 * ppcnbsd-nat.c (getregs_supplies, getfpregs_supplies): Add gdbarch as
2110 parameter and replace current_gdbarch by gdbarch.
2112 (ppcnbsd_store_inferior_registers): Use get_regcache_arch to get at
2113 the current architecture. Update call for getregs_supplies and
2115 (ppcnbsd_fetch_inferior_registers): Likewise.
2117 * ppcobsd-nat.c (getfpregs_supplies): Add gdbarch as parameter and
2118 replace current_gdbarch by gdbarch.
2119 (ppcobsd_fetch_registers, ppcobsd_store_registers): Use
2120 get_regcache_arch to get at the current architecture. Update call for
2125 * arch-utils.c (gdbarch_from_bfd): Remove unnecessary {old,new}_gdbarch
2130 * mips-linux-tdep.c (mips_linux_init_abi): Remove internal error.
2134 * NEWS: Mention pending breakpints in MI.
2138 * Makefile.in (ALL_TARGET_OBS): Remove dependency to xtensa-linux-nat.o.
2142 Add script to build and test GDB using enable-targets=all.
2144 * gdb_buildall.sh: New file.
2148 * NEWS (New native configurations): Xtensa GNU/Linux.
2149 (New targets): Xtensa GNU/Linux.
2150 * Makefile.in (ALL_TARGET_OBS): Add xtensa-linux-nat.o and
2152 (ALLDEPFILES): Add xtensa-linux-tdep.c and xtensa-linux-nat.c
2153 (xtensa-linux-nat.o, xtensa-linux-tdep.o): New dependencies.
2154 * configure.tgt (xtensa*-*-linux*): New entry.
2155 * xtensa-config.c (xtensa_tdep): New variable.
2156 (xtensa_config_byte_order, xtensa_config_tdep): Removed.
2157 (rmap): Change format based on new macro XTREG.
2158 (XTENSA_CONFIG_INSTANTIATE): Use new macro defined in xtensa-tdep.h.
2159 * xtensa-linux-nat.c: New.
2160 * xtensa-linux-tdep.c: New.
2161 * xtensa-xtregs.c: New.
2162 * xtensa-tdep.h (xtensa_elf_gregset_t): Update.
2163 (XTENSA_ELF_NGREG, XTREG, XTREG_END, XTENSA_GDBARCH_TDEP_INSTANTIATE)
2164 (XCHAL_NUM_CONTEXTS, XCHAL_HAVE_EXCEPTIONS): New macros.
2165 (xtensa_register_t): New field coprocessor.
2166 (XTENSA_REGISTER_FLAGS_PRIVILEGED): Name spelling corrected.
2167 * xtensa-tdep.c (xtensa_config_tdep, xtensa_config_byte_order): Removed.
2168 (xtensa_pseudo_register_read, xtensa_pseudo_register_write):
2169 Update to handle privileged registers.
2170 (xtensa_supply_gregset) Remove exccause and excvaddr registers.
2171 (xtensa_push_dummy_call): Set windowstart register correctly.
2172 (call0_analyze_prologue): Initialize xtensa_default_isa.
2173 (xtensa_derive_tdep): New.
2174 (xtensa_gdbarch_init): Get rid of xtensa_config_byte_order and
2175 xtensa_config_tdep, use XCHAL_HAVE_BE and xtensa_tdep instead.
2176 Call xtensa_derive_tdep().
2177 * config/xtensa/linux.mh: New.
2178 * regformats/reg-xtensa.dat: New.
2182 * corelow.c (core_open): Use IS_ABSOLUTE_PATH.
2183 (filenames.h): New include.
2184 * Makefile.in (corelow.o): Add dependency for filenames.h.
2188 * source.c (find_and_open_source): Always rewrite absolute filenames.
2192 * breakpoint.c: #include "hashtab.h".
2193 (ambiguous_names_p): New fn.
2194 (update_breakpoint_locations): When restoring bp enable status, don't
2195 compare function names if any functions have same name.
2196 * Makefile.in (breakpoint.o): Add hashtab.h dependency.
2200 * ada-lang.c (symbol_completion_add): Make SV parameter a VEC**
2201 instead of just a VEC*. Update use of SV.
2202 (ada_make_symbol_completion_list): Update symbol_completion_add calls.
2206 * NEWS: Put all new commands since gdb-6.7 together.
2210 * ada-lang.c: #include "vec.h".
2211 (struct string_vector, new_string_vector, string_vector_append):
2213 (char_ptr): New typedef.
2214 (DEF_VEC_P (char_ptr)): New VEC type.
2215 (symbol_completion_add): Update profile to take the new VEC type
2216 instead of the old string_vector structure. Update code accordingly.
2217 (ada_make_symbol_completion_list): Use the new VEC type instead of
2218 the old string_vector structure, and update the code accordingly.
2219 * Makefile.in (ada-lang.o): Add dependency on vec.h.
2223 * p-exp.y: Set current_type in missing places.
2224 (leftdiv_is_integer): New static variable.
2225 Typecast right operand of BINOP_DIV to long_double if both operands
2230 * remote-mips.c (set_breakpoint): Rename to...
2231 (mips_set_breakpoint): ... this.
2232 (clear_breakpoint): Rename to...
2233 (mips_clear_breakpoint): ... this.
2234 (common_breakpoint): Rename to...
2235 (mips_common_breakpoint): ... this.
2236 (check_lsi_error): Rename to...
2237 (mips_check_lsi_error): ... this.
2241 * language.h (struct language_defn): Add new field
2242 la_make_symbol_completion_list.
2243 * symtab.c (default_make_symbol_completion_list): Renames
2244 make_symbol_completion_list.
2245 (make_symbol_completion_list): New function.
2246 * symtab.h (default_make_symbol_completion_list): Add declaration.
2247 * langauge.c (unknown_language): Set la_make_symbol_completion_list.
2248 (auto_language, local_language): Likewise.
2249 * objc-lang.c (objc_language_defn): Likewise.
2250 * scm-lang.c (scm_language_defn): Likewise.
2251 * m2-lang.c (m2_language_defn): Likewise.
2252 * f-lang.c (f_language_defn): Likewise.
2253 * jv-lang.c (java_language_defn): Likewise.
2254 * p-lang.c (pascal_language_defn): Likewise.
2255 * c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn)
2256 (minimal_language_defn): Likewise.
2257 * ada-lang.c (struct string_vector): New structure.
2258 (new_string_vector, string_vector_append, ada_unqualified_name)
2259 (add_angle_brackets, symbol_completion_match, symbol_completion_add)
2260 (ada_make_symbol_completion_list): New functions.
2261 (ada_language_defn): Set la_make_symbol_completion_list.
2262 * ada-lang.h (ada_make_symbol_completion_list): Remove declaration,
2263 this function is static.
2267 * mn10300-tdep.c (mn10300_push_dummy_call): Adjust stack pointer
2268 to account for call site optimizations.
2272 * tracepoint.c (read_actions): Handle end-of-text indicator
2273 in action list properly. (Committed by Jim Blandy)
2277 * ax-gdb.c (gen_expr): Yield ordinary error if asked to trace a
2278 pseudoregister, not an internal error.
2279 Reported by: Andrzej Zaborowski
2283 * varobj.c (c_value_of_variable): Use xstrdup.
2287 Update stored rendition of varobj value when format changes.
2288 * varobj.c (varobj_set_display_format): Recomputed
2290 (c_value_of_variable): Return print_value.
2294 * eval.c (evaluate_subexp_standard): Fix type of result of mixed
2295 integer/float division operations when EVAL_AVOID_SIDE_EFFECTS.
2296 * valops.c (value_one): New function.
2297 * value.h (value_one): Declare.
2299 Fix argument promotion for binary arithmetic ops for C.
2300 * valarith.c (unop_result_type): New fn.
2301 (binop_result_type): New fn.
2302 (value_binop): Move result type computation to binop_result_type.
2303 (value_pos, value_neg, value_complement): Move result type
2304 computation to unop_result_type.
2307 * gdbtypes.c (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno.
2308 Return basetype, fieldno if found. All callers updated.
2309 Don't cache TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE if from different
2311 * gdbtypes.h (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno.
2312 * symfile.h (fill_in_vptr_fieldno): Delete.
2316 * valarith.c (value_binop): Handle unsigned BINOP_REM division by zero.
2318 * typeprint.c (*): Whitespace cleanup.
2324 * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Pass floats that
2325 don't fit into registerson the stack the way GCC does.
2329 * symtab.c (symbol_set_names): Do not add an entry in the demangling
2330 hash table for Ada symbols. Just store the linkage name as is,
2331 and leave the demangled_name as NULL.
2335 * dwarf2read.c (add_partial_symbol): Always store all Ada subprograms
2336 in the global scope.
2337 (new_symbol): Likewise.
2341 * breakpoint.c (break_command_1): Return void.
2342 (break_command_really): Return void. Rethrow
2343 exceptions instead of returning.
2344 (gdb_breakpoint): Remove the error_message parameter.
2345 Return void. Rename to set_breakpoint.
2346 * gdb.h (gdb_breakpoint): Rename and move to...
2347 * breakpoint.h (set_breakpoint): ...here.
2348 * mi/mi-cmb-break.c (mi_cmd_break_insert): Restore
2349 event hooks even if exception is thrown. Adjust to
2350 gdb_breakpoint interface changes.
2355 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Write 32-bit
2356 float in both first and second word in the doubleword, to support
2361 Properly rethrow exception. This fixes errors
2362 about non-existent functions for -break-insert.
2363 * breakpoint.c (break_command_really): Use throw_exception
2364 for rethrowing. If rethrowing, don't print the exception.
2368 * NEWS: Mention Decimal Floating Point support.
2372 * std-regs.c (value_of_builtin_frame_pc_reg): Change the returned
2373 value type to builtin_type_void_func_ptr.
2377 * s390-tdep.c (is_float_singleton, is_float_like,
2378 alignment_of, s390_return_value): Make checks for
2379 TYPE_CODE_FLT to match TYPE_CODE_DECFLOAT as well.
2384 * infcmd.c (default_print_registers_info): Also print hex
2385 raw contents for TYPE_CODE_DECFLOAT registers.
2386 * ppc-tdep.h (gdbarch_tdep): Add ppc_dl0_regnum member.
2387 * rs6000-tdep.c (IS_DFP_PSEUDOREG): New macro.
2388 (rs6000_register_name): Add support for DFP pseudo-registers.
2389 (rs6000_pseudo_register_type): Likewise.
2390 rs6000_pseudo_register_reggroup_p): Likewise.
2391 (ppc_pseudo_register_read): New function.
2392 (ppc_pseudo_register_write): Likewise.
2393 (rs6000_pseudo_register_read): Likewise.
2394 (rs6000_pseudo_register_write): Likewise.
2395 (e500_pseudo_register_read): Move checks to
2396 rs6000_pseudo_register_read.
2397 (e500_pseudo_register_write): Move checks to
2398 rs6000_pseudo_register_write.
2399 (rs6000_gdbarch_init): Initialize tdep->ppc_dl0_regnum. Install
2400 rs6000_pseudo_register_read and rs6000_pseudo_register_write
2401 in gdbarch if SPE or DFP is available. Adjust gdbarch's
2402 num_pseudo_regs to account for DFP pseudo regs.
2406 * ppc-tdep.h (struct gdbarch_tdep): Remove ppc_ev31_regnum member.
2407 * rs6000-tdep.c (IS_SPE_PSEUDOREG): New macro.
2408 (spe_register_p, rs6000_register_name, rs6000_pseudo_register_type,
2409 rs6000_pseudo_register_reggroup_p, e500_move_ev_register,
2410 e500_pseudo_register_read, e500_pseudo_register_write): Use
2411 IS_SPE_PSEUDOREG macro.
2412 (rs6000_frame_cache): Remove use of tdep->ppc_ev31_regnum.
2413 (rs6000_gdbarch_init): Remove unnecessary num_sprs local variable.
2414 Remove initialization of tdep->ppc_ev31_regnum.
2418 * printcmd.c (print_formatted): Handle references as for unformatted
2423 * eval.c (evaluate_subexp_standard): Add handling of user
2424 registers when in EVAL_AVOID_SIDE_EFFECTS mode.
2428 * eval.c (evaluate_subexp_standard): Support
2429 BINOP_INTDIV opcode.
2433 * valarith.c (value_binop): Add floating-point BINOP_MIN and
2435 For BINOP_EXP, use length and signedness of left operand only for
2436 result, as for shifts.
2437 For integral operands to BINOP_EXP, use new integer_pow and
2438 uinteger_pow functions so as to get full range of results.
2439 (integer_pow): New function.
2440 (uinteger_pow): New function.
2444 Use vector for varobj_list_children interface.
2445 * gdb/varobj.c (varobj_list_children): Return vector
2447 * gdb/varobj.h (varobj_list_children): Adjust
2449 (varobj_p): Declare. Declare vector thereof.
2450 * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust
2451 for varobj_list_children change.
2452 * Makefile.in (varobj_h): Update dependencies.
2456 * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Add support for
2457 TYPE_CODE_DECFLOAT arguments.
2458 (ppc64_sysv_abi_push_dummy_call) Likewise.
2459 (get_decimal_float_return_value): New function.
2460 (do_ppc_sysv_return_value): Add support for TYPE_CODE_DECFLOAT return
2461 values by calling get_decimal_float_return_value.
2462 (ppc64_sysv_abi_return_value): Likewise.
2466 * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field
2467 for preprocessor macro information. Formatting changes.
2471 * remote.c (struct remote_state): Add cached_wait_status.
2472 (remote_exec_file): New variable.
2473 (PACKET_vAttach, PACKET_vRun): New constants.
2474 (extended_remote_restart): Do not query for status.
2475 (struct start_remote_args): New.
2476 (remote_start_remote): Take it as a second argument. Check
2477 whether the target is running. Issue an error for non-running
2478 non-extended targets. Cache the wait status. Set inferior_ptid
2480 (remote_open_1): Prompt to disconnect non-running targets. Make
2481 sure the target is marked running. Do not set inferior_ptid here.
2482 Update call to remote_start_remote. Do not call remote_check_symbols
2483 if the target is not running.
2484 (remote_detach_1): Rename from remote_detach. Take an EXTENDED
2485 argument. Handle a non-running target.
2486 (remote_detach): Use it.
2487 (extended_remote_detach): New.
2488 (remote_disconnect): Fix typo. Use remoute_mourn_1.
2489 (extended_remote_attach_1, extended_remote_attach)
2490 (extended_async_remote_attach): New.
2491 (remote_vcont_resume): Remove unused variable.
2492 (remote_wait, remote_async_wait): Use any cached wait status.
2493 (putpkt_binary, getpkt): Clear any cached wait status.
2494 (extended_remoute_mourn_1): New.
2495 (extended_remote_mourn): Use it.
2496 (extended_async_remote_mourn, extended_remote_run): New.
2497 (extended_remote_create_inferior_1): New.
2498 (extended_remote_create_inferior): Use it.
2499 (extended_remote_async_create_inferior): Likewise.
2500 (remote_xfer_partial): Skip for non-executing targets.
2501 (init_extended_remote_ops): Set to_detach and to_attach.
2502 (init_extended_async_remote_ops): Likewise. Use
2503 extended_async_remote_mourn.
2504 (_initialize_remote): Register vAttach, vRun, and
2505 set remote exec-file.
2506 * NEWS: Mention vAttach, vRun, and gdbserver extended-remote support.
2510 * Makefile.in (symfile.o): Update.
2511 * NEWS: Mention exec tracing support.
2512 * inf-ttrace.c (inf_ttrace_wait): Return TARGET_WAITKIND_EXECD for
2514 * infcmd.c (kill_if_already_running, detach_command)
2515 (disconnect_command): Replace SOLIB_RESTART with no_shared_libraries.
2516 * infrun.c (MAY_FOLLOW_EXEC, may_follow_exec): Delete.
2517 (follow_exec): Do not check may_follow_exec. Do not mourn and push
2518 targets. Apply the sysroot path to the loaded executable. Use
2519 no_shared_libraries.
2520 * linux-nat.c (linux_child_follow_fork): Print fork following
2521 messages if verbose.
2522 (kill_wait_callback): Kill again before waiting a second time.
2523 * symfile.c (symbol_file_clear): Replace SOLIB_RESTART with
2524 no_shared_libraries.
2528 * amd64-tdep.c (amd64_classify): Add handling of TYPE_CODE_CHAR.
2532 * nto-tdep.h: Remove #include "defs.h".
2533 * nto-tdep.c: Add #include "defs.h".
2534 * Makefile.in (nto_tdep_h): Update dependencies.
2535 (nto-tdep.o): Likewise.
2539 * infrun.c (wait_for_inferior): Add treat_exec_as_sigtrap parameter
2541 (proceed, start_remote): Update call to wait_for_inferior.
2542 * inferior.h (wait_for_inferior): Update declaration.
2543 * fork-child.c, infcmd.c, solib-irix.c, solib-osf.c, solib-sunos.c,
2544 solib-svr4.c, win32-nat.c: Update calls to wait_for_inferior.
2545 * inf-ttrace.c (inf_ttrace_wait): Report TTEVT_EXEC events as
2546 TARGET_WAITKIND_EXECD instead of TARGET_WAITKIND_STOPPED.
2550 * varobj (adjust_value_for_child_access): Added checking for
2551 returned value from gdb_value_ind.
2552 (c_describe_child): Likewise.
2553 (cplus_describe_child): Fixed a typo.
2557 * MAINTAINERS: Update my info.
2561 Use multiple locations for hardware watchpoints.
2562 This eliminates the need to traverse value chain, doing
2563 various checks, in three different places.
2565 * breakpoint.h (struct bp_location): New fields
2566 lengths and watchpoint_type.
2567 (struct breakpoint): Remove the val_chain field.
2568 * breakpoint.c (is_hardware_watchpoint): New.
2569 (free_valchain): Remove.
2570 (update_watchpoint): New.
2571 (insert_bp_location): For hardware watchpoint, just
2573 (insert_breakpoints): Call update_watchpoint_locations
2574 on all watchpoints. If we have failed to insert
2575 any location of a hardware watchpoint, remove all inserted
2577 (remove_breakpoint): For hardware watchpoints, directly
2579 (watchpoints_triggered): Iterate over locations.
2580 (bpstat_stop_status): Use only first location of
2581 a resource watchpoint.
2582 (delete_breakpoint): Don't call free_valchain.
2583 (print_one_breakpoint): Don't print all
2584 locations for watchpoints.
2585 (breakpoint_re_set_one): Use update_watchpoint for
2590 Don't reset watchpoint block on solib load.
2592 * breakpoint.c (insert_bp_location): For watchpoints,
2593 recompute condition.
2594 (breakpoint_re_set_one): Instead of recomputing value
2595 and condition for watchpoints, just reset value and
2596 let insert_breakpoints/insert_bp_location recompute it.
2597 Don't do anything about disabled watchpoint.
2601 * valarith.c (value_binop): Handle unsigned integer
2606 * mn10300-tdep.c (mn10300_analyze_prologue): Check for an
2607 instruction pattern that appears frequently in position
2608 independent code. Fix bug in code which looks for "fmov" and
2609 backtracks if no "fmov" is found.
2613 * dbxread.c (read_dbx_symtab): Fix indentation.
2614 Reformat comments to 80 columns.
2615 Move local var def closer to only use.
2619 * fork-child.c (SHELL_FILE): Remove #ifndef.
2620 (fork_inferior): Remove SHELL_COMMAND_CONCAT.
2624 * i386-tdep.c (i386_skip_noop): New function.
2625 (i386_analyze_prologue): Call i386_skip_noop function.
2629 * procfs.c (procfs_xfer_partial): Comment, cut/paste error.
2630 * win32-nat.c (win32_xfer_partial): Ditto.
2631 * target.c (default_xfer_partial): Minor whitespace adjustment.
2635 * arm-tdep.c (arm_addr_bits_remove): In non 26-bit mode, don't
2636 strip bit 1 even if pc doesn't point to thumb code.
2640 * remote.c (remote_wait): Handle SIGINT between packets.
2641 (remote_async_wait): Likewise.
2646 * thread.c (add_thread_silent): Renamed
2648 (print_thread_events): New variable definition.
2649 (show_print_thread_events): New function.
2650 (_initialize_thread): Add "set print thread-events" and
2651 "show print thread-events" commands.
2652 (add_thread): Announce new thread.
2653 * gdbthread.h (add_thread_silent): Declare.
2654 (print_thread_events): New variable declaration.
2655 * inf-ttrace.c (inf_ttrace_wait): Don't
2656 inform about new thread, as add_thread is always
2657 called too, and will take care of that.
2658 * infrun.c (handle_inferior_event): Likewise.
2659 * procfs.c (procfs_wait): Likewise.
2660 * remote.c (remote_currthread): Likewise.
2661 * sol-thread.c (sol_thread_wait): Likewise.
2662 * win32-nat.c (get_win32_debug_event): Likewise.
2663 * linux-thread-db.c (attach_thread): Likewise.
2664 Remove the verbose parameter.
2665 (check_event): Make detach_thread be verbose
2666 only if print_thread_events is set.
2667 * linux-nat.c (lin_lwp_attach_lwp): Don't inform
2668 about new thread. This is called only from
2669 linux-thread-db.c:attach_thread, which will take care.
2670 Remove the verbose parameter.
2671 * linux-nat.h (lin_lwp_attach_lwp): Adjust prototype.
2675 * mi/mi-cmd-var.c (mi_cmd_var_set_format): Add value field to output.
2679 * breakpoint.c (break_command_really): New parameter
2681 (break_command_1): Pass 0 as
2682 ignore_count to break_command_really.
2683 (gdb_breakpoint): Pass ignore_count to
2684 break_command_really.
2688 * mn10300-linux-tdep.c (am33_linux_sigframe_cache_init): Find
2689 sigcontext struct via pointer.
2690 (struct sigframe comment): Update to show new field `psc'.
2694 * infrun.c (handle_inferior_event): If
2695 we failed to remove breakpoints, error,
2696 don't try to increment PC by hand.
2700 Add NetBSD/hppa target and host support.
2702 * hppabsd-tdep.c (hppabsd_supply_gregset): Move to ...
2703 (hppabsd_gregset): Move to ...
2704 (hppabsd_regset_from_core_section): Rename
2705 hppaobsd_regset_from_core_section and move to ...
2706 (hppabsd_find_global_pointer): Update comment.
2707 (hppabsd_init_abi): Make global. Do not register
2708 hppabsd_regset_from_core_section.
2709 (hppabsd_core_osabi_sniffer): Rename hppaobsd_core_osabi_sniffer and
2711 (_initialize_hppabsd_tdep): Move to ...
2712 * hppaobsd-tdep.c: ... here. New file.
2713 * hppnbsd-tdep.c: New file.
2714 * hppnbsd-nat.c: New file.
2715 * Makefile.in (ALL_TARGET_OBS): Add hppanbsd-tdep.o and hppaobsd-tdep.o.
2716 (ALLDEPFILES): Add hppabsd-nat.c and hppabsd-tdep.c.
2717 (hppabsd-nat.o, hppabsd-tdep.o): New dependencies.
2718 (hppabsd-tdep.o, hppaobsd-tdep.o): Update dependencies.
2719 * configure.host (hppa*-*-netbsd*): New entry.
2720 * configure.tgt (hppa*-*-netbsd*): New entry.
2721 (hppa*-*-openbsd*): Update.
2722 * NEWS (New native configuration): Mention NetBSD/hppa.
2723 (New targets): Mention NetBSD/hppa.
2727 * gdbarch.sh (function_list): Add new property bits_big_endian to
2729 * gdbarch.{c,h}: Regenerate.
2731 * value.c (struct value): Replace BITS_BIG_ENDIAN by
2732 gdbarch_bits_big_endian (comment).
2733 (unpack_field_as_long, modify_field): Likewise.
2734 * value.h: Likewise (comment).
2735 * valops.c (value_slice): Likewise.
2736 * valarith.c (value_subscript, value_bit_index): Likewise.
2737 * gdbtypes.h (field): Likewise (comment).
2738 * eval.c (evaluate_subexp_standard): Likewise.
2739 * dwarf2read.c (dwarf2_add_field): Likewise.
2740 * ada-lang.c (decode_packed_array, ada_value_primitive_packed_val)
2741 (move_bits, ada_value_assign, value_assign_to_component): Likewise.
2743 * defs.h (BITS_BIG_ENDIAN): Remove.
2747 * jv-exp.y (yylex): Replace DEPRECATED_STREQN with the appropriate
2749 * m2-exp.y (yylex): Likewise.
2750 * objc-exp.y (yylex): Likewise.
2752 * defs.h (DEPRECATED_STREQN): Remove.
2756 * MAINTAINERS: Update my email address.
2760 * README: Mention gdbserver/README.
2764 * valarith.c (value_binop): Handle BINOP_INTDIV
2765 for unsigned and signed integers.
2769 * s390-tdep.c (s390_gdbarch_init): Set default long double
2770 type to 128-bit IEEE quad.
2774 * hpux-thread.c (hpux_thread_resume): Delete commented-out code.
2778 * auxv.c (fprint_target_auxv): Add support for AT_SUN_AUXFLAGS.
2780 * dfp.c, dfp.h: Rename decimal_to_double to decimal_to_doublest.
2781 * value.c: All callers changed.
2785 * rs6000-nat.c (add_vmap, vmap_ldinfo, vmap_exec): Replace
2786 DEPRECATED_STREQ by its expression.
2787 * coffread.c (coff_locate_sections, coff_symtab_read): Likewise.
2788 * xcoffread.c (read_xcoff_symtab, read_symbol_lineno, find_linenos)
2789 (scan_xcoff_symtab): Likewise.
2790 * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code): Likewise.
2791 * f-lang.c (find_common_for_function): Likewise.
2792 * objc-exp.y (parse_number): Likewise.
2794 * defs.h (DEPRECATED_STREQ): Remove.
2798 * mn10300-tdep.h (AM33_MODE): Add gdbarch as parameter.
2799 * mn10300-tdep.c (set_reg_offsets, mn10300_analyze_prologue): Use
2800 get_frame_arch to get at the current_architecture. Update AM33_MODE
2802 (mn10300_analyze_prologue): Add gdbarch as parameter. Update caller.
2803 (mn10300_frame_unwind_cache): Use get_frame_arch to get at the current
2805 (set_reg_offsets, mn10300_analyze_prologue): Fix indentation.
2809 * amd64-nat.h (amd64_native_gregset_supplies_p): Add gdbarch as
2811 * amd64-nat.c (amd64_native_gregset_supplies_p): Likewise.
2813 (amd64_native_gregset_reg_offset): Add gdbarch as parameter. Replace
2814 current_gdbarch by gdbarch. Update caller.
2816 * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers)
2817 (amd64_linux_store_inferior_registers): Use get_regcache_arch to get at
2818 the current architecture. Update calls of
2819 amd64_native_gregset_supplies_p.
2820 * amd64bsd-nat.c (amd64bsd_fetch_inferior_registers)
2821 (amd64bsd_store_inferior_registers): Likewise.
2825 * ppc-linux-nat.c (ppc_register_u_addr): Add gdbarch as parameter.
2826 Replace current_gdbarch by gdbarch. Update caller.
2830 * dbxread.c (repeated_header_complaint, dbx_symfile_init)
2831 (read_dbx_dynamic_symtab, function_outside_compilation_unit_complaint)
2832 (read_dbx_symtab, end_psymtab, dbx_psymtab_to_symtab_1)
2833 (dbx_psymtab_to_symtab, read_ofile_symtab, process_one_symbol)
2834 (stabsect_build_psymtabs): Fix indentation.
2838 * corelow.c (core_xfer_partial): Comment, cut/paste error.
2842 * win32-nat.c (win32_create_inferior): Restore code calling
2843 CloseHandle on ProcessInformation structure.
2847 * configure.ac: Check for void * as 3 argument of ptrace.
2848 * configure: regenerate.
2852 * alpha-tdep.c (alpha_heuristic_proc_start)
2853 (alpha_sigtramp_register_address): Add gdbarch as parameter. Replace
2854 current_gdbarch by gdbarch.
2856 (alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the
2857 current architecture by frame_info. Update alpha_heuristic_proc_start
2860 (alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use
2861 get_frame_arch to get at the current architecture by frame_info. Update
2862 alpha_sigtramp_register_address call.
2864 * arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace
2865 current_gdbarch by gdbarch. Update caller.
2866 (convert_to_extended, convert_from_extended): Add endianess parameter
2867 for comparison. Update caller.
2868 (arm_extract_return_value, arm_store_return_value): Use
2869 get_regcache_arch to get at the current architecture.
2871 * cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace
2872 current_gdbarch by gdbarch. Update caller.
2873 (cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add
2874 gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch.
2876 * h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add
2877 gdbarch as parameter. Update caller.
2878 (h8300_init_frame_cache): Add gdbarch as parameter. Replace
2879 current_gdbarch by gdbarch. Update caller.
2881 * hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and
2882 update caller. Replace current_gdbarch by gdbarch.
2884 * m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at
2885 the current architecture. Replace current_gdbarch by gdbarch.
2886 * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise.
2887 (STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its
2888 expression. Add gdbarch as parameter and replace current_gdbarch with
2890 (M6811_TDEP): Remove.
2891 (m68hc11_frame_prev_register): Use get_frame_arch to get at the current
2893 (m68hc11_scan_prologue): Add gdbarch as parameter. Replace
2894 current_gdbarch by gdbarch. Update caller.
2896 * m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and
2898 (m68k_analyze_register_saves): Likewise. Also replace current_gdbarch
2901 * rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update
2902 caller. Relace current_gdbarch by gdbarch.
2903 (altivec_register_p, spe_register_p): Likewise.
2904 * ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as
2906 * ppc-linux-nat.c (fetch_register, store_register): Update caller of
2907 altivec_register_p and spe_register_p.
2909 * score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update
2910 caller. Replace current_gdbarch by gdbarch.
2911 (score_analyze_prologue): use get_frame_arch to get at the current
2914 * sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter.
2915 * sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace
2916 current_gdbarch by gdbarch. Update caller.
2917 (sparc_frame_cache): Use get_frame_arch to get at the current
2919 * sparce64-tdep.c (sparc64_skip_prologue): Update call of
2920 sparc_analyze_prologue.
2922 * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as
2927 * exec.c: #include "arch-utils.h"
2928 (print_section_info): Use gdbarch_from_bfd to get at the
2929 current architecture. Replace current_gdbarch. Fix indention. Replace
2930 deprecated_print_address_numeric by paddress.
2931 * Makefile.in (exec.o) Add dependency to arch-utils.h.
2933 * valprint.c (val_print_string): Replace
2934 deprecated_print_address_numeric.
2935 * tracepoint.c (trace_mention, scope_info): Likewise.
2936 * symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1, print_symbol)
2937 (print_symbol, print_partial_symbols, maintenance_info_psymtabs)
2938 (maintenance_check_symtabs): Likewise.
2939 * symfile.c (list_overlays_command): Likewise.
2940 * stack.c (frame_info, print_block_frame_labels): Likewise.
2941 * printcmd.c (print_address, print_address_demangle)
2942 (address_info): Likewise.
2943 * corefile.c (memory_error): Likewise.
2944 * infcmd.c (jump_command): Likewise.
2945 * breakpoint.c (insert_bp_location, describe_other_breakpoints)
2946 (mention, delete_breakpoint): Likewise.
2947 * c-valprint.c (print_function_pointer_address, c_val_print): Likewise.
2948 * dwarf2read.c (dump_die): Likewise.
2949 * ada-valprint.c (ada_val_print_1): Likewise.
2950 * f-valprint.c (f_val_print): Likewise.
2951 * linux-fork.c (info_forks_command): Likewise.
2952 * m32r-com.c (m32r_load_section, m32r_load)
2953 (m32r_upload_command): Likewise.
2955 * ui-out.c (ui_out_field_core_addr): Remove unnecessary comment.
2959 * gdbarch.sh (skip_prologue): Add gdbarch
2961 * gdbarch.{c,h}: Regenerate.
2963 * alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter.
2964 * amd64-tdep.c (amd64_skip_prologue): Likewise.
2965 * avr-tdep.c (avr_skip_prologue): Likewise.
2966 * cris-tdep.c (cris_skip_prologue): Likewise.
2967 * frv-tdep.c (frv_skip_prologue): Likewise.
2968 * h8300-tdep.c (h8300_skip_prologue): Likewise.
2969 * hppa-tdep.c (hppa_skip_prologue): Likewise.
2970 * i386-tdep.c (i386_skip_prologue): Likewise.
2971 * ia64-tdep.c (ia64_skip_prologue): Likewise.
2972 * iq2000-tdep.c (iq2000_skip_prologue): Likewise.
2973 * m32r-tdep.c (m32r_skip_prologue): Likewise.
2974 * m68hc11-tdep.c (m68hc11_skip_prologue): Likewise.
2975 * m68k-tdep.c (m68k_skip_prologue): Likewise.
2976 * m88k-tdep.c (m88k_skip_prologue): Likewise.
2977 * mep-tdep.c (mep_skip_prologue): Likewise.
2978 * mips-tdep.c (mips_skip_prologue): Likewise.
2979 * mn10300-tdep.c (mn10300_skip_prologue): Likewise.
2980 * mt-tdep.c (mt_skip_prologue): Likewise.
2981 * rs6000-tdep.c (rs6000_skip_prologue): Likewise.
2982 * score-tdep.c (score_skip_prologue): Likewise.
2983 * sh64-tdep.c (sh64_skip_prologue): Likewise.
2984 * sh-tdep.c (sh_skip_prologue): Likewise.
2985 * sparc64-tdep.c (sparc64_skip_prologue): Likewise.
2986 * sparc-tdep.c (sparc32_skip_prologue): Likewise.
2987 * spu-tdep.c (spu_skip_prologue): Likewise.
2988 * v850-tdep.c (v850_skip_prologue): Likewise.
2989 * vax-tdep.c (vax_skip_prologue): Likewise.
2990 * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
2991 * xtensa-tdep.c (xtensa_skip_prologue): Likewise.
2993 * arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace
2994 current_gdbarch by gdbarch.
2995 * m32c-tdep.c (m32c_skip_prologue): Likewise.
2996 * s390-tdep.c (s390_skip_prologue): Likewise.
3000 * defs.h (struct continuation_arg): Fix typo in comment.
3001 * target.c (target_translate_tls_address): Fix comment spelling error.
3005 * doublest.h (DOUBLEST_PRINT_FORMAT): Remove % from string.
3006 (DOUBLEST_SCAN_FORMAT): Likewise.
3007 * dfp.c (decimal_from_floating): Use DOUBLEST_PRINT_FORMAT.
3008 * ada-lex.l (processReal): Prepend "%" to use of DOUBLEST_SCAN_FORMAT.
3009 * c-exp.y (parse_number): Likewise.
3010 * jv-exp.y (parse_number): Likewise.
3011 * objc-exp.y (parse_number): Likewise.
3012 * p-exp.y (parse_number): Likewise.
3016 * gdbtypes.c (create_array_type): Add handling of null Ada arrays.
3017 (check_typedef): Likewise.
3021 * printcmd.c (printf_command): Add seen_big_h, seen_big_d and
3022 seen_double_big_d, treat the new H, D, and DD modifiers as length
3027 * dwarf2read.c (read_enumeration_type): Add comment.
3031 * config.in: Regenerate.
3035 * ada-lang.c (ada_convert_actual): Renames convert_actual.
3037 (ada_convert_actuals): Delete.
3038 * ada-lang.h (ada_convert_actual): Add declaration.
3039 (ada_convert_actuals): Remove declaration.
3040 * infcall.c: #include "ada-lang.h".
3041 (value_arg_coerce): Add new parameter sp. Update function
3042 documetnation. Add handling of Ada function call parameters.
3043 * Makefile.in (infcall.o): Update dependencies.
3047 * ada-lang.c (ensure_lval): Fix value lval kind.
3048 (convert_actual): Add handling for arguments passed by reference.
3052 * dbxread.c (read_dbx_symtab): Fix indentation.
3056 * Makefile.in (dfp.o): Depend on expression.h, gdbtypes.h and value.h.
3057 (valarith.o): Depend on dfp.h.
3058 (valops.o): Likewise.
3059 * dfp.c: Include expression.h, gdbtypes.h, value.h and dfp.h.
3060 (set_decnumber_context): New function.
3061 (decimal_check_errors): Likewise.
3062 (decimal_from_number): Likewise.
3063 (decimal_to_number): Likewise.
3064 (decimal_from_string): Use set_decnumber_context and
3065 decimal_check_errors.
3066 (decimal_from_integral): New function.
3067 (decimal_from_floating): Likewise.
3068 (decimal_to_double): Likewise.
3069 (promote_decimal): Likewise.
3070 (decimal_binop): Likewise.
3071 (decimal_is_zero): Likewise.
3072 (decimal_compare): Likewise.
3073 (decimal_convert): Likewise.
3074 * dfp.h (decimal_from_integral): New prototype.
3075 (decimal_from_floating): Likewise.
3076 (decimal_to_double): Likewise.
3077 (decimal_binop): Likewise.
3078 (decimal_is_zero): Likewise.
3079 (decimal_compare): Likewise.
3080 (decimal_convert): Likewise.
3081 * eval.c (evaluate_subexp_standard): Remove expect_type argument from
3082 call to value_from_decfloat.
3083 * valarith.c: Include dfp.h.
3084 (value_args_as_decimal): New function.
3085 (value_binop): Add if block to handle TYPE_CODE_DECFLOAT values.
3086 (value_logical_not): Likewise.
3087 (value_equal): Likewise.
3088 (value_less): Likewise.
3089 (value_pos): Likewise.
3090 (value_neg): Formatting fix.
3091 * valops.c: Include dfp.h.
3092 (value_cast): Add if block to handle TYPE_CODE_DECFLOAT values.
3093 * value.c (unpack_long): Add case to handle TYPE_CODE_DECFLOAT.
3094 (unpack_double): Add if block to handle TYPE_CODE_DECFLOAT.
3095 (value_from_decfloat): Remove expect_type argument.
3096 * value.h (value_from_decfloat): Update prototype.
3100 Ignore change in name of dynamic linker during
3101 execution on Solaris. This also unbreaks pending breakpoints.
3103 * solist.h (struct target_so_ops): New field same.
3104 * solib-svr4.c (svr4_same): New.
3105 (_initialize_svr4_solib): Register svr4_same.
3106 * solib.c (update_solib_list): Use ops->same, if available.
3110 * win32-nat.c (win32_make_so): Use cygwin-style path to avoid warnings
3111 when using MS-DOS paths.
3115 * NEWS: Mention --pid and --core command line behaviour changes.
3119 * main.c (captured_main): Remove 'count' varible and the
3120 ALIGN_STACK_ON_ENTRY block that used it. Error out if --core and
3121 --pid options were issued simultaneously. If an explicit pid
3122 option was passed, don't fallback to core file. Detect extra
3123 arguments better in the presence of explicit pid or core
3128 * ada-lang.c (ada_which_variant_applies): Correctly compute
3129 the value of the discriminant when the variant record is packed.
3133 * ada-lang.c (is_name_suffix): Handle middle-name numeric suffixes
3134 that are used to differentiate homonyms.
3138 * ada-lang.c (decode_packed_array_type): Avoid a seg fault
3139 when the type is an anonymous pointer type.
3140 (ada_check_typedef): Avoid a seg fault when the type is null.
3141 * ada-typeprint.c (print_array_type): Add support for pointer
3146 * ada-exp.y: Allow '{type} ADDRESS' notation on left of assignment.
3150 * ada-lang.c (ada_evaluate_subexp): Evaluate tagged types in
3151 EVAL_NORMAL mode when noside is EVAL_AVOID_SIDE_EFFECTS.
3155 * ada-exp.y (chop_separator): New function.
3156 (write_selectors): Rewrite to re-use chop_separator.
3157 (ada_nget_field_index, get_symbol_field_type): New functions.
3158 (write_var_or_type): Add support for "ptype TYPENAME.FIELD"
3163 * symtab.c (find_pc_sect_line): Use SYMBOL_VALUE_ADDRESS instead
3164 of SYMBOL_VALUE when working with function symbols.
3168 * ada-lang.c (resolve_subexp): Add handling of OP_REGISTER
3169 expressions. These expressions do not need to be rewriten.
3173 * dwarf2read.c (read_enumeration_type): Flag type as stub if
3174 the given die is a declaration.
3178 * ada-lang.c (ada_array_bound_from_type): Make non-static.
3179 Handle properly the case when the index type is an enumerated type.
3180 Do not return the subtype of the bounds type, just return the
3181 bounds type directly - this is not needed and is more consistent
3182 with what we do for arrays when no XA parallel type exists.
3186 * ada-lang.c (static_unwrap_type): Add forward declaration.
3187 (template_to_static_fixed_type): Fields of dynamic types sometimes
3188 also need to be unwrapped. Take this into account.
3189 (ada_to_fixed_type_1): Renamed from ada_to_fixed_type.
3190 (ada_to_fixed_type): New wrapper around ada_to_fixed_type_1.
3191 * ada-typeprint.c (ada_print_type): Get the typename from
3192 the original type, not the base type.
3196 * ada-lang.c (ada_value_struct_elt, to_fixed_array_type)
3197 (to_fixed_array_type, ada_to_fixed_value_create, unwrap_value):
3198 Update calls to ada_to_fixed_type.
3199 (ada_template_to_fixed_record_type_1): Ditto, but without looking
3201 (ada_to_fixed_type): Add check_tag parameter; do not look for
3202 tag if null. When looking for a tag, use a fixed record type.
3203 * ada-lang.h (ada_to_fixed_type): Add check_tag parameter.
3204 * ada-valprint.c (printable_val_type, ada_value_print): Update
3205 calls to ada_to_fixed_type.
3209 * doublest.c (convert_floatformat_to_doublest): Call
3210 floatformat_to_doublest instead of floatformat_to_double and use
3212 (convert_doublest_to_floatformat): Call floatformat_from_doublest
3213 instead of floatformat_from_double and use DOUBLEST variables.
3217 * MAINTAINERS (Write After Approval): Add self.
3221 * symfile.c (set_initial_language): Make non-static.
3222 * symfile.h (set_initial_language): Add declaration.
3223 * language.c: #include "symfile.h".
3224 (set_language): Call set_initial_language if the frame language
3225 could not be determined.
3229 * eval.c (evaluate_subexp_for_address): Provide frame address to
3230 locate_var_value only if it will be needed.
3234 * linux-nat.c (linux_child_follow_fork): Call also CHECK_FOR_THREAD_DB.
3238 * ada-lang.c (ada_evaluate_subexp): Modify the value returned
3239 when noside is EVAL_AVOID_SIDE_EFFECTS to be an lval_memory.
3240 This is needed to make sure that any other treatment applied
3241 to the resulting value does not fail for spurious reason,
3242 such as trying to take the address of this value.
3246 * ada-lang.c (ada_value_equal): Dereference reference types when
3251 Updated copyright notices for most files.
3255 * win32-nat.c (psapi_module_handle): Remove static.
3256 (get_module_name): Rename from psapi_get_dll_name. Revamp slightly to
3257 return first module found if base_address is zero. Don't initialize
3258 psapi function pointers here. Convert to cygwin paths when
3260 (win32_pid_to_exec_file): Use Cygwin's /proc interface to determine
3261 executable name. Use get_module_name when that fails or when
3263 (_initialize_psapi): New function. Initialize psapi stuff before it is
3264 needed or issue a warning if it is not found. Move psapi_module_handle
3269 * ada-lang.c (ada_remove_trailing_digits): New function.
3270 (ada_remove_po_subprogram_suffix): New function.
3271 (ada_decode): Improve. Move the description of the algorithm
3272 directly inside the code, instead of in the function global
3277 * ada-valprint.c (ada_val_print_1) [TYPE_CODE_REF]: Ignore deref_ref
3278 and always print the dereferenced value.
3282 * ada-lang.c (ada_evaluate_subexp, case BINOP_SUB): Add handling
3283 of the case where the first argument is a reference.
3284 (ada_evaluate_subexp, case BINOP_ADD): Likewise.
3288 Implement support for Ada interface types.
3290 * ada-lang.c (ada_is_dispatch_table_ptr_type): New function.
3291 (ada_is_ignored_field): Ignore fields that are a dispatch table
3296 * top.c (print_gdb_version): Update copyright year.
3300 * ChangeLog-2007: New ChangeLog rotation.
3301 * ChangeLog: Reset for 2008.
3302 * config/djgpp/fnchange.lst: Add entries for ChangeLog-2006 and
3305 For older changes see ChangeLog-2007.
3311 version-control: never