3 * python/python-value.c (value_object_methods)
4 (value_object_as_number, value_object_as_mapping): Move to bottom
6 (valpy_dealloc, valpy_new, valpy_length, valpy_getitem)
7 (valpy_setitem, valpy_str, valpy_add, valpy_subtract)
8 (valpy_multiply, valpy_divide, valpy_remainder, valpy_power)
9 (valpy_negative, valpy_positive, valpy_absolute, valpy_nonzero)
10 (valpy_richcompare, valpy_dereference): Don't forward-declare.
11 (valpy_length) [HAVE_LIBPYTHON2_4]: Change return type to `int'.
15 * infrun.c (adjust_pc_after_break): Do nothing if executing in
20 * infcmd.c (GO_USAGE): Delete.
24 Target interface for reverse debugging.
25 * target.h (enum target_waitkind):
26 Add new wait event, TARGET_WAITKIND_NO_HISTORY.
27 (struct target_ops): New method to_can_execute_reverse.
28 (target_can_execute_reverse): New macro.
29 * target.c (update_current_target): Inherit to_can_execute_reverse.
31 Remote interface for reverse debugging.
32 * remote.c (remote_can_execute_reverse): New target method.
33 (remote_resume): Check for reverse exec direction, and send
34 appropriate command to target.
35 (remote_wait_as): Check target response for NO_HISTORY status.
36 Also check for empty reply (target doesn't understand "bs" or "bc).
37 (remote_vcont_resume): Jump out if attempting reverse execution.
39 Event handling interface for reverse debugging.
40 * infrun.c (execution_direction): New state variable.
41 (enum inferior_stop_reason): Add NO_HISTORY reason.
42 (handle_inferior_event): Handle TARGET_WAITKIND_NO_HISTORY.
43 Handle stepping over a function call in reverse.
44 Handle stepping thru a line range in reverse.
45 Handle setting a step-resume breakpoint in reverse.
46 Handle stepping into a function in reverse.
47 Handle stepping between line ranges in reverse.
48 (print_stop_reason): Print reason for NO_HISTORY.
49 (step_into_function): Rename to handle_step_into_function.
50 (handle_step_into_function_backward): New function.
51 (set_exec_direction_func, show_exec_direction_func): New funcs.
52 (proceed): No need to singlestep over a breakpoint
53 when resuming in reverse.
55 * inferior.h (enum exec_direction_kind): New enum.
56 (execution_direction): Export new execution state variable.
58 * breakpoint.c (make_breakpoint_silent): New function.
59 * breakpoint.h (make_breakpoint_silent): Export.
60 * infcmd.c (finish_command): Check for reverse exec direction.
61 (finish_backward): New function, handle finish cmd in reverse.
63 User interface for reverse execution.
64 * Makefile.in (reverse.c): New file.
65 * reverse.c: New file. User interface for reverse execution.
69 * remote.c (record_currthread): Add inferior before child threads.
70 (remote_threads_info): Check for exited threads. Mention
75 * breakpoint.h (enum bptype): New enum bp_catchpoint.
76 Delete bp_catch_fork and bp_catch_vfork.
77 (struct breakpoint_ops): Add new methods "insert", "remove"
79 * breakpoint.c (create_fork_vfork_event_catchpoint)
80 (create_fork_event_catchpoint, create_vfork_event_catchpoint): Remove.
81 (insert_catchpoint): Remove handling of bp_catch_fork and
82 bp_catch_vfork catchpoints, and handle them as bp_catchpoint
84 (insert_bp_location, update_breakpoints_after_exec)
85 (remove_breakpoint, bpstat_check_location, bpstat_what)
86 (allocate_bp_location): Likewise.
87 (print_it_typical, print_one_breakpoint_location, mention): Remove
88 handling of bp_catch_fork and bp_catch_vfork breakpoints.
89 (ep_is_catchpoint, user_settable_breakpoint)
90 (breakpoint_address_is_meaningful, adjust_breakpoint_address)
91 (breakpoint_re_set_one, disable_command, enable_command):
92 Remove use of bp_catch_fork and bp_catch_vfork. Add handling of
93 bp_catchpoint breakpoints.
94 (insert_catch_fork, remove_catch_fork, breakpoint_hit_catch_fork)
95 (print_it_catch_fork, print_one_catch_fork, print_mention_catch_fork):
97 (catch_fork_breakpoint_ops): New static constant.
98 (insert_catch_vfork, remove_catch_vfork, breakpoint_hit_catch_vfork)
99 (print_it_catch_vfork, print_one_catch_vfork)
100 (print_mention_catch_vfork): New functions.
101 (catch_vfork_breakpoint_ops): New static constant.
102 (create_catchpoint, create_fork_vfork_event_catchpoint): New functions.
103 (catch_fork_command_1): Use create_fork_vfork_event_catchpoint
104 to create the fork and vfork catchpoints.
105 (gnu_v3_exception_catchpoint_ops): Set new breakpoint_ops fields.
106 * ada-lang.c (catch_exception_breakpoint_ops): Set new breakpoint_ops
108 (catch_exception_unhandled_breakpoint_ops): Likewise.
109 (catch_assert_breakpoint_ops): Likewise.
113 * remote.c (set_general_process): New.
114 (remote_check_symbols): Use it.
118 * remote.c (push_remote_target): Delete.
119 * target.h (push_remote_target): Delete declaration.
123 * remote.c (remote_close): Unregister remote_desc from the event
124 loop. Always restore the SIGINT handler. Discard all inferiors
126 (remote_detach_1, remote_disconnect): Don't unregister the file
127 descriptor from the event loop here.
128 (interrupt_query, readchar, getpkt_sane): Pop the target instead
129 of morning the current inferior.
130 (remote_kill): Don't unregister the file descriptor from the event
132 (remote_mourn_1): Don't discard inferiors here.
136 * breakpoint.c (breakpoint_init_inferior): Clean up the moribund
138 (moribund_breakpoint_here_p): Record the moribund
139 location in the moribund_locations vector.
140 * breakpoint.h (moribund_breakpoint_here_p): Declare.
141 (displaced_step_fixup): Check if the breakpoint the thread was
142 trying to step over has been removed since having been placed in
143 the displaced stepping queue.
144 (adjust_pc_after_break): In non-stop mode, check for a moribund
145 breakpoint at the stop pc.
146 (handle_inferior_event): Don't retire moribund breakpoints on
147 TARGET_WAITKIND_IGNORE.
151 * infrun.c (displaced_step_prepare): Switch thread temporarily
153 (displaced_step_fixup): Make sure target_resume sees ptid as
154 inferior_ptid. Add debug output.
160 * breakpoint.c (show_breakpoint_hit_counts): Delete.
161 (print_one_breakpoint_location): Adjust.
162 (breakpoint_clear_ignore_counts): Delete.
163 * breakpoint.h (breakpoint_clear_ignore_counts): Remove
165 * target.c (generic_mourn_inferior): Don't clear ignore
166 counts (never reached).
170 * dwarf2read.c (comp_unit_head): Use unsigned int consistently
171 for dwarf section offsets and sizes.
173 (dwarf2_per_cu_data): Ditto.
174 (create_all_comp_units): Change offset to unsigned int.
175 (load_full_comp_unit,find_partial_die_in_comp_unit,find_partial_die,
176 dwarf2_find_containing_comp_unit,dwarf2_find_comp_unit): Ditto.
178 * dwarf2read.c (read_initial_length): Delete cu_header arg.
180 (read_checked_initial_length_and_offset): New function.
181 (read_offset_1): New function.
182 (read_offset): Call it.
183 (dwarf_decode_line_header): Call read_checked_initial_length_and_offset
184 instead of read_initial_length. Call read_offset_1 instead of
187 * dwarf2read.c (dwarf2_get_ref_die_offset): Remove unused arg `cu'.
190 * dwarf2read.c (dwarf_attr_name): Unconditionally support all
191 DW_AT_MIPS_* except DW_AT_MIPS_fde which collides with
192 DW_AT_HP_block_index.
196 * remote.c (remote_start_remote): Always tell the stub if we're in
201 * remote.c (remote_wait): Rename to...
202 (remote_wait_as): ... this. Don't loop here. If the remote
203 didn't stop, return TARGET_WAITKIND_IGNORE.
204 (remote_wait): New, reimplemented on top of remote_wait_as.
208 * Makefile.in (gnu-nat.o): Revert the 2008-09-10 change, as the problem
211 * reply_mig_hack.awk: Use the `BAD_TYPECHECK' macro.
213 * MAINTAINERS (Write After Approval): Add myself.
217 Make it compile without warnings.
219 * procfs.c (create_procinfo): Initialize `parent'.
220 (dead_procinfo): Pass a constant string as format to error.
221 (procfs_address_to_host_pointer): Add cast to gdb_type *.
222 (procfs_find_LDT_entry): Adjust format string to long int
224 (procfs_xfer_partial): Adjust prototype. Add gdb_byte* cast.
225 (procfs_xfer_memory): Adjust prototype.
226 (info_mappings_callback, info_proc_mappings): Adjust to not pass a
227 variable as printf_filtered format.
228 (procfs_make_note_section): Change type of auxv local to gdb_byte.
229 * Makefile.in: Remove special rule.
234 * remote.c (remote_open_1): Move acknowledging any pending ack,
235 querying supported features, activating noack mode, finding the
236 target description, enabling extended remote, and checking remote
237 symbols from here ...
238 (remote_start_remote): ... to here.
239 (remote_open_1): Don't pop the target if it is already gone.
240 * target.c (unpush_target): Check for the dummy target.
244 * ser-mingw.c: Include "command.h".
245 (pipe_windows_open): Declare locals at the beginning of the scope.
249 * remote.c (struct remote_state) <waiting_for_stop_reply>: New
251 (remote_open_1): Clear waiting_for_stop_reply.
252 (remote_resume): Set waiting_for_stop_reply.
253 (remote_wait): Clear or set waiting_for_stop_reply accordingly.
254 (putpkt_binary): If we're in async mode and waiting for a stop
255 reply, bail out with an error.
256 (extended_remote_mourn_1): Clear waiting_for_stop_reply.
260 * remote.c (remote_get_thread_info): If the remote doesn't support
265 Convert static_kind into loc_kind enum.
266 * gdbtypes.h (enum field_loc_kind): New.
267 (union field_location): New field dwarf_block.
268 (struct field): Rename static_kind as loc_kind.
269 (FIELD_STATIC_KIND): Rename to ...
270 (FIELD_LOC_KIND): ... here.
271 (TYPE_FIELD_STATIC_KIND): Rename to ...
272 (TYPE_FIELD_LOC_KIND): ... here and use there now new FIELD_LOC_KIND.
273 (TYPE_FIELD_STATIC_HAS_ADDR): Remove.
274 (TYPE_FIELD_STATIC): Remove.
275 (TYPE_FIELD_BITPOS): Reformat.
276 (SET_FIELD_BITPOS): New.
277 (FIELD_PHYSADDR): Rename to ...
278 (FIELD_STATIC_PHYSADDR): ... here.
279 (TYPE_FIELD_STATIC_PHYSADDR): Follow the FIELD_PHYSADDR rename.
280 (SET_FIELD_PHYSADDR): Use new FIELD_LOC_KIND.
281 (FIELD_PHYSNAME): Rename to ...
282 (FIELD_STATIC_PHYSNAME): ... here.
283 (TYPE_FIELD_STATIC_PHYSNAME): Follow the FIELD_PHYSNAME rename.
284 (SET_FIELD_PHYSNAME): Use new FIELD_LOC_KIND.
285 (FIELD_DWARF_BLOCK, TYPE_FIELD_DWARF_BLOCK, SET_FIELD_DWARF_BLOCK): New.
286 (field_is_static): New declaration.
287 * gdbtypes.c (field_is_static): New function.
288 (copy_type_recursive): Update throughout.
289 * amd64-tdep.c, c-typeprint.c, coffread.c, cp-valprint.c, dwarf2read.c,
290 eval.c, jv-typeprint.c, jv-valprint.c, mdebugread.c, p-typeprint.c,
291 p-valprint.c, valops.c, value.c, varobj.c: Update throughout.
296 * gnu-nat.h: Rename `current_inferior' to `gnu_current_inf' to
297 avoid a name collision.
298 * gnu-nat.c: Likewise.
299 * i386gnu-nat.c: Likewise.
303 * ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Add handling
304 of arguments that are references.
308 * dwarf2read.c (dwarf2_die_debug): New static global.
309 (dump_die_shallow): Renamed from dump_die, New args f, indent.
310 Print to specified file, indented by the specified amount.
311 (dump_die_for_error): New fn. Point all existing callers of
313 (dump_die_die_1,dump_die): New fns, replaces ...
314 (dump_die_list): ... deleted.
315 (read_die_and_children_1): Old contents of read_die_and_children
317 (read_die_and_children): Rewrite.
318 (read_die_and_siblings): Call read_die_and_children_1 instead of
319 read_die_and_children.
320 (_initialize_dwarf2_read): New option "debug dwarf2-die".
321 * gdbinit.in (pdie): New macro.
323 * dwarf2read.c (offset_in_cu_p): New function.
324 (find_partial_die,follow_die_ref): Use it.
326 * symmisc.c (maintenance_info_symtabs): Watch for ^c.
327 (maintenance_info_psymtabs): Ditto.
331 * infrun.c (handle_inferior_event): Fix typo in comment.
335 * mi/mi-interp.c (mi_on_resume): Flush raw_stdout.
340 * gdbtypes.c (get_vptr_fieldno): baseclass and basetype may have
345 * solib-osf.c: Include "solib.h".
349 * utils.c, defs.h (gdb_buildargv): New fn. Wrap buildargv
350 and check for out-of-memory condition.
351 * exec.c (exec_file_command): Call it.
352 * infrun.c (handle_command, xdb_handle_command): Likewise.
353 * interps.c (interpreter_exec_cmd): Likewise.
354 * linux-nat.c (linux_nat_info_proc_cmd): Likewise.
355 * procfs.c (info_proc_cmd): Likewise.
356 * remote-mips.c (common_open): Likewise.
357 * remote-sim.c (gdbsim_kill, gdbsim_create_inferior)
358 (gdbsim_open): Likewise.
359 * remote.c (extended_remote_run, remote_put_command)
360 (remote_get_command, remote_delete_command): Likewise.
361 * ser-mingw.c (pipe_windows_open): Likesise.
362 * source.c (add_path, show_substitute_path_command)
363 (unset_substitute_path_command, set_substitute_path_command):
365 * stack.c (backtrace_command): Likewise.
366 * symfile.c (symbol_file_command, generic_load)
367 (add_symbol_file_command): Likesise.
368 * symmisc.c (maintenance_print_symbols, maintenance_print_psymbols)
369 (maintenance_print_msymbols): Likewise.
373 Replace TYPE_ARRAY_{UPPER,LOWER}_BOUND_TYPE by a bit if {un,}defined.
374 * c-typeprint.c (c_type_print_varspec_suffix), m2-typeprint.c
375 (m2_array), p-typeprint.c (pascal_type_print_varspec_prefix),
376 valops.c (value_cast), varobj.c (c_number_of_children): Replace
377 TYPE_ARRAY_UPPER_BOUND_TYPE compared to BOUND_CANNOT_BE_DETERMINED by
378 TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
379 * parse.c (follow_types): Use TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
380 * f-valprint.c (f77_get_dynamic_upperbound): Replace with ...
381 (f77_get_upperbound): ... this function handling now only
382 TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
383 (f77_get_dynamic_lowerbound): Replace with ...
384 (f77_get_lowerbound): ... this function handling now only
385 TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED.
386 (f77_get_dynamic_length_of_aggregate, f77_create_arrayprint_offset_tbl):
387 Update their callers.
388 * eval.c (evaluate_subexp_standard): Update their callers.
389 * f-lang.h (f77_get_dynamic_upperbound, f77_get_upperbound)
390 (f77_get_dynamic_lowerbound, f77_get_lowerbound): Update their
392 (BOUND_FETCH_OK, BOUND_FETCH_ERROR): Remove.
393 * f-typeprint.c (f_type_print_varspec_suffix, f_type_print_base): Remove
394 the lower_bound_was_default variable. Update the
395 f77_get_dynamic_upperbound, f77_get_upperbound and
396 TYPE_ARRAY_UPPER_BOUND_TYPE calls.
397 * gdbtypes.c (print_bound_type): Remove the function.
398 (recursive_dump_type): Remove its calls printing UPPER_BOUND_TYPE and
400 * gdbtypes.h (enum array_bound_type): Remove.
401 (struct main_type): Remove the fields upper_bound_type and
402 lower_bound_type. Comment the new overload of the field artificial.
403 (TYPE_ARRAY_UPPER_BOUND_TYPE): Replace by ...
404 (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED): ... this macro.
405 (TYPE_ARRAY_LOWER_BOUND_TYPE): Replace by ...
406 (TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED): ... this macro.
410 * Makefile.in (HFILES_NO_SRCDIR): Remove gdb-events.h, gstdint.h.
414 * mips-linux-tdep.c (mips_linux_in_dynsym_resolve_code): Update
416 (mips_linux_skip_resolver): Also use glibc_skip_solib_resolver.
417 (mips_linux_init_abi): Do not override skip_trampoline_code.
418 * configure.tgt (mips*-*-linux*): Add glibc-tdep.o.
419 * mips-tdep.c (mips32_scan_prologue): Stop scanning at branches.
420 (mips_stub_frame_sniffer): Use the stub frame sniffer for PIC stubs.
421 (mips_skip_mips16_trampoline_code): Rename from
422 mips_skip_trampoline_code.
423 (mips_skip_pic_trampoline_code, mips_skip_trampoline_code): New.
424 * infrun.c (handle_inferior_event): Do not pass zero to
425 in_solib_dynsym_resolve_code.
430 * win32-nat.c (do_initial_win32_stuff): Set inferior_ptid.
435 * symtab.c (search_symbols): Update.
436 * symtab.h (domain_enum_tag) <METHODS_DOMAIN>: Remove.
440 * symfile.c (syms_from_objfile): Update.
441 (reread_symbols): Update.
442 * objfiles.h (OBJF_SYMS): Remove.
443 (OBJF_REORDERED): Renumber.
444 (OBJF_SHARED): Likewise.
445 (OBJF_READNOW): Likewise.
446 (OBJF_USERLOADED): Likewise.
450 * symtab.c (find_pc_sect_psymtab): Use MSYMBOL_TYPE.
451 (find_pc_sect_symtab): Likewise.
452 * symmisc.c (dump_msymbols): Use MSYMBOL_TYPE.
453 * solib-som.c (som_solib_desire_dynamic_linker_symbols): Use
454 MSYMBOL_TYPE, not SYMBOL_TYPE.
455 * parse.c (write_exp_msymbol): Use MSYMBOL_TYPE.
456 * objc-lang.c (find_methods): Use MSYMBOL_TYPE.
457 * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Use
459 * m2-exp.y (yylex): Use SYMBOL_CLASS.
463 * xcoffread.c (RECORD_MINIMAL_SYMBOL): Update.
464 (scan_xcoff_symtab): Update.
465 * mdebugread.c (record_minimal_symbol): Update.
466 (parse_partial_symbols): Update.
467 * elfread.c (record_minimal_symbol): Update.
468 * dbxread.c (record_minimal_symbol): Update.
469 * coffread.c (record_minimal_symbol): Update.
470 * sh64-tdep.c (MSYMBOL_IS_SPECIAL): Redefine.
471 (sh64_elf_make_msymbol_special): Update.
472 * mips-tdep.c (mips_elf_make_msymbol_special): Use
473 MSYMBOL_TARGET_FLAG_1.
474 (mips_elf_make_msymbol_special): Likewise.
475 (msymbol_is_special): Likewise.
476 * minsyms.c (prim_record_minimal_symbol_and_info): Update.
477 (install_minimal_symbols): Likewise.
478 (prim_record_minimal_symbol): Update.
479 (prim_record_minimal_symbol_and_info): Remove 'info' argument.
480 * m68hc11-tdep.c (MSYMBOL_SET_RTC): Redefine.
481 (MSYMBOL_SET_RTI): Redefine.
482 (MSYMBOL_IS_RTC): Redefine.
483 (MSYMBOL_IS_RTI): Redefine.
484 * arm-tdep.c (MSYMBOL_SET_SPECIAL): Redefine.
485 (MSYMBOL_IS_SPECIAL): Redefine.
486 * symtab.h (struct minimal_symbol) <info>: Remove.
487 <target_flag_1, target_flag_2>: New fields.
488 (MSYMBOL_INFO): Remove.
489 (MSYMBOL_TARGET_FLAG_1): New macro.
490 (MSYMBOL_TARGET_FLAG_2): Likewise.
491 (prim_record_minimal_symbol_and_info): Update.
495 * ada-lang.c (is_digits_suffix): Delete unused function.
499 * ada-lang.c (ada_modulus): Correct to avoid sign problem with
504 * ada-lang.c (ada_lookup_struct_elt_type): Handle case of a "naked"
506 (empty_record): Use INIT_CPLUS_SPECIFIC, since this field is not
507 supposed to be null. Fixes debugger segfaults.
508 (is_unchecked_variant): New function.
509 (to_fixed_variant_branch_type): Modify to leave unchecked unions
511 (ada_template_to_fixed_record_type_1): Fix comment.
515 * ada-lang.c (standard_exc): New static constant.
516 (ada_exception_catchpoint_cond_string): Add special handling
517 for the predefined exceptions.
521 * ada-lang.c (ADA_RETAIN_DOTS): Delete this dead macro. Update
522 the code accordingly.
526 * ada-lang.c (ada_evaluate_subexp) [UNOP_IND]: Remove strange
527 treatment of expect_type. Return the correct type when dereferencing
533 * symtab.c (struct add_macro_name_data): New struct.
534 (add_macro_name): New function.
535 (default_make_symbol_completion_list): Complete macro names.
536 * scm-lang.c (scm_language_defn): Update.
537 * p-lang.c (pascal_language_defn): Update.
538 * objc-lang.c (objc_language_defn): Update.
539 * macrotab.h (macro_callback_fn): Add user_data argument.
540 (macro_for_each): Likewise.
541 (macro_for_each_in_scope): Declare.
542 * macrotab.c: (struct macro_for_each_data): New struct.
543 (foreach_macro): Use it.
544 (macro_for_each): Likewise.
545 (foreach_macro_in_scope): New function.
546 (macro_for_each_in_scope): Likewise.
547 * macrocmd.c (print_one_macro): Add argument.
548 (macro_list_command): Pass NULL to macro_for_each.
549 * m2-lang.c (m2_language_defn): Update.
550 * language.h (struct language_defn) <la_macro_expansion>: New
552 (macro_expansion): New enum.
553 * language.c (unknown_language_defn): Update. Fix order of
555 (auto_language_defn): Likewise.
556 (local_language_defn): Update.
557 * jv-lang.c (java_language_defn): Update.
558 * f-lang.c (f_language_defn): Update.
559 * c-lang.c (c_language_defn): Update.
560 (cplus_language_defn): Likewise.
561 (asm_language_defn): Likewise.
562 (minimal_language_defn): Likewise.
563 * ada-lang.c (ada_language_defn): Update.
567 * dwarf2read.c (dwarf2_get_subprogram_pc_bounds): New function.
568 (get_scope_pc_bounds): Use it.
573 * macrocmd.c (extract_identifier): Add is_parameter argument.
574 (macro_define_command): Update.
575 (macro_undef_command): Likewise.
576 * macroexp.c (stringify): New function.
577 (find_parameter): Likewise.
578 (gather_arguments): Add nargs argument. Handle varargs.
579 (substitute_args): Add is_varargs and va_arg_name arguments.
580 Handle varargs, splicing, stringification. Use find_parameter.
581 (expand): Handle varargs.
585 * scm-lang.c (scm_language_defn): Update.
586 * p-typeprint.c (pascal_print_typedef): New function.
587 * p-lang.h: (pascal_print_typedef): Declare.
588 * p-lang.c (pascal_language_defn): Update.
589 * objc-lang.c (objc_language_defn): Update.
590 * m2-typeprint.c (m2_print_typedef): New function.
591 * m2-lang.h (m2_print_typedef): Declare.
592 * m2-lang.c (m2_language_defn): Update.
593 * language.h (_LANG_c, _LANG_m2, _LANG_fortran, _LANG_pascal):
595 (struct language_defn) <la_print_typedef>: New field.
596 (default_print_typedef): Declare.
597 (LA_PRINT_TYPEDEF): New define.
598 * language.c (unknown_language_defn): Update.
599 (auto_language_defn): Update.
600 (local_language_defn): Update.
601 * jv-lang.c (java_language_defn): Update.
602 * f-lang.c (f_language_defn): Update.
603 * c-typeprint.c (c_print_typedef): New function.
604 * c-lang.h (c_print_typedef): Declare.
605 * c-lang.c (c_language_defn): Update.
606 (cplus_language_defn): Update.
607 (asm_language_defn): Update.
608 (minimal_language_defn): Update.
609 * ada-lang.c (ada_language_defn): Update.
610 * typeprint.c (default_print_typedef): New function.
614 * jv-exp.y (insert_exp): Define using ISO syntax.
615 (copy_exp): Likewise.
616 (push_expression_name): Likewise.
617 (push_fieldnames): Likewise.
618 (java_type_from_name): Likewise.
621 (parse_number): Likewise.
625 * MAINTAINERS (GLOBAL MAINTAINERS): Add Pedro Alves.
629 * stack.c (print_frame_args): Fix typos in comments.
633 * linux-nat.c (get_pending_status): Fix argument to WIFSTOPPED.
637 * remote-sim.c (gdbsim_create_inferior): Fix missing parenthesis.
641 * frame.c (get_frame_register_bytes): Take pseudo registers into
642 account. Avoid excessive function calls.
646 * dcache.c (state_chars): New static global.
647 (ENTRY_INVALID,ENTRY_VALID): Renamed from ENTRY_BAD,ENTRY_OK.
649 (dcache_info): Print cache state as mnemonically useful letters instead
652 * dwarf2read.c (comp_unit_head): Reorganize for better packing.
656 * symfile.c (symbol_file_add_with_addrs_or_offsets): Don't use
661 * infrun.c (follow_exec): Don't do a generic mourn. Instead
662 inline the required bits.
663 * breakpoint.h (enum inf_context): Add inf_execd.
667 * infrun.c (handle_inferior_event): In the follow exec case,
668 context-switch before doing anything else.
672 * top.c (any_thread_of, kill_or_detach): New functions.
673 (quit_target): Iterate over all inferiors, killing or detaching
678 Remove the attach_flag global, and make it per-inferior.
680 * inferior.h (attach_flag): Delete.
681 (inferior_process): Declare.
682 * solib.c (update_solib_list): Adjust.
683 * gnu-nat.c (gnu_create_inferior, gnu_attach): Adjust.
684 * inf-ptrace.c (inf_ptrace_detach): Adjust.
685 (inf_ptrace_files_info): Get it from the current inferior.
686 * inf-ttrace.c (inf_ttrace_attach): Adjust.
687 (inf_ttrace_files_info): Get it from the current
689 * inflow.c (terminal_inferior, terminal_ours_1, set_sigint_trap)
690 (clear_sigint_trap): Get it from the current process.
691 * remote.c (extended_remote_attach_1)
692 (extended_remote_create_inferior_1): Adjust.
693 * top.c (quit_confirm, quit_target): Get it from the current inferior.
694 * procfs.c (do_detach): Adjust.
695 (procfs_wait): Get it from the event inferior.
696 (procfs_files_info): Get it from the current inferior.
697 * nto-procfs.c (procfs_files_info): Likewise.
698 (procfs_attach): Adjust. Set the attach_flag here.
699 (do_attach): Don't set it here.
700 (procfs_detach): Don't clear it.
701 (procfs_mourn_inferior): Don't clear it.
702 * solib-osf.c (osf_solib_create_inferior_hook): Adjust.
703 * target.c (attach_flag): Delete.
704 (generic_mourn_inferior): Don't clear it.
705 * win32-nat.c (get_win32_debug_event): Get it from the event
707 (do_initial_win32_stuff): Add attaching argument. Set attach_flag
708 in the inferior accordingly.
709 (win32_attach): Don't set the attach_flag here. Pass 1 to
710 do_intial_win32_stuff.
711 (win32_files_info): Get it from the current inferior.
712 (win32_create_inferior): Dont clear attach_flag here. Pass 0 to
713 do_intial_win32_stuff.
717 Make the stop_soon global be per-inferior instead.
719 * infcmd.c (attach_command_post_wait): Adjust.
720 (attach_command): Likewise.
722 * inferior.h (stop_soon): Delete.
723 (struct inferior): Add stop_soon member.
725 * infrun.c (stop_soon): Delete.
726 (clear_proceed_status, start_remote)
727 (fetch_inferior_event, handle_inferior_event): Adjust.
728 (signal_stop_state): Don't check stop_soon here. Check in callers
730 (save_inferior_status, restore_inferior_status): Adjust.
732 * linux-nat.c (linux_nat_resume, linux_nat_wait): Always pass
733 signals to common code if starting up the inferior.
735 * inferior.h (struct inferior_info): Added stop_soon member.
736 * inferior.c (add_inferior) Clear stop_soon.
738 * mips-tdep.c (heuristic_proc_start): Adjust.
739 * nto-procfs.c (procfs_create_inferior): Adjust.
740 * solib-irix.c (irix_solib_create_inferior_hook): Adjust.
741 * solib-osf.c (osf_solib_create_inferior_hook): Adjust.
742 * solib-sunos.c (sunos_solib_create_inferior_hook): Adjust.
743 * solib-svr4.c (svr4_solib_create_inferior_hook): Adjust.
745 * win32-nat.c (do_initial_win32_stuff): Adjust.
747 * alpha-tdep.c (alpha_heuristic_proc_start): Adjust.
751 Implement remote multi-process extensions.
753 * remote.c (struct remote_state): Add extended and
754 multi_process_aware fields.
755 (remote_multi_process_p): New.
757 (record_currthread): Use thread_change_ptid. Notice new
759 (set_thread, remote_thread_alive): Use write_ptid.
760 (write_ptid, read_ptid): New.
761 (remote_current_thread, remote_threads_extra_info): Use them.
762 (remote_threads_info): Likewise. Detect new inferiors.
763 (remote_start_remote): Add inferior to inferior list.
764 (remote_multi_process_feature): New.
765 (remote_protocol_features): Add "multiprocess" feature.
766 (remote_query_supported): Pass "multiprocess+" as supported
768 (remote_open_1): Clear multi_process_aware. Set extended
770 (remote_detach_1): Detach current process. Use extended packet
771 format for extended-remote multi-process. Detach process from the
772 inferior list. Only mourn after printing output.
773 (extended_remote_attach_1): Add process to the inferior list.
774 (remote_vcont_resume): Use write_ptid to pass the thread ids.
775 (remote_wait): Use read_ptid. Implement the extended
776 multi-process extension format of the 'W' and 'X' reply packets.
777 Remove exited inferiors from inferior list.
778 (remote_xfer_memory): Set general thread.
780 (extended_remote_kill): New.
781 (remote_mourn_1): Discard all inferiors.
782 (select_new_thread_callback): New.
783 (extended_remote_mourn_1): If there are more processes to debug,
784 switch to a thread in another process, and don't pop the target.
785 (extended_remote_create_inferior_1): Add the new process to the
787 (remote_stopped_by_watchpoint): Indenting.
788 (remote_xfer_partial): Set the general thread.
789 (remote_pid_to_str): If the remote is multi-process aware, print
790 the process id as well as the thread id.
791 (remote_get_thread_local_address): Use write_ptid.
792 (init_extended_remote_ops): Register extended_remote_kill.
793 (_initialize_remote): Register new packets. Change
794 magic_null_ptid's, not_sent_ptid's and any_thread_ptid's pid
797 * thread.c (thread_change_ptid): Also account for the inferior pid
800 * inferior.h (discard_all_inferiors): Declare.
801 * inferior.c (discard_all_inferiors): New.
805 * gnu-nat.c (gnu_attach): Add process to inferiors table.
806 (gnu_detach): Remove it.
807 * go32-nat.c (go32_create_inferior): Add process to gdb's inferior
809 * inf-ptrace.c (inf_ptrace_follow_fork): Delete and add inferiors
810 to inferior table accordingly.
811 (inf_ptrace_attach): Add new process to inferior table.
812 (inf_ptrace_detach): Remove it.
813 * inf-ttrace.c (inf_ttrace_follow_fork): Delete and add inferiors
814 to inferior table accordingly.
815 (inf_ttrace_attach): Add process to inferior table.
816 (inf_ttrace_detach): Remove it.
817 * linux-fork.c (init_fork_list): Delete any left over inferior.
818 (linux_fork_mourn_inferior, detach_fork_command): Also delete
819 processes from inferior list.
820 * monitor.c (monitor_open): Add process to inferior list.
821 (monitor_close): Remove it.
822 * nto-procfs.c (procfs_attach): Add process to inferior list.
823 Find threads after pushing the target.
824 (procfs_detach): Remove process from inferior list.
825 (procfs_create_inferior): Add process to inferior list.
826 * procfs.c (procfs_detach): Remove process from inferior list.
827 (do_attach): Add process to inferior list.
828 * remote-sim.c (sim_create_inferior): Add process to inferior list.
829 (gdbsim_close): Remove it.
830 * target.c (generic_mourn_inferior): If inferior_ptid is not
831 null_ptid, remove the corresponding inferior from inferior list.
832 * win32-nat.c (do_initial_win32_stuff): Add process to inferior list.
833 (win32_detach): Remove it.
834 * linux-nat.c (linux_child_follow_fork): Delete and add inferiors
835 to inferior list accordingly.
836 * fork-child.c (fork_inferior): Add process to inferior list.
837 * corelow.c (CORELOW_PID): Define.
838 (core_close): Remove core from inferior list.
843 * inferior.h: Forward declare struct ui_out.
844 Forward declare struct private_inferior.
845 (struct inferior): New.
846 (init_inferior_list, add_inferior, add_inferior_silent)
847 (delete_inferior, delete_inferior_silent, detach_inferior)
848 (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list)
849 (valid_inferior_id, find_inferior_pid): New functions.
850 (inferior_callback_func): New typedef.
851 (iterate_over_inferiors, print_inferior, have_inferiors)
852 (current_inferior): New functions.
853 * inferior.c: New file.
855 * Makefile.in (SFILES): Add inferior.c.
856 (COMMON_OBS): Add inferior.o.
860 * arm-tdep.c (arm_skip_prologue): Call skip_prologue_using_sal
861 instead of determining symbol and line info directly.
862 * MAINTAINERS: Update my email address.
866 * symtab.c (skip_prologue_using_sal): Treat two consecutive lines
867 at the same address as a prologue marker. Do not skip an entire
872 * frame.c (get_frame_register_bytes): Comment improvments.
876 * linux-nat.c (linux_nat_wait): Only use set_ignore_sigint in
881 * MAINTAINERS: Update my email address.
885 * frame.c (get_frame_register_bytes): Detect bad debug info.
889 Fix a crash on uninitialized ECS->EVENT_THREAD for a newly found thread.
890 * infrun.c (wait_for_inferior): Move this ECS->EVENT_THREAD
892 (fetch_inferior_event): ... and this ECS->EVENT_THREAD initialization
894 (handle_inferior_event): ... here after the add_thread call together
895 with the local adjust_pc_after_break and reinit_frame_cache calls.
899 * breakpoint.c (bpstat_stop_status): Clear breakpoint_at for
900 all hardware bpstats.
908 * infcall.c (generic_push_dummy_code): Remove.
909 (push_dummy_code): Unconditionally call gdbarch_push_dummy_code.
913 * dwarf2read.c (struct abbrev_info): Make members name, form 16 bits.
914 (struct attribute): Ditto.
918 * hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind_cache): Record
919 HPPA_IPSW_REGNUM and HPPA_SAR_REGNUM values.
921 * hppa-linux-tdep.c (hppa_dwarf_reg_to_regnum): Remove surrounding
922 "#if 0" "#endif". Fix mapping of DWARF DBX registers to GDB registers.
923 Correct arguments and improve comments.
924 (hppa_linux_init_abi): Call set_gdbarch_dwarf2_reg_to_regnum. Delete
926 * hppa-tdep.c (hppa64_dwarf_reg_to_regnum): Fix check for floating
927 point DBX register, change error to warning, and improve comments.
931 * dwarf2read.c (struct die_info): Make members tag, num_attrs 16 bits.
935 * hppa-linux-tdep.c (hppa_linux_supply_fpregset): Correct iteration.
939 * defs.h (GCC_GENERATED_STDINT_H): Define.
943 * varobj.c (varobj_set_display_format): Use xfree.
944 * tracepoint.c (stringify_collection_list): Use xfree.
945 * remote-fileio.c (remote_fileio_reset): Use xfree.
946 * mipsread.c (read_alphacoff_dynamic_symtab): Use xfree.
947 * dfp.c (decimal_from_floating): Use xfree, xstrprintf. Don't use
949 * cp-support.c (mangled_name_to_comp): Use xfree.
953 * ada-lang.c (remove_extra_symbols): Remove stub symbols if
954 the associated complete symbol is also in the list.
955 (ada_add_local_symbols, ada_add_non_local_symbols): New functions,
956 extracted out from ada_lookup_symbol_list.
957 (ada_lookup_symbol_list): Use them. Remove the search through
962 * dwarf2read.c (add_partial_subprogram): New procedure.
963 (scan_partial_symbols): Use it.
964 (load_partial_dies): Read in children of subprogram and lexical
965 blocks for Ada compilation units.
969 * symfile.c (build_id_verify): Free 'found'.
970 (find_separate_debug_file): Use xfree, not free.
974 * corefile.c (write_memory): Remove unnecessary copying.
976 * sol-thread.c (_initialize_sol_thread): Add FIXME regarding
977 order of _initialize_* fns.
979 * dwarf2read.c (comp_unit_head): Rename first_die_ptr to
980 first_die_offset. All uses updated.
981 Delete unused members cu_head_ptr, next.
982 Move members base_known, base_address to ...
983 (dwarf2_cu) ... here. All uses updated.
987 * Makefile.in (generated_files): Add $(NAT_GENERATED_FILES).
988 * config/i386/i386gnu.mh (NAT_GENERATED_FILES): New.
992 * fork-child.c (startup_inferior): Use target_wait and target_resume
993 directly instead of calling wait_for_inferior / resume.
995 * infcmd.c (kill_if_already_running): Do not call no_shared_libraries
996 or init_wait_for_inferior.
997 (run_command_1): Call init_wait_for_inferior.
1001 * gdbtypes.h (builtin_type_void_data_ptr, builtin_type_void_func_ptr,
1002 builtin_type_CORE_ADDR, builtin_type_char, builtin_type_short,
1003 builtin_type_int, builtin_type_long, builtin_type_signed_char,
1004 builtin_type_unsigned_char, builtin_type_unsigned_short,
1005 builtin_type_unsigned_int, builtin_type_unsigned_long,
1006 builtin_type_float, builtin_type_double, builtin_type_long_double,
1007 builtin_type_complex, builtin_type_double_complex, builtin_type_string,
1008 builtin_type_bool, builtin_type_long_long,
1009 builtin_type_unsigned_long_long): Remove macros.
1011 (builtin_type_f_character, builtin_type_f_integer,
1012 builtin_type_f_integer_s2, builtin_type_f_logical,
1013 builtin_type_f_logical_s1, builtin_type_f_logical_s2,
1014 builtin_type_f_real, builtin_type_f_real_s8, builtin_type_f_real_s16,
1015 builtin_type_f_complex_s8, builtin_type_f_complex_s16,
1016 builtin_type_f_complex_s32): Likewise.
1018 (builtin_type_m2_char, builtin_type_m2_int, builtin_type_m2_card,
1019 builtin_type_m2_real, builtin_type_m2_bool): Likewise.
1021 (struct builtin_f_type, builtin_f_type): Move to f-lang.h.
1022 (struct builtin_m2_type, builtin_m2_type): Move to m2-lang.h.
1024 * f-lang.h (struct builtin_f_type, builtin_f_type): Move here.
1025 * m2-lang.h (struct builtin_m2_type, builtin_m2_type): Move here.
1029 * solib-svr4.c (LM_ADDR_FROM_LINK_MAP): Use builtin types of
1030 target_gdbarch instead of builtin_type_void_data_ptr.
1031 (LM_DYNAMIC_FROM_LINK_MAP, LM_NEXT, LM_NAME,
1032 IGNORE_FIRST_LINK_MAP_ENTRY, scan_dyntag, elf_locate_base,
1033 solib_svr4_r_map, solib_svr4_r_brk, solib_svr4_r_ldsomap,
1034 open_symbol_file_object): Likewise.
1035 * nto-tdep.c (LM_ADDR): Likewise.
1039 * bsd-uthread.c (bsd_uthread_read_memory_address): New function.
1040 (bsd_uthread_fetch_registers, bsd_uthread_store_registers,
1041 bsd_uthread_wait, bsd_uthread_find_new_threads): Use it.
1045 * procfs.c (procfs_address_to_host_pointer): Use target_gdbarch
1046 and its associated types to perform pointer conversion.
1047 (procfs_can_use_hw_breakpoint): Likewise.
1048 (procfs_auxv_parse): Remove unused variable.
1052 * auxv.c (default_auxv_parse): Use gdbarch_ptr_bit (target_gdbarch)
1053 instead of builtin_type_void_data_ptr.
1054 * target.c (default_region_ok_for_hw_watchpoint): Likewise.
1058 * expprint.c (print_subexp_standard): Compare against builtin type
1059 associated with exp->gdbarch instead of builtin_type_char.
1061 * f-valprint.c (f_val_print): Use extract_unsigned_integer to
1062 extract values of arbitrary logical type. Handle arbitrary
1065 * printcmd.c (float_type_from_length): New function.
1066 (print_scalar_formatted, printf_command): Use it.
1070 * valops.c: Include "objfiles.h" and "symtab.h".
1071 (find_function_in_inferior): New argument OBJF_P. Use it to return
1072 objfile where function is defined. Use per-objfile arch types
1073 instead of builtin_type_ to define default return type.
1075 * linux-fork.c (checkpoint_command): Update calls. Use per-objfile
1076 architecture to define inferior call argument types.
1077 * gcore.c (derive_heap_segment): Likewise.
1078 * objc-lang.c (value_nsstring): Likewise.
1079 * scm-lang.c (scm_lookup_name): Likewise.
1080 * scm-valprint.c (scm_inferior_print): Likewise.
1081 * valops.c (value_allocate_space_in_inferior): Likewise.
1083 * eval.c (evaluate_subexp_standard): Update calls.
1084 * objc-lang.c (lookup_objc_class, print_object_command): Likewise.
1086 * linux-fork.c: Include "objfiles.h".
1087 * scm-lang.c: Include "objfiles.h".
1088 * scm-valprint.c: Include "objfiles.h".
1092 * gdbarch.sh (name_of_malloc): Remove.
1093 * gdbarch.c, gdbarch.h: Re-generate.
1094 * valops.c (value_allocate_space_in_inferior): Do not call
1095 gdbarch_name_of_malloc.
1099 * valarith.c (value_x_unop): Use builtin_type_int8 as type for
1100 UNOP_POSTINCREMENT/UNOP_POSTDECREMENT constant 0 argument.
1101 (value_bit_index): Use extract_unsigned_integer
1102 instead of unpack_long to read single byte.
1106 * infcall.c (value_arg_coerce): Add GDBARCH parameter. Use its
1107 associates types instead of builtin_type_ macros.
1108 (find_function_addr): Leave output VALUE_TYPE NULL if unknown.
1109 (call_function_by_hand): Use per-architecture "int" type as
1110 fall-back if find_function_addr returns NULL VALUE_TYPE.
1111 Update call to value_arg_coerce.
1115 * cp-abi.h (cplus_method_ptr_size): Add TO_TYPE parameter.
1116 (cplus_make_method_ptr): Add TYPE parameter.
1117 * cp-abi.c (cplus_method_ptr_size): Add TO_TYPE parameter. Pass it
1118 on to current_cp_abi.method_ptr_size callback.
1119 (cplus_make_method_ptr): Add TYPE parameter. Pass it on to
1120 current_cp_abi.make_method_ptr callback.
1122 * gdbtypes.c (lookup_methodptr_type): Pass target type
1123 argument to cplus_method_ptr_size.
1124 * valops.c (value_cast): Pass type argument to cplus_make_method_ptr.
1125 (value_struct_elt_for_reference): Likewise.
1127 * gnu-v3-abi.c (get_class_arch): New function.
1128 (vtable_address_point_offset): Add GDBARCH parameter. Use it
1129 instead of current_gdbarch. Update all callers.
1130 (gnuv3_get_vtable): Likewise.
1131 (gnuv3_get_virtual_fn): Likewise.
1132 (gnuv3_decode_method_ptr): Likewise.
1133 (gnuv3_rtti_type): Call get_class_arch to determine architecture.
1134 Use it instead of current_gdbarch.
1135 (gnuv3_virtual_fn_field): Likewise.
1136 (gnuv3_baseclass_offset): Likewise.
1137 (gnuv3_print_method_ptr): Likewise.
1138 (gnuv3_method_ptr_to_value): Likewise.
1139 (gnuv3_method_ptr_size): Add TYPE parameter. Use it to determine
1140 class architecture. Use architecture types instead of builtin types.
1141 (gnuv3_make_method_ptr): Likewise.
1143 * cp-valprint.c (cp_print_class_member): Expect pointer type
1144 instead of class type. Use its length when extracting value.
1145 * c-valprint.c (c_val_print): Update call to cp_print_class_member.
1149 * stack.c (return_command): Use frame architecture to determine
1150 default integer return type.
1152 * f-valprint.c (f77_get_dynamic_lowerbound): Use frame architecture
1153 to determine pointer types.
1154 (f77_get_dynamic_upperbound): Likewise.
1156 * objc-lang.c (OBJC_FETCH_POINTER_ARGUMENT): Remove.
1157 (resolve_msgsend): Use architecture of current frame to determine
1158 pointer types. Inline OBJC_FETCH_POINTER_ARGUMENT.
1159 (resolve_msgsend_stret, resolve_msgsend_super,
1160 resolve_msgsend_super_stret): Likewise.
1164 * alpha-tdep.c (alpha_register_type): Use builtin_type (gdbarch)
1165 instead of builtin_type_ macros.
1166 * amd64-tdep.c (amd64_register_type): Likewise.
1167 (amd64_get_longjmp_target): Likewise.
1168 * arm-tdep.c (arm_register_type): Likewise.
1169 * avr-tdep.c (avr_register_type): Likewise.
1170 * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise.
1171 * frv-tdep.c (frv_register_type): Likewise.
1172 * h8300-tdep.c (h8300_register_type): Likewise.
1173 * hppa-tdep.c (hppa32_convert_from_func_ptr_addr,
1174 hppa_skip_trampoline_code): Likewise.
1175 * i386-tdep.c (i386_register_type): Likewise.
1176 (i386_unwind_pc, i386_sse_type): Likewise.
1177 * ia64-tdep.c (ia64_register_type): Likewise.
1178 * m32r-tdep.c (m32r_register_type): Likewise.
1179 * m68k-tdep.c (m68k_register_type, m68k_unwind_pc): Likewise.
1180 * m88k-tdep.c (m88k_register_type): Likewise.
1181 * mep-tdep.c (mep_register_type): Likewise.
1182 * mips-tdep.c (mips_pseudo_register_type): Likewise.
1183 * mn10300-tdep.c (mn10300_register_type): Likewise.
1184 * mt-tdep.c (mt_copro_register_type): Likewise.
1185 * rs6000-tdep.c (rs6000_builtin_type_vec64): Likewise.
1186 (rs6000_convert_register_p, rs6000_register_to_value,
1187 rs6000_value_to_register): Likewise.
1188 * s390-tdep.c (s390_register_type): Likewise.
1189 * sh64-tdep.c (sh64_register_type): Likewise.
1190 (sh64_build_float_register_type, sh64_do_fp_register): Likewise.
1191 * sh-tdep.c (sh_sh2a_register_type, sh_sh3e_register_type,
1192 sh_sh4_build_float_register_type, sh_sh4_register_type,
1193 sh_default_register_type): Likewise.
1194 * sparc64-tdep.c (sparc64_register_type): Likewise.
1195 * sparc-tdep.c (sparc32_register_type): Likewise.
1196 * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise.
1197 * v850-tdep.c (v850_register_type): Likewise.
1198 * vax-tdep.c (vax_register_type): Likewise.
1199 * xtensa-tdep.c (xtensa_register_type, xtensa_unwind_pc,
1200 xtensa_push_dummy_call): Likewise.
1202 * std-regs.c (value_of_builtin_frame_fp_reg,
1203 value_of_builtin_frame_pc_reg): Likewise.
1204 * target-descriptions.c (tdesc_register_type): Likewise.
1208 * ada-lang.c (ada_coerce_to_simple_array_type): Use builtin_type_int32
1209 instead of builtin_type_int as default unspecified integral type.
1210 (ada_index_type, ada_array_bound_from_type, ada_variant_discrim_type,
1211 assign_component, to_fixed_range_type): Likewise.
1212 * ada-typeprint.c (print_range, print_range_bound,
1213 print_range_type_named): Likewise.
1214 * ada-valprint.c (print_optional_low_bound, ada_val_print_1): Likewise.
1215 * eval.c (evaluate_subexp_standard): Likewise.
1216 * gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise.
1217 * gnu-v3-abi.c (gnuv3_get_virtual_fn, gnuv3_baseclass_offset,
1218 build_gdb_vtable_type): Likewise.
1219 * jv-lang.c (java_array_type): Likewise.
1220 * m2-typeprint.c (m2_print_bounds, m2_is_long_set_of_type): Likewise.
1221 * m2-valprint.c (m2_print_long_set): Likewise.
1222 * parse.c (follow_types): Likewise.
1223 * p-typeprint.c (pascal_type_print_base): Likewise.
1224 * valops.c (value_one, value_array, value_string,
1225 value_bitstring): Likewise.
1226 * value.c (allocate_repeat_value, value_from_string): Likewise.
1227 * varobj.c (c_describe_child): Likewise.
1228 * mt-tdep.c (mt_register_type): Likewise.
1229 * sh-tdep.c (sh_sh4_build_float_register_type): Likewise.
1230 * sh64-tdep.c (sh64_build_float_register_type): Likewise.
1234 * defs.h (struct gdbarch): Add forward declaration.
1235 (set_next_address): Add GDBARCH argument.
1236 * printcmd.c (set_next_address): Use it to find pointer type.
1237 * breakpoint.c (breakpoint_1): Update call.
1238 * source.c (line_info): Likewise.
1239 * findcmd.c (find_command): Use current_gdbarch to find pointer type.
1241 * breakpoint.c (set_breakpoint_count): Use platform-neutral
1242 types for internal variable values.
1243 * infrun.c (handle_inferior_event): Likewise.
1244 * source.c (forward_search_command, reverse_search_command): Likewise.
1245 * tracepoint.c (set_tracepoint_count, set_traceframe_num,
1246 set_tracepoint_num, set_traceframe_context): Likewise.
1250 * gdbtypes.h (struct builtin_type): Remove builtin_true_char
1251 and builtin_true_unsigned_char.
1252 (builtin_type_true_char): Remove macro, add extern declaration.
1253 (builtin_type_true_unsigned_char): Add extern declaration.
1254 * gdbtypes.c (builtin_type_true_char): New global variable.
1255 (builtin_type_true_unsigned_char): Likewise.
1256 (_initialize_gdbtypes): Initialize them.
1257 (gdbtypes_post_init): Do not initialize builtin_true_char
1258 and builtin_true_unsigned_char members of struct builtin_type.
1260 * printcmd.c (print_scalar_formatted): Do not use builtin_type;
1261 use builtin_type_true_unsigned_char instead.
1263 * ada-valprint.c (ada_val_print_1): Use builtin_type_true_char
1264 instead of builtin_type_char for internal string.
1268 * gdbtypes.h (builtin_type_void): Remove macro, add declaration.
1269 (builtin_type_f_void): Remove macro.
1270 * gdbtypes.c (builtin_type_void): New global variable.
1271 (_initialize_gdbtypes): Initialize it.
1273 * gnu-v3-abi.c (build_gdb_vtable_type): Do not call
1274 lookup_pointer_type or lookup_function_type on builtin_type_void.
1275 * printcmd.c (set_next_address): Likewise.
1276 * objc-lang.c (value_nsstring): Likewise.
1277 * mt-tdep.c (mt_copro_register_type): Likewise.
1278 * xtensa-tdep.c (xtensa_register_type): Likewise.
1280 * symfile.c (syms_from_objfile): Remove special handling
1281 of builtin_type_void and builtin_type_char.
1285 * eval.c (evaluate_subexp_standard): Use exp->gdbarch types instead
1286 of builtin_type_ macros when handling OP_OBJC_ operations.
1287 * objc-lang.c (print_object_command): Likewise.
1291 * ada-valprint.c: Include "objfiles.h".
1292 (ada_val_print_1): Use the gdbarch associated with the objfile whether
1293 a System.Address type is defined to retrieve the proper pointer type
1298 * ada-lang.c (value_pos_atr): Add TYPE argument. Use it as
1299 result type instead of builtin_type_int.
1300 (value_subscript_packed): Use pos_atr instead of value_pos_atr.
1301 (ada_value_subscript): Update call to value_pos_atr.
1302 (ada_value_ptr_subscript): Likewise.
1303 (ada_evaluate_subexp): Likewise.
1307 * ada-lang.c (cast_to_fixed): Do not cast to builtin_type_double.
1308 (cast_from_fixed_to_double): Rename to ...
1309 (cast_from_fixed): ... this. Add TYPE parameter. Use it instead
1310 of builtin_type_double.
1311 (ada_value_cast): Use cast_from_fixed instead of casting result
1312 of cast_from_fixed_to_double.
1313 (ada_evaluate_subexp): Update calls to cast_from_fixed_to_double.
1317 * valops.c (value_ind): No longer allow dereferencing an
1319 * eval.c (evaluate_subexp_standard): Handle deferencing an
1321 * ada-lang.c (ada_evaluate_subexp): Likewise.
1325 * ada-valprint.c (ada_val_print_1): When implicitly dereferencing
1326 a reference type, pass the reference type directly to unpack_pointer.
1327 * c-valprint.c (c_val_print): Likewise.
1328 * f-valprint.c (f_val_print): Likewise.
1329 * m2-valprint.c (print_variable_at_address, m2_val_print): Likewise.
1330 * p-valprint.c (pascal_val_print): Likewise.
1334 * eval.c (evaluate_subexp_standard): Use builtin_type_int8
1335 to construct the EVAL_SKIP dummy return value.
1336 * ada-lang.c (ada_evaluate_subexp): Likewise.
1337 * jv-lang.c (evaluate_subexp_java): Likewise.
1338 * m2-lang.c (evaluate_subexp_modula2): Likewise.
1339 * scm-lang.c (evaluate_exp): Likewise.
1343 * value.h (coerce_enum, coerce_number): Remove prototypes.
1344 * value.c (coerce_enum, coerce_number): Remove.
1345 * valarith.c (value_x_binop): Do not call coerce_enum.
1346 (value_x_unop): Likewise.
1347 (value_logical_not): Call coerce_array instead of coerce_number.
1351 * ax-gdb.c: Include "language.h".
1352 (gen_frame_args_address): Add GDBARCH parameter; use it
1353 instead of current_gdbarch.
1354 (gen_frame_locals_address): Likewise.
1355 (gen_var_ref): Add GDBARCH parameter. Update calls to
1356 gen_frame_args_address and gen_frame_locals_address. Use
1357 pointer type from gdbarch.
1358 (gen_usual_unary): Add EXP parameter. Use integer type
1360 (gen_usual_arithmetic): Likewise.
1361 (gen_integral_promotions): Likewise.
1362 (gen_add, gen_sub): Remove.
1363 (gen_ptradd, gen_ptrsub, gen_ptrdiff): New functions.
1364 (gen_logical_not): Use passed-in boolean result type
1365 instead of builtin_type_int.
1366 (gen_complement): Do not call gen_usual_unary or
1367 gen_integral_promotions.
1368 (gen_struct_ref): Call require_rvalue instead of gen_usual_unary.
1369 (gen_repeat): Add EXP parameter. Update call to gen_expr.
1370 Use builtin_type_int32 as internal range type.
1371 (gen_sizeof): Add EXP and SIZE_TYPE parameters. Use SIZE_TYPE
1372 as result type. Update call to gen_expr.
1373 (gen_expr): Add EXP parameter. Update calls to gen_expr,
1374 gen_repeat, gen_var_ref, gen_usual_unary, gen_usual_arithmetic,
1375 and gen_integral_promotions. Call gen_ptradd, gen_ptrsub,
1376 gen_ptrdiff, or gen_binop instead of gen_add or gen_sub.
1377 Use exp->gdbarch instead of current_gdbarch.
1378 Call language_bool_type to determine result type of UNOP_LOGICAL_NOT.
1382 * eval.c (evaluate_subexp_standard): Add calls to binop_promote
1383 and unop_promote before calling value_binop et. al.
1384 * ada-lang.c (ada_evaluate_subexp): Add calls to binop_promote
1385 and unop_promote before calling value_binop et. al.
1387 * valarith.c (value_binop): Do not call binop_promote or unop_promote.
1388 (value_pos): Do not call unop_promote.
1389 (value_neg, value_complement): Likewise.
1393 * value.h (unop_promote, binop_promote): Add prototypes.
1394 * eval.c (unop_promote, binop_promote): New functions.
1395 * valarith.c (unop_result_type, binop_result_type): Remove.
1396 (value_binop): Call binop_promote or unop_promote.
1397 Inline remaining parts of binop_result_type. Remove special
1398 code to truncate integer values for unsigned operations.
1399 (value_pos): Call unop_promote. Inline remaining parts of
1401 (value_neg, value_complement): Likewise.
1405 * value.h (value_add, value_sub): Remove.
1406 (value_ptradd, value_ptrsub, value_ptrdiff): Add prototypes.
1407 * valarith.c (value_add, value_sub): Remove.
1408 (value_ptradd, value_ptrsub, value_ptrdiff): New functions.
1409 (find_size_for_pointer_math): Add assertion. Update comment.
1410 (value_binop): Update comment.
1412 * eval.c (ptrmath_type_p): New function.
1413 (evaluate_subexp_standard): Replace value_add and value_sub
1414 by value_ptradd, value_ptrsub, value_ptrdiff or value_binop.
1415 Use builtin_type_uint8 instead of builtin_type_char to hold
1416 the increment for BINOP_{PRE,POST}{IN,DE}CREMENT operations.
1417 * valarith.c (value_subscript): Replace value_add by
1418 value_ptradd. Replace value_sub by value_binop.
1419 * ada-lang.c (ada_value_ptr_subscript): Likewise.
1420 (ada_tag_name_2): Replace value_add by value_ptradd.
1421 (ada_evaluate_subexp): Replace value_add and value_sub by
1423 * m2-lang.c (evaluate_subexp_modula2): Replace value_add
1425 * gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise.
1426 * gnu-v3-abi.c (gnuv3_method_ptr_to_value): Likewise.
1430 * eval.c (evaluate_subexp_for_sizeof): Use builtin_int type of
1431 the expression architecture instead of builtin_type_int as the
1436 * expression.h (enum exp_opcode): Document OP_COMPLEX to take
1437 a type parameter as expression element.
1438 * eval.c (evaluate_subexp_standard) [OP_COMPLEX]: Retrieve result
1439 type as expression element.
1440 * f-exp.y: Pass in type when buildin OP_COMPLEX expression.
1441 * parse.c (operator_length_standard): Update length of OP_COMPLEX.
1445 * language.h (struct language_arch_info): New members
1446 bool_type_default and bool_type_symbol.
1447 (lang_bool_type): Remove prototype.
1448 (LA_BOOL_TYPE): Remove macro.
1449 (language_bool_type): Add prototype.
1450 * language.c (lang_bool_type): Remove.
1451 (language_bool_type): New function.
1453 * value.h (value_in): Change return value to int.
1454 * value.c (value_in): Return int instead of struct value *.
1456 * eval.c (evaluate_subexp_standard): Call language_bool_type instead
1457 of using LA_BOOL_TYPE. Update call to value_in.
1458 * ada-lang.c (ada_evaluate_subexp): Call language_bool_type instead
1459 of using LA_BOOL_TYPE or builtin_type_int for boolean values.
1461 * language.c (unknown_language_arch_info): Set bool_type_default member
1462 of struct language_arch_info.
1463 * ada-lang.c (ada_language_arch_info): Set bool_type_symbol and
1464 bool_type_default members of struct language_arch_info.
1465 * c-lang.c (c_language_arch_info): Set bool_type_default member
1466 of struct language_arch_info.
1467 (cplus_language_arch_info): Set bool_type_symbol and bool_type_default
1468 members of struct language_arch_info.
1469 * f-lang.c (f_language_arch_info): Set bool_type_symbol and
1470 bool_type_default members of struct language_arch_info.
1471 * jv-lang.c (java_language_arch_info): Set bool_type_symbol and
1472 bool_type_default members of struct language_arch_info.
1473 * m2-lang.c (m2_language_arch_info): Set bool_type_symbol and
1474 bool_type_default members of struct language_arch_info.
1475 * p-lang.c (p_language_arch_info): Set bool_type_symbol and
1476 bool_type_default members of struct language_arch_info.
1480 * jv-lang.c (enum java_primitive_types): New type.
1481 (java_language_arch_info): New function.
1482 (java_language): Use it instead of c_language_arch_info.
1486 * value.h (value_bitstring_subscript): New prototype.
1487 * valarith.h (value_bitstring_subscript): New function.
1488 (value_subscript): No longer handle TYPE_CODE_BITSTRING.
1489 * eval.c (evaluate_subexp_standard): Call value_bitstring_subscript
1490 instead of value_subscript to handle TYPE_CODE_BITSTRING.
1494 * expression.h (struct expression): New member GDBARCH.
1495 * parse.c (parse_exp_in_context): Initialize it.
1496 * parser-def.h (parse_gdbarch, parse_language): New macros.
1498 * ada-exp.y (parse_type): New macro.
1499 Replace builtin_type_ macros by using parse_type.
1500 Replace current_language by parse_language.
1501 * ada-lex.l (processInt): Replace current_gdbarch by parse_gdbarch.
1502 Replace builtin_type_ macros.
1504 * c-exp.y (parse_type): New macro.
1505 Replace builtin_type_ macros by using parse_type.
1506 (parse_number): Replace current_gdbarch by parse_gdbarch.
1507 (yylex): Replace current_language by parse_language.
1509 * f-exp.y (parse_type, parse_f_type): New macros.
1510 Replace builtin_type_ macros by using parse_{f_,}type.
1511 (parse_number): Replace current_gdbarch by parse_gdbarch.
1512 (yylex): Replace current_language by parse_language.
1514 * jv-exp.y (parse_type): New macro.
1515 (parse_number): Replace builtin_type_ macros by using parse_type.
1517 * m2-exp.y (parse_type, parse_m2_type): New macros.
1518 Replace builtin_type_ macros by using parse_{m2_,}type.
1520 * objc-exp.y (parse_type): New macro.
1521 Replace builtin_type_ macros by using parse_type.
1522 (parse_number): Replace current_gdbarch by parse_gdbarch.
1523 (yylex): Replace current_language by parse_language.
1525 * p-exp.y (parse_type): New macro.
1526 Replace builtin_type_ macros by using parse_type.
1527 (parse_number): Replace current_gdbarch by parse_gdbarch.
1528 (yylex): Replace current_language by parse_language.
1532 * parser-defs.h (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE
1533 and DATA_SYMBOL_TYPE arguments.
1534 * parse.c (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE and
1535 DATA_SYMBOL_TYPE arguments. Replace use of builtin_type_CORE_ADDR.
1536 (write_dollar_variable): Update call.
1538 * ada-exp.y (write_var_or_type): Update call.
1539 * c-exp.y: Likewise.
1540 * f-exp.y: Likewise.
1541 * jv-exp.y: Likewise.
1542 * m2-exp.y: Likewise.
1543 * objc-exp.y: Likewise.
1544 * p-exp.y: Likewise.
1548 * ada-lang.c (ada_parent_type): Add handling of the case where
1549 the _parent field is a pointer and/or has a parallel XVS type.
1550 (ada_evaluate_subexp) [OP_VAR_VALUE]: When doing an
1551 EVAL_AVOID_SIDE_EFFECTS evaluation of a tagged type, return
1552 the type of the tag instead of doing forcing an EVAL_NORMAL
1553 expression evaluation.
1558 * ada-lang.c (is_digits_suffix): New function.
1559 (is_dot_digits_suffix): Remove.
1560 (ada_lookup_symbol_list): Remove digits suffix from minimal symbols
1561 before looking up in symbol table, and do not use wild matches on them.
1562 (wild_match): Reimplement for speed and to allow matching of operator
1564 (is_valid_name_for_wild_match): Return zero for names that do not
1565 follow the GNAT encoding.
1567 (is_name_suffix): Fix typo in comment.
1568 (to_record_with_fixed_variant_part): Ditto.
1572 * Makefile.in (gnu-nat.o): New rule.
1576 * ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Use
1577 archecture-neutral builtin_type_int32 instead of builtin_type_int.
1581 * ada-lang.c (ada_evaluate_subexp) [BINOP_ADD, BINOP_SUB]:
1582 Add special handling for pointer types.
1586 * inf-ttrace.c (inf_ttrace_follow_fork): Declare locals at the
1588 (inf_ttrace_resume, inf_ttrace_wait): Typos.
1592 * ada-lang.c (ada_array_length): Use builtin_type_int32 instead
1593 of builtin_type_int.
1594 (ada_evaluate_subexp) [UNOP_IN_RANGE]: Use operand range type
1595 instead of builtin_type_int.
1599 * infrun.c (normal_stop): Run hook-stop last.
1603 * gnu-nat.c (gnu_pid_to_exec_file): Delete.
1604 (init_gnu_ops): Don't register it.
1608 * gnu-nat.c (gnu_attach): Push target before fetching the list of
1613 * valops.c (value_cast_structs): Return NULL for failure.
1614 (value_cast): Handle NULL from value_cast_structs.
1615 (value_fetch_lazy): Call check_typedef. Remove unused variable.
1619 * inferior.h (context_switch_to): Delete.
1620 * infrun.c (context_switch): Don't save and load infrun state.
1621 (context_switch_to): Delete.
1623 * infcmd.c (proceed_thread_callback): Replace context_switch_to
1624 calls by switch_to_thread calls.
1626 * gdbthread.h (save_infrun_state, load_infrun_state): Delete.
1627 * thread.c (main_thread_state, main_thread_executing): Delete.
1628 (inferior_thread): Delete references to them.
1629 (add_thread_silent): Fix case where we're adding a thread with the
1630 same ptid as an exited thread. Remove references to
1632 (load_infrun_state, save_infrun_state): Delete.
1633 (thread_alive, is_thread_state, any_running, is_executing)
1634 (set_executing): Remove the special handling for targets that
1635 don't register any thread.
1636 (restore_current_thread, thread_apply_all_command)
1637 (do_captured_thread_select): Unconditionally call
1640 * mi/mi-main.c (mi_cmd_execute): Check for exited threads.
1641 Call switch_to_thread instead of context_switch_to.
1645 Remove global continuations in favour of a per-thread
1648 * gdbthread.h (struct thread_info): Add comments around
1649 continuations and intermediate_continuations.
1650 (save_infrun_state, load_infrun_state): Delete continuations and
1651 intermediate_continuations arguments.
1652 * infrun.c (context_switch): Don't context-switch the continuations.
1653 * thread.c (clear_thread_inferior_resources): Discard all
1654 continuations of the thread we're clearing.
1655 (save_infrun_state, load_infrun_state): Delete continuations and
1656 intermediate_continuations arguments, and the code referencing
1658 * utils.c: Include "gdbthread.h".
1659 (cmd_continuation, intermediate_continuation): Delete.
1660 (add_continuation): Add thread_info* argument. Install the
1662 (restore_thread_cleanup): New.
1663 (do_all_continuations_ptid, do_all_continuations_thread_callback):
1665 (do_all_continuations): Reimplement.
1666 (discard_all_continuations_thread_callback,
1667 discard_all_continuations_thread): New.
1668 (discard_all_continuations): Reimplement.
1669 (add_intermediate_continuation): Add thread_info* argument.
1670 Install the continuation on it.
1671 (do_all_intermediate_continuations_thread_callback)
1672 (do_all_intermediate_continuations_thread): New.
1673 (do_all_intermediate_continuations): Reimplement.
1674 (discard_all_intermediate_continuations_thread_callback): New.
1675 (discard_all_intermediate_continuations_thread): New.
1676 (discard_all_intermediate_continuations): Reimplement.
1678 * breakpoint.c (until_break_command): Install the continuation on
1681 * defs.h (cmd_continuation, intermediate_continuation): Delete.
1682 (struct thread_info): Forward declare.
1683 (add_continuation, add_intermediate_continuation): Add
1684 thread_info* argument.
1685 (do_all_continuations_thread, discard_all_continuations_thread)
1686 (do_all_intermediate_continuations_thread)
1687 (discard_all_intermediate_continuations_thread): Declare.
1688 * inf-loop.c (inferior_event_handler): In non-stop only run
1689 continuations on the thread that stopped. In all-stop, run
1690 continuations on all threads.
1691 * infcmd.c (step_once, finish_command): Adjust.
1695 Remove the global stop_step in favour of a per-thread
1698 * inferior.h (stop_step): Delete.
1700 * gdbthread.h (struct thread_info): Add comments to stop_step.
1701 (save_infrun_state, load_infrun_state): Remove stop_step argument.
1702 * thread.c (load_infrun_state, save_infrun_state): Remove
1703 stop_step argument, and references to it.
1705 * infrun.c (clear_proceed_status): Clear stop_step.
1706 (fetch_inferior_event): Adjust.
1707 (context_switch): Don't context-switch stop_step.
1708 (handle_inferior_event): Adjust.
1709 (normal_stop): Adjust.
1710 (save_inferior_status, restore_inferior_status): Adjust.
1712 * infcmd.c (stop_step): Delete.
1713 (step_1, step_1_continuation, step_once, until_next_command):
1718 Remove the global step_multi in favour of a per-thread
1721 * inferior.h (step_multi): Delete.
1722 * gdbthread.h (struct thread_info): Add comments around
1724 (save_infrun_state, load_infrun_state): Remove step_multi
1726 * thread.c (load_infrun_state, save_infrun_state): Remove
1727 step_multi argument, and references to it.
1728 * infcmd.c (step_multi): Delete.
1730 (step_1_continuation, until_next_command): Adjust.
1731 * infrun.c (fetch_inferior_event): Adjust.
1732 (context_switch): Don't context-switch step_multi.
1733 (print_stop_reason, normal_stop): Adjust.
1737 Remove the global stop_signal in favour of a per-thread
1740 * inferior.h (stop_signal): Delete.
1741 * gdbthread.h (save_infrun_state, load_infrun_state): Remove
1742 stop_signal argument.
1743 * thread.c (load_infrun_state, save_infrun_state): Remove
1744 stop_signal argument. Don't reference it.
1746 * infcmd.c (stop_signal): Delete.
1747 (program_info): Adjust.
1748 * infrun.c (resume): Clear stop_signal.
1749 (proceed): Adjust. Pass the last stop_signal to the thread we're
1751 (context_switch): Don't context-switch stop_signal.
1752 (handle_inferior_event, keep_going): Adjust.
1753 (save_inferior_status, restore_inferior_status): Adjust.
1755 * fbsd-nat.c: Include "gdbthread.h".
1756 (find_signalled_thread, find_stop_signal): New.
1757 (fbsd_make_corefile_notes): Use it.
1758 * fork-child.c (startup_inferior): Adjust.
1760 * linux-nat.c (get_pending_status): Adjust.
1761 (linux_nat_do_thread_registers): Adjust.
1762 (find_signalled_thread, find_stop_signal): New.
1763 (linux_nat_do_thread_registers): Add stop_signal parameter.
1764 (struct linux_nat_corefile_thread_data): Add stop_signal member.
1765 (linux_nat_corefile_thread_callback): Pass stop_signal.
1766 (linux_nat_do_registers): Delete.
1767 (linux_nat_make_corefile_notes): Use find_stop_signal. Assume
1768 there's always a thread.
1770 * procfs.c (find_signalled_thread, find_stop_signal): New.
1771 (find_stop_signal): New.
1772 (procfs_do_thread_registers): Add stop_signal parameter.
1773 (struct procfs_corefile_thread_data): Add stop_signal member.
1774 (procfs_corefile_thread_callback): Pass args->stop_signal.
1775 (procfs_make_note_section): Find the last stop_signal.
1777 * solib-irix.c: Include gdbthread.h.
1778 (irix_solib_create_inferior_hook): Adjust.
1779 * solib-osf.c: Include gdbthread.h.
1780 (osf_solib_create_inferior_hook): Adjust.
1781 * solib-sunos.c: Include gdbthread.h.
1782 (sunos_solib_create_inferior_hook): Adjust.
1783 * solib-svr4.c: Include gdbthread.h.
1784 (svr4_solib_create_inferior_hook): Adjust.
1786 * win32-nat.c (do_initial_win32_stuff): Adjust.
1790 * gdbthread.h (struct thread_info): Add comments around
1792 (save_infrun_state, load_infrun_state): Remove proceed_to_finish
1794 * thread.c (load_infrun_state, save_infrun_state): Delete
1795 proceed_to_finish argument and references to it.
1797 * infcall.c (call_function_by_hand): Adjust.
1798 * infcmd.c (finish_command): Adjust.
1799 * infrun.c (proceed_to_finish): Delete.
1800 (clear_proceed_status): Adjust.
1801 (context_switch): Don't context-switch proceed_to_finish.
1802 (normal_stop, save_inferior_status, restore_inferior_status):
1807 * inferior.h (stop_bpstat): Delete.
1809 * breakpoint.h (bpstat_do_actions): Remove bpstat* argument.
1811 * breakpoint.c (bpstat_do_actions): Rename to ...
1812 (bpstat_do_actions_1): ... this. Make static. Change return type
1813 to int. Return true if a breakpoint proceeded.
1814 (bpstat_do_actions): New, as wrapper around bpstat_do_actions_1.
1815 (delete_breakpoint): Don't reference the global stop_bpstat; it's
1818 * gdbthread.h (struct thread_info): Add stop_bpstat.
1819 (save_infrun_state, load_infrun_state): Remove stop_bpstat
1821 * thread.c (load_infrun_state, save_infrun_state): Remove
1822 stop_bpstat argument, and the code referencing it.
1824 * infcall.c: Include "gdbthread.h".
1825 (call_function_by_hand): Adjust.
1826 * exceptions.c: Include "gdbthread.h".
1827 (throw_exception): Adjust.
1828 * infcmd.c (stop_bpstat): Delete.
1829 (continue_command): In all-stop, set the ignore count on the
1830 thread that reported the stop. In non-stop, set it on the current
1832 (finish_command_continuation): Adjust.
1833 (program_info): Adjust.
1834 * infrun.c (clear_proceed_status): Adjust.
1835 (context_switch): Don't context-switch stop_bpstat.
1836 (handle_inferior_event): Adjust.
1837 (normal_stop): Adjust.
1838 (save_inferior_status, restore_inferior_status): Adjust.
1840 * inf-loop.c (inferior_event_handler): Remove parameter to
1841 bpstat_do_actions call.
1842 * top.c (command_loop): Remove parameter to bpstat_do_actions
1843 call. Call it unconditionally.
1844 * event-top.c (command_handler): Ditto.
1845 * python/python.c (execute_gdb_command): Ditto.
1849 * inferior.h (step_over_calls): Delete.
1851 * gdbthread.h (save_infrun_state, load_infrun_state): Remove
1852 step_over_calls argument.
1853 * thread.c (save_infrun_state, load_infrun_state): Remove
1854 step_over_calls argument. Adjust.
1856 * infcmd.c (step_over_calls): Delete.
1858 * infrun.c (clear_proceed_status): Adjust.
1859 (context_switch): Don't context-switch step_over_calls.
1860 (handle_inferior_event, save_inferior_status)
1861 (restore_inferior_status): Adjust.
1865 Remove context switching in favour of accessing thread_info fields
1868 * infrun.c (stepping_over_breakpoint, step_resume_breakpoint):
1870 (struct thread_stepping_state): Delete.
1871 (gtss, tss): Delete.
1872 (follow_inferior_reset_breakpoints, follow_exec)
1873 (resume, clear_proceed_status): Adjust.
1875 (proceed, start_remote, init_wait_for_inferior): Adjust.
1876 (struct execution_control_state): Add event_thread member.
1877 (delete_step_resume_breakpoint_callback)
1878 (delete_step_thread_step_resume_breakpoint)
1879 (delete_step_thread_step_resume_breakpoint_cleanup)
1880 (delete_step_thread_step_resume_breakpoint): New.
1881 (wait_for_inferior, init_execution_control_state): Use
1882 delete_step_thread_step_resume_breakpoint_cleanup.
1883 (wait_for_inferior): Set the event_thread.
1884 (fetch_inferior_event): Ditto. Delete the step-resume breakpoint
1885 with delete_step_thread_step_resume_breakpoint.
1886 (init_thread_stepping_state): Change parameter type to
1887 thread_info. Adjust.
1888 (context_switch): Don't context switch prev_pc,
1889 stepping_over_breakpoint, step_resume_breakpoint,
1890 step_range_start, step_range_end, step_frame_id,
1891 tss->stepping_over_breakpoint,
1892 tss->stepping_through_solib_after_catch,
1893 tss->stepping_through_solib_catchpoints, tss->current_line, or
1894 tss->current_symtab.
1895 (adjust_pc_after_break, handle_inferior_event)
1896 (currently_stepping, step_into_function)
1897 (insert_step_resume_breakpoint_at_sal)
1898 (insert_longjmp_resume_breakpoint, keep_going): Adjust.
1899 (clear_stepping_state): New.
1900 (normal_stop): Adjust.
1901 (save_inferior_status, restore_inferior_status): Adjust.
1903 * gdbthread.h (struct thread_info): Comments describing the
1904 members moved here. Add step_after_step_resume_breakpoint.
1905 (delete_step_resume_breakpoint): Add thread_info argument.
1906 (save_infrun_state, load_infrun_state): Remove prev_pc,
1907 trap_expected, step_resume_breakpoint, step_range_start,
1908 step_range_end, step_frame_id, another_trap,
1909 stepping_through_solib_after_catch,
1910 stepping_through_solib_catchpoints, current_line and
1911 current_symtab function arguments.
1912 (inferior_thread): Declare.
1914 * thread.c (inferior_thread): New.
1915 (delete_step_resume_breakpoint): Add a thread_info parameter and
1917 (load_infrun_state, save_infrun_state): Remove prev_pc,
1918 trap_expected, step_resume_breakpoint, step_range_start,
1919 step_range_end, step_frame_id, stepping_over_breakpoint,
1920 stepping_through_solib_after_catch,
1921 stepping_through_solib_catchpoints, current_line and
1922 current_symtab args. Remove code referencing them.
1924 * infcmd.c (step_range_start, step_range_end, step_frame_id):
1926 (step_1, step_once, until_next_command): Adjust.
1928 * inferior.h (step_range_start, step_range_end, step_frame_id):
1931 * linux-nat.c (linux_child_follow_fork): If following the child,
1932 move the step state to it. Adjust.
1933 * inf-ptrace.c (inf_ptrace_follow_fork): Ditto.
1934 * inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
1938 * bsd-uthread.c (bsd_uthread_find_new_threads): Claim the main
1943 * corelow.c (add_to_thread_list): If this is the first time we
1944 hear about thread info, update inferior_ptid.
1945 (core_open): Clear the thread list and set inferior_ptid before
1946 acknowledging a new inferior. Find threads before fetching
1947 register info. Give an upper target layer a chance to find and
1948 claim new threads. Print core generation and stop signal info
1949 after finding new threads.
1950 (get_core_register_section): Look at the lwp member of
1951 inferior_ptid for detecting if we have threads info, instead of
1953 (core_pid_to_str): New.
1954 (init_core_ops): Register core_pid_to_str.
1958 * spu-linux-nat.c (spu_child_post_startup_inferior)
1959 (spu_child_post_attach): Don't add the main thread here.
1963 Use ptid_t.tid to store thread ids instead of ptid_t.pid.
1965 * gnu-nat.c (inf_validate_procs): If this is the first time we're
1966 seeing a thread id, extend the main thread's ptid. If we still
1967 have pending execs, don't be verbose about new threads.
1968 (gnu_wait, gnu_resume, gnu_attach, gnu_thread_alive)
1969 (gnu_pid_to_str, cur_thread, sig_thread_cmd): Adjust.
1970 * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers):
1975 * procfs.c (to_attach): Create a procinfo for the current lwp.
1976 Add it to gdb's thread list.
1977 (procfs_fetch_registers, procfs_store_registers): Assume there's
1979 (procfs_wait): Don't add the main thread here.
1980 (procfs_init_inferior): Create a procinfo for the main lwp here.
1981 Change main thread's ptid with thread_change_ptid.
1982 (procfs_notice_thread): Check for exited threads.
1983 (procfs_corefile_thread_callback): Remove check for the main
1985 (procfs_make_note_section): Assume there is always a thread.
1987 * sol-thread.c (sol_thread_attach): Clear sol_thread_active before
1988 attaching. Change the main thread ptid with thread_change_ptid.
1989 (sol_thread_detach): Clear sol_thread_active.
1990 (sol_thread_wait): Check for exited threads.
1991 (sol_thread_create_inferior): Clear sol_thread_active before
1992 creating a new inferior. Change the main thread ptid with
1994 (sol_thread_mourn_inferior): Clear sol_thread_active.
1995 (sol_find_new_threads_callback): Check for exited threads.
1999 * inf-ttrace.c (inf_ttrace_wait): On TTEVT_LWP_CREATE and
2000 LWP_TERMINATE, resume the caller thread. On TTEVT_LWP_CREATE,
2001 TTEVT_LWP_EXIT and TTEVT_LWP_TERMINATE, don't stop the whole
2002 process, and return TARGET_WAITKIND_IGNORE.
2006 * inf-ttrace.c: Include <signal.h>
2007 (inf_ttrace_delete_dead_threads_callback): New.
2008 (inf_ttrace_resume_lwp): New.
2009 (inf_ttrace_resume_callback, inf_ttrace_resume): Rewrite. Don't
2010 delete dying threads until they are really dead.
2011 (inf_ttrace_wait): After stopping the whole process, delete any
2012 dying thread that is really dead by now.
2013 (inf_ttrace_thread_alive): Return 1.
2014 (inf_ttrace_extra_thread_info): New.
2015 (inf_ttrace_target): Register inf_ttrace_extra_thread_info.
2019 * inf-ttrace.c (inf_ttrace_follow_fork): Register the main thread
2021 (inf_ttrace_attach): Add the main thread.
2022 (inf_ttrace_resume_callback): Check for exited threads. Adjust
2023 for always a thread.
2024 (inf_ttrace_wait): Decorate the main thread's ptid with lwp info
2025 using thread_change_ptid, and set its private data. Don't add the
2027 (inf_ttrace_pid_to_str): Adjust.
2031 * bsd-uthread.c (bsd_uthread_wait): Decorate the main thread with
2032 thread_change_ptid. Check for exited threads.
2033 (bsd_uthread_find_new_threads): Check for exited threads.
2037 * inf-ptrace.c: Include "gdbthread.h".
2038 (inf_ptrace_attach): Add the main thread here.
2039 * linux-nat.c (linux_nat_attach): Don't add the main thread here.
2040 Decorate the main thread id with the lwp id.
2044 * linux-nat.c (linux_nat_wait): Update inferior_ptid's ptid with
2045 thread_change_ptid. Don't add or mark the main thread as running
2047 * fork-child.c (fork_inferior): Add the main thread here.
2051 * rs6000-tdep.c (rs6000_fetch_instruction)
2052 (rs6000_skip_stack_check): New functions.
2053 (skip_prologue): Skip stack check sequence.
2057 * dummy-frame.h (frame.h): Include it.
2058 (struct frame_id): Remove declaration.
2062 * spu-tdep.c (spu_push_dummy_code): New function.
2063 (spu_gdbarch_init): Install it.
2067 * gdbarch.sh (gdbarch_dump): Use core_addr_to_string_nz
2068 instead of paddr_nz.
2069 * gdbarch.c: Regenerate.
2071 * target.c (target_xfer_partial, debug_print_register): Use
2072 core_addr_to_string_nz instead of paddr_nz.
2076 * rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping
2077 *before* calling gdbarch_init_osabi.
2078 (rs6000_aix_init_osabi): Disable displaced stepping.
2082 * target.c (update_current_target): Do not inherit to_open
2084 (pop_target): Call target_close on target_stack instead
2086 (pop_all_targets_above): Likewise.
2090 * gnu-v3-abi.c (gnuv3_decode_method_ptr): New function.
2091 (gnuv3_print_method_ptr): Use it.
2092 (gnuv3_method_ptr_to_value): Likewise.
2096 * nto-tdep.h (struct nto_target_ops): Add gdbarch parameter to
2097 register_area callback function.
2098 * i386-nto-tdep.c (i386nto_register_area): Add gdbarch parameter.
2099 Use it instead of current_gdbarch.
2100 * nto-procfs.c (procfs_store_registers): Update call.
2104 * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Use
2105 regcache architecture instead of current_gdbarch.
2109 * mep-tdep.c (struct mep_prologue): Add gdbarch member.
2110 (check_for_saved): Use it instead of current_gdbarch.
2111 (is_arg_spill): Add gdbarch paramter. Use it instead
2113 (mep_analyze_prologue): Add gdbarch parameter. Pass it
2114 to is_arg_spill and check_for_saved.
2115 (mep_skip_prologue, mep_analyze_frame_prologue): Update calls.
2119 * hppa-tdep.c (internalize_unwinds): Use objfile architecture
2120 instead of current_gdbarch.
2124 * m68k-tdep.h (m68kbsd_fpreg_offset): Add gdbarch parameter.
2125 * m68kbsd-tdep.c (m68kbsd_fpreg_offset): Add gdbarch paramter.
2126 Use it instead of current_gdbarch.
2127 (m68kbsd_supply_fpregset): Update call.
2128 * m68kbsd-nat.c (m68kbsd_supply_fpregset): Likewise.
2129 (m68kbsd_collect_fpregset): Likewise.
2133 * cris-tdep.c (cris_version, cris_mode): Remove.
2134 (crisv32_single_step_through_delay): Use tdep->cris_mode.
2135 (cris_breakpoint_from_pc): Likewise.
2136 (cris_frame_unwind_cache): Use tdep->cris_version.
2137 (crisv32_scan_prologue): Likewise.
2138 (cris_spec_reg_applicable): Add gdbarch argument.
2139 Use tdep->cris_version.
2140 (cris_register_size, cris_special_register_name): Update calls.
2141 (cris_special_register_name): Add gdbarch argument.
2142 (cris_register_name, crisv32_register_name): Update calls.
2146 * m68hc11-tdep.c (gdb_print_insn_m68hc11): Use info->arch
2147 instead of current_gdbarch.
2149 * sh64-tdep.c (gdb_print_insn_sh64): Remove.
2150 (sh64_gdbarch_init): Install print_insn_sh64 directly.
2151 * sh-tdep.c (gdb_print_insn_sh): Remove.
2152 (sh_gdbarch_init): Install print_insn_sh directly.
2154 * mips-tdep.c (gdb_print_insn_mips): Do not check mips_abi
2155 from current_gdbarch.
2156 (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): New functions.
2157 (mips_gdbarch_init): Install them instead of gdb_print_insn_mips
2158 depending on mips_abi.
2162 * gdbarch.sh (addr_bits_remove): Change type to 'm'.
2163 (smash_text_address): Likewise.
2164 * gdbarch.c, gdbarch.h: Regenerate.
2166 * arch-utils.c (core_addr_identity): Add gdbarch parameter.
2167 * arch-utils.h (core_addr_identity): Likewise.
2168 * arm-tdep.c (arm_addr_bits_remove): Likewise.
2169 (arm_smash_text_address): Likewise.
2170 * hppa-tdep.c (hppa_smash_text_address): Likewise.
2171 * m88k-tdep.c (m88k_addr_bits_remove): Likewise.
2172 * s390-tdep.c (s390_addr_bits_remove): Likewise.
2174 * mips-tdep.c (mips_addr_bits_remove): Add gdbarch parameter.
2175 Use it instead of current_gdbarch.
2177 * arm-tdep.c (arm_prologue_prev_register, arm_unwind_pc,
2178 arm_dwarf2_prev_register): Update calls.
2179 * m88k-tdep.c (m88k_unwind_pc): Update call.
2183 * dwarf2expr.h (dwarf2_read_address): Add gdbarch argument.
2184 * dwarf2expr.c (dwarf2_read_address): Add gdbarch argument.
2185 Call gdbarch_integer_to_address directly instead of converting
2186 to value and back. Update comment.
2187 (execute_stack_op): Update call site.
2188 * dwarf2loc.c (find_location_expression): Likewise.
2189 (locexpr_describe_location): Update
2191 * dwarf2expr.h (struct dwarf_expr_context): Add gdbarch member.
2192 * dwarf2-frame.c (execute_stack_op): Initialize ctx->gdbarch.
2193 * dwarf2loc. (dwarf2_evaluate_loc_desc): Likewise.
2194 (dwarf2_loc_desc_needs_frame): Likewise.
2198 * breakpoint.h (struct bp_location): Change type of section
2199 member to "struct obj_section *".
2200 * tracepoint.h (struct tracepoint): Likewise.
2201 * symtab.h (struct general_symbol_info): Replace bfd_section
2202 member with obj_section.
2203 (struct symtab_and_line): Change type of section member to
2204 "struct obj_section *".
2205 (SYMBOL_BFD_SECTION): Remove macro, replace by ...
2206 (SYMBOL_OBJ_SECTION): ... this.
2208 * minsym.c (prim_record_minimal_symbol_and_info): Record symbol
2209 section as obj_section instead of bfd_section.
2211 * ada-lang.c (ada_decode_symbol): Use gsymbol->obj_section
2212 directly instead of looking of obj_section from bfd_section.
2214 * objfiles.h (find_pc_sect_section): Remove.
2215 * objfiles.c (find_pc_sect_section): Remove.
2216 (find_pc_section): Inline find_pc_sect_section code.
2218 * symfile.h (find_pc_overlay): Return struct obj_section *.
2219 (find_pc_mapped_section): Likewise.
2220 (section_is_overlay, section_is_mapped): Change type of section
2221 argument to struct obj_section *.
2222 (pc_in_mapped_range, pc_in_unmapped_range): Likewise.
2223 (overlay_mapped_address, overlay_unmapped_address): Likewise.
2224 (symbol_overlayed_address): Likewise.
2225 * symtab.h (symbol_overlayed_address): Likewise.
2226 * symfile.c (overlay_is_mapped): Remove.
2227 (section_is_mapped): Inline overlay_is_mapped code. Update.
2228 (overlay_invalidate_all): Update.
2229 (section_is_overlay): Change section argument to type
2230 "struct obj_section *". Use bfd_ methods.
2231 (pc_in_unmapped_range): Likewise. Handle relocated sections.
2232 (pc_in_mapped_range): Likewise. Handle relocated sections.
2233 (sections_overlap): Likewise.
2234 (overlay_unmapped_address): Likewise.
2235 (overlay_mapped_address): Likewise.
2236 (symbol_overlayed_address): Likewise.
2237 (find_pc_overlay): Return struct obj_section *.
2238 (find_pc_mapped_section): Likewise.
2239 (list_overlays_command): Update.
2240 (map_overlay_command, unmap_overlay_command): Update.
2241 (simple_overlay_update): Update.
2243 * block.h (blockvector_for_pc_sect): Change section argument
2244 to type "struct obj_section *".
2245 (block_for_pc_sect): Likewise.
2246 * block.c (blockvector_for_pc_sect): Change section argument
2247 to type "struct obj_section *".
2248 (block_for_pc_sect): Likewise.
2249 * symtab.h (find_pc_sect_function, find_pc_sect_psymtab,
2250 find_pc_sect_symtab, find_pc_sect_psymbol, find_pc_sect_line,
2251 lookup_minimal_symbol_by_pc_section, find_function_start_pc): Likewise.
2252 (matching_bfd_sections): Rename to ...
2253 (matching_obj_sections): ... this. Update argument types.
2254 * blockframe.c (find_pc_sect_function): Likewise.
2255 * breakpoint.c (describe_other_breakpoints): Likewise.
2256 (breakpoint_has_pc, check_duplicates_for): Likewise.
2257 * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise.
2258 (lookup_minimal_symbol_by_pc_section): Likewise.
2259 * symtab.c (find_pc_sect_psymtab_closer): Likewise.
2260 (find_pc_sect_psymtab, find_pc_sect_psymbol, find_pc_sect_symtab,
2261 find_pc_sect_line, find_function_start_pc): Likewise.
2262 (matching_bfd_sections): Rename to ...
2263 (matching_obj_sections): ... this. Update argument types.
2265 * blockframe.c (find_pc_partial_function): Update to section
2266 type changes. No longer call find_pc_sect_section.
2267 (cache_pc_function_section): Change to type "struct obj_section *".
2268 * breakpoint.c (resolve_sal_pc): Update to section type changes.
2269 * exec.c (xfer_memory): Likewise.
2270 * findvar.c (read_var_value): Likewise.
2271 * infcmd.c (jump_command): Likewise.
2272 * linespec.c (minsym_found): Likewise.
2273 * maint.c (maintenance_translate_address): Likewise.
2274 * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise.
2275 (lookup_solib_trampoline_symbol_by_pc): Likewise.
2276 * parse.c (write_exp_msymbol): Likewise.
2277 * printcmd.c (build_address_symbolic): Likewise.
2278 (address_info, sym_info): Likewise.
2279 * symmisc.c (dump_msymbols, print_symbol): Likewise.
2280 * symtab.c (fixup_section): Likewise.
2281 (fixup_symbol_section, fixup_psymbol_section): Likewise.
2282 (find_pc_line, find_function_start_sal): Likewise.
2283 * target.c (memory_xfer_partial): Likewise.
2284 * hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline): Likewise.
2285 * spu-tdep.c (spu_overlay_update): Likewise.
2289 * defs.h (plongest,pulongest): Renamed from paddr_u,paddr_d.
2290 Change argument of pulongest from CORE_ADDR to ULONGEST.
2291 All callers updated.
2292 * utils.c (plongest): Renamed from paddr_d.
2293 (pulongest): Renamed from paddr_u, change arg type to ULONGEST.
2294 * remote-mips.c (send_srec): Use paddr_nz instead of paddr_u in
2295 `CORE_ADDR addr' arg of error message.
2299 * ser-tcp.c (ser_tcp_send_break): New function.
2300 (_initialize_ser_tcp): Use ser_tcp_send_break.
2301 * ser-tcp.h (ser_tcp_send_break): New prototype.
2305 * spu-tdep.c (spu_push_dummy_call): Update all stack pointer slots
2306 when allocating stack frame for inferior call.
2310 * spu-tdep.c (spu_frame_unwind_cache): Do not attempt to unwind
2311 SP or return address if we failed to find a valid frame.
2315 * breakpoint.c (breakpoint_init_inferior): Mark as not inserted only
2316 non-permanent breakpoints.
2317 (bpstat_stop_status): Change enable_state to bp_disabled only for
2318 non-permanent breakpoints.
2319 (bp_loc_is_permanent): New function.
2320 (create_breakpoint): Check if the location points to a permanent
2321 breakpoint and if it does, make breakpoint permanent.
2322 (update_breakpoint_locations): Make sure new locations of permanent
2323 breakpoints are properly initialized.
2324 * i386-tdep.c (i386_skip_permanent_breakpoint): New function.
2325 (i386_gdbarch_init): Set gdbarch_skip_permanent_breakpoint.
2329 * breakpoint.c (insert_breakpoints, update_global_location_list):
2330 Check breakpoints_always_inserted_mode instead of
2331 always_inserted_mode directly.
2335 * ia64-tdep.c (ia64_get_dyn_info_list): Use obj_section_addr.
2339 Stay compatible after the GCC PR fortran/29635 fix.
2340 * dwarf2read.c (process_die <DW_TAG_imported_module>)
2341 (process_die <DW_TAG_imported_module>): Do not assert anything about
2342 these unsupported tags.
2346 * maint.c (_initialize_maint_cmds): Fix typo.
2350 * dwarf2read.c (dwarf2_build_psymtabs_hard): Copy dirname on
2355 * remote.c: Include "gdb_stat.h".
2359 * dummy-frame.h (dummy_frame_pop): Add prototype.
2360 * dummy-frame.c: Include "observer.h".
2361 (dummy_frame_push): Do not check for stale frames.
2362 (dummy_frame_pop): New function.
2363 (cleanup_dummy_frames): New function.
2364 (_initialize_dummy_frame): Install it as inferior_created observer.
2366 * frame.h (struct frame_id): Update comments.
2367 (frame_id_inner): Remove prototype.
2368 * frame.c (frame_id_inner): Make static. Add comments.
2369 (frame_find_by_id): Update frame_id_inner safety net check to avoid
2370 false positives for targets using non-contiguous stack ranges.
2371 (get_prev_frame_1): Update frame_id_inner safety net check.
2372 (frame_pop): Call dummy_frame_pop when popping a dummy frame.
2374 * stack.c (return_command): Directly pop the selected frame.
2375 * infrun.c (handle_inferior_event): Remove dead code.
2376 * i386-tdep.c (i386_push_dummy_call): Update comment.
2380 * breakpoint.c (remove_breakpoint): Do not fail if unable to remove
2381 breakpoint from shared library.
2385 * solib-svr4.c (read_program_header): New function.
2386 (scan_dyntag_auxv): New function.
2387 (elf_locate_base): Use it if scan_dyntag fails.
2388 (find_program_interpreter): New function.
2389 (enable_break): Use it instead of .interp section.
2393 * remote.h (remote_filename_p, remote_bfd_open): Add prototypes.
2394 * remote.c (remote_bfd_iovec_open, remote_bfd_iovec_close,
2395 remote_bfd_iovec_pread, remote_bfd_iovec_stat, remote_filename_p,
2396 remote_bfd_open): New functions.
2397 (remote_hostio_send_command): Fail safely if remote connection
2400 * solist.h (solib_open): Remove prototype.
2401 (solib_bfd_open): Add prototype.
2402 * solib.c: Include "remote.h".
2403 (solib_open): Remove, replace by ...
2404 (solib_bfd_open): ... this new function. Handle remote BFDs.
2405 (solib_map_sections): Replace solib_open by solib_bfd_open.
2406 * solib-frv.c: Include "exceptions.h".
2407 (enable_break2): Replace solib_open by solib_bfd_open.
2408 * solib-svr4.c: Include "exceptions.h".
2409 (enable_break): Replace solib_open by solib_bfd_open.
2411 * symfile.c: Include "remote.h".
2412 (build_id_verify): Handle remote BFDs.
2413 (separate_debug_file_exists): Use BFD to access file. Handle
2415 (symfile_bfd_open): Handle remote BFDs.
2416 (reread_symbols): Handle remote BFDs.
2418 * NEWS: Mention "remote:" argument prefix to "set sysroot".
2422 * gdbarch.sh (target_gdbarch): New global variable.
2423 (deprecated_current_gdbarch_select_hack): Set it.
2424 * gdbarch.c, gdbarch.h: Regenerate.
2426 * arch-utils.c (gdbarch_update_p): Use target_gdbarch instead
2428 * target-descriptions.c (target_find_description): Likewise.
2429 * arm-tdep.c (arm_update_current_architecture): Likewise.
2430 (show_fp_model, arm_show_abi, arm_show_fallback_mode,
2431 arm_show_force_mode): Likewise.
2432 * mips-tdep.c (show_mask_address, show_mipsfpu_command,
2433 show_mips_abi): Likewise.
2434 * mep-tdep.c (me_module_register_set, current_me_module): Likewise.
2436 * target.c (target_translate_tls_address): Use target_gdbarch
2437 instead of current_gdbarch.
2438 * remote.c (struct packet_reg): Likewise.
2439 (get_remote_arch_state, packet_reg_from_regnum,
2440 packet_reg_from_pnum, remote_check_symbols, remote_wait,
2441 remote_address_masked, remote_insert_breakpoint,
2442 remote_insert_hw_breakpoint, remote_read_description): Likewise.
2443 * remote-m32r-sdi.c (m32r_resume, m32r_wait): Likewise.
2444 * remote-mips.c (mips_open, mips_common_breakpoint): Likewise.
2445 * cris-tdep.c (cris_can_use_hardware_watchpoint): Likewise.
2447 * solib.c (solib_open, solib_map_sections, solib_read_symbols,
2448 solib_add, info_sharedlibrary_command, solib_address,
2449 solib_create_inferior_hook, in_solib_dynsym_resolve_code,
2450 solib_global_lookup): Likewise.
2451 * solib-frv.c (enable_break2, frv_relocate_main_executable): Likewise.
2452 * solib-irix.c (irix_current_sos, irix_open_symbol_file_object):
2454 * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise.
2455 * solib-svr4.c (exec_entry_point, enable_break, svr4_free_so,
2456 set_solib_svr4_fetch_link_map_offsets, svr4_fetch_link_map_offsets):
2458 * nto-tdep.c (nto_find_and_open_solib, nto_init_solib_absolute_prefix,
2459 nto_truncate_ptr): Likewise.
2460 * mips-linux-tdep.c (mips_linux_in_dynsym_stub): Likewise.
2464 * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections) New structure.
2465 (ppc_linux_vmx_regset_sections): New structure.
2466 (ppc_linux_fp_regset_sections): New structure.
2467 (ppc_linux_init_abi): Select core-file regset based on target
2472 * target.c (debug_print_register): Use regcache_raw_collect
2473 instead of regcache_cooked_read. Only handle raw registers.
2477 * cp-name-parser.y: Include config.h before system headers.
2481 * m88k-tdep.c: Update for unwinder changes.
2485 * s390-tdep.c (s390_address_class_type_flags): Use
2486 TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1.
2487 (s390_address_class_type_flags_to_name): Likewise.
2488 (s390_address_class_name_to_type_flags): Likewise.
2492 * rs6000-tdep.c (rs6000_builtin_type_vec128): Don't use
2494 * features/rs6000/powerpc-vsx32l.c
2495 (initialize_tdesc_powerpc_vsx32l): Update.
2496 * features/rs6000/powerpc-vsx32.c
2497 (initialize_tdesc_powerpc_vsx32): Update.
2498 * features/rs6000/powerpc-vsx64.c
2499 (initialize_tdesc_powerpc_vsx64): Update.
2500 * features/rs6000/powerpc-vsx64l.c
2501 (initialize_tdesc_powerpc_vsx64l): Update.
2502 * target-descriptions.c (maint_print_c_tdesc_cmd): Emit
2503 TYPE_VECTOR, not TYPE_FLAGS.
2507 * xml-tdesc.c (tdesc_end_union): Update.
2508 * stabsread.c (define_symbol): Update.
2509 (read_type): Update.
2510 (read_struct_type): Update.
2511 (read_enum_type): Update.
2512 * spu-tdep.c (spu_builtin_type_vec128): Update.
2513 * sh-tdep.c (sh_push_dummy_call_fpu): Update.
2514 (sh_push_dummy_call_nofpu): Update.
2515 * mdebugread.c (parse_symbol): Update.
2516 (parse_symbol): Update.
2517 (parse_symbol): Update.
2518 (upgrade_type): Update.
2519 * jv-lang.c (java_lookup_class): Update.
2520 * iq2000-tdep.c (iq2000_pointer_to_address): Update.
2521 * i386-tdep.c (i386_mmx_type): Update.
2522 (i386_sse_type): Update.
2523 * gdbtypes.h (enum type_flag_value): New enum.
2524 (enum type_instance_flag_value): New enum.
2525 (TYPE_FLAG_UNSIGNED, TYPE_FLAG_NOSIGN, TYPE_FLAG_STUB,
2526 TYPE_FLAG_TARGET_STUB, TYPE_FLAG_STATIC, TYPE_FLAG_PROTOTYPED,
2527 TYPE_FLAG_INCOMPLETE, TYPE_FLAG_VARARGS, TYPE_FLAG_VECTOR,
2528 TYPE_FLAG_FIXED_INSTANCE, TYPE_FLAG_STUB_SUPPORTED,
2529 TYPE_FLAG_NOTTEXT): Now enum constants.
2530 (TYPE_FLAG_CONST, TYPE_FLAG_VOLATILE, TYPE_FLAG_CODE_SPACE,
2531 TYPE_FLAG_DATA_SPACE, TYPE_FLAG_ADDRESS_CLASS_1,
2532 TYPE_FLAG_ADDRESS_CLASS_2): Remove.
2533 (TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_VOLATILE,
2534 TYPE_INSTANCE_FLAG_CODE_SPACE, TYPE_INSTANCE_FLAG_DATA_SPACE,
2535 TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1,
2536 TYPE_INSTANCE_FLAG_ADDRESS_CLASS_2): New constants.
2537 (TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_STUB, TYPE_TARGET_STUB,
2538 TYPE_STATIC, TYPE_PROTOTYPED, TYPE_INCOMPLETE, TYPE_VARARGS,
2539 TYPE_VECTOR, TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED,
2540 TYPE_NOTTEXT): Update.
2541 (TYPE_FLAG_ADDRESS_CLASS_ALL): Remove.
2542 (TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL): New define.
2543 (TYPE_VOLATILE, TYPE_CODE_SPACE, TYPE_DATA_SPACE,
2544 TYPE_ADDRESS_CLASS_1, TYPE_ADDRESS_CLASS_2,
2545 TYPE_ADDRESS_CLASS_ALL): Update.
2546 (struct main_type) <flags>: Remove.
2547 <flag_unsigned, flag_nosign, flag_stub, flag_target_stub,
2548 flag_static, flag_prototyped, flag_incomplete, flag_varargs,
2549 flag_vector, flag_stub_supported, flag_nottext,
2550 flag_fixed_instance>: New fields.
2551 <nfields, vptr_fieldno>: Move earlier.
2552 (TYPE_FLAGS): Remove.
2553 * gdbtypes.c (make_pointer_type): Update.
2554 (address_space_name_to_int): Update.
2555 (address_space_int_to_name): Update.
2556 (make_type_with_address_space): Update.
2557 (make_cv_type): Update.
2558 (create_range_type): Update.
2559 (get_discrete_bounds): Update.
2560 (create_set_type): Update.
2561 (make_vector_type): Update.
2562 (smash_to_method_type): Update.
2563 (check_typedef): Update.
2564 (check_stub_method): Update.
2565 (init_type): Individually assign flag fields.
2566 (recursive_dump_type): Don't print entire TYPE_FLAGS field. Do
2567 print TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED, and TYPE_NOTTEXT.
2568 (copy_type_recursive): Copy the entire main type. Don't use
2570 * features/rs6000/powerpc-altivec64l.c
2571 (initialize_tdesc_powerpc_altivec64l): Update.
2572 * features/rs6000/powerpc-altivec64.c
2573 (initialize_tdesc_powerpc_altivec64): Update.
2574 * features/rs6000/powerpc-altivec32l.c
2575 (initialize_tdesc_powerpc_altivec32l): Update.
2576 * features/rs6000/powerpc-altivec32.c
2577 (initialize_tdesc_powerpc_altivec32): Update.
2578 * features/rs6000/powerpc-7400.c (initialize_tdesc_powerpc_7400):
2580 * features/arm-with-iwmmxt.c (initialize_tdesc_arm_with_iwmmxt):
2582 * dwarf2read.c (read_structure_type): Update.
2583 (read_enumeration_type): Likewise.
2584 (process_enumeration_scope): Likewise.
2585 (read_tag_pointer_type): Likewise.
2586 (read_subroutine_type): Likewise.
2587 (read_subroutine_type): Likewise.
2588 (read_base_type): Likewise.
2589 * coffread.c (coff_read_enum_type): Update.
2590 * ada-valprint.c (adjust_type_signedness): Update.
2591 * ada-typeprint.c (print_record_field_types): Update.
2592 * ada-lang.c (packed_array_type): Update.
2593 (empty_record): Don't reset TYPE_FLAGS.
2594 (ada_template_to_fixed_record_type_1): Update.
2595 (ada_template_to_fixed_record_type_1): Likewise.
2596 (template_to_static_fixed_type): Likewise.
2597 (to_record_with_fixed_variant_part): Likewise.
2598 (to_fixed_record_type): Likewise.
2599 (to_fixed_array_type): Likewise.
2600 (to_static_fixed_type): Likewise.
2605 * symmisc.c (print_symbol_bcache_statistics): Include statistics
2606 for the macro bcache.
2610 * macrotab.h (struct macro_definition) <kind>: Shrink to one bit.
2611 (argc): Now 31 bits.
2615 * NEWS: Move macro entries back under "New commands".
2619 * breakpoint.c (create_overlay_event_breakpoint): Rename to ...
2620 (create_overlay_event_breakpoint_1): ... this. Add OBJFILE parameter.
2621 (create_overlay_event_breakpoint): Loop over all objfiles to install
2622 multiple instances of the overlay event breakpoint if present.
2626 * spu-tdep.c (spu_overlay_new_objfile): Only consider SPU objfiles.
2627 (info_spu_event_command): Command only supported on SPU architecture.
2628 (info_spu_signal_command): Likewise.
2629 (info_spu_mailbox_command): Likewise.
2630 (info_spu_dma_command): Likewise.
2631 (info_spu_proxydma_command): Likewise.
2635 * infrun.c (adjust_pc_after_break): Do not call get_thread_regcache
2636 if the thread has already exited.
2640 * infrun.c (proceed): Move back setting previous_inferior_ptid
2642 (wait_for_inferior): ... to here.
2643 (fetch_inferior_event): ... and here.
2647 * gdbarch.sh: Include "regcache.h" into gdbarch.c.
2648 (deprecated_current_gdbarch_select_hack): Call registers_changed
2649 instead of reinit_frame_cache.
2650 * gdbarch.c: Regenerate.
2654 * elfread.c (elf_symtab_read): Do not relocate thread-local symbols.
2658 * xcoffread.c (SYMNAME_ALLOC): Correct syntax.
2662 * findvar.c (locate_var_value): Do not call get_frame_arch
2663 with a NULL frame argument.
2667 * frame.h (frame_map_regnum_to_name): Remove prototype.
2668 (frame_map_name_to_regnum): Remove prototype.
2669 * frame.c (frame_map_regnum_to_name): Remove.
2670 (frame_map_name_to_regnum): Remove.
2671 (frame_unwind_register_value): Use user_reg_map_regnum_to_name
2672 instead of frame_map_regnum_to_name.
2673 * ax-gdb.c: Include "user-regs.h".
2674 (gen_expr): Use user_reg_map_name_to_regnum instead of
2675 frame_map_name_to_regnum.
2676 * eval.c: Include "user-regs.h".
2677 (evaluate_subexp_standard): Use user_reg_map_name_to_regnum
2678 instead of frame_map_name_to_regnum.
2679 * infcmd.c (registers_info): Likewise.
2680 * parse.c: Include "user-regs.h".
2681 (write_dollar_variable): Use user_reg_map_name_to_regnum
2682 instead of frame_map_name_to_regnum.
2683 * tracepoint.c: Include "user-regs.h".
2684 (encode_actions): Use user_reg_map_name_to_regnum
2685 instead of frame_map_name_to_regnum.
2686 * valops.c: Include "user-regs.h".
2687 (value_fetch_lazy): Use user_reg_map_regnum_to_name instead
2688 of frame_map_regnum_to_name.
2692 * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Read
2693 and manually relocate .opd contents from BFD instead of reading
2694 them from target memory.
2698 * dwarf2read.c (processing_current_prefix): Delete static
2700 (process_full_comp_unit): Do not set processing_current_prefix.
2701 (dwarf2_full_name): New function.
2702 (read_func_scope): Do not set processing_current_prefix. Use
2704 (read_structure_type): Do not set processing_current_prefix. Remove
2705 unused inner cleanup.
2706 (process_structure_scope): Do not set processing_current_prefix.
2707 (read_enumeration_type): Use dwarf2_full_name.
2708 (determine_class_name): Return a const char *. Put the result
2709 on the objfile obstack. Use dwarf2_full_name.
2710 (read_namespace_type): New function.
2711 (read_namespace): Do not create the type here. Use
2713 (read_typedef): Use dwarf2_full_name. Do not pass the name
2715 (read_base_type): Do not pass the name to init_type. Handle
2717 (read_unspecified_type): Do not pass the name to init_type.
2718 (new_symbol): Use dwarf2_full_name instead of
2719 processing_current_prefix.
2720 (read_type_die): Do not set processing_current_prefix. Handle
2722 (determine_prefix): Handle specifications. Return the result
2723 on the objfile obstack. Handle unions correctly.
2727 * buildsym.c (add_symbol_to_list): Do not call
2728 cp_scan_for_anonymous_namespaces here.
2729 (finish_block): Do not call cp_set_block_scope here.
2730 * cp-namespace.c (processing_has_namespace_info)
2731 (processing_current_prefix): Delete.
2732 (cp_initialize_namespace): Do not initialize
2733 processing_has_namespace_info.
2734 (cp_scan_for_anonymous_namespaces): Use SYMBOL_DEMANGLED_NAME. Do
2735 not check processing_has_namespace_info.
2736 (cp_set_block_scope): Take prefix and namespace info flag as
2737 arguments. Honor namespaces regardless of a demangled name.
2738 * cp-support.h (processing_has_namespace_info)
2739 (processing_current_prefix): Delete declarations.
2740 (cp_set_block_scope): Update prototype.
2741 * dwarf2read.c (processing_has_namespace_info)
2742 (processing_current_prefix): New static variables.
2743 (read_file_scope): Initialize processing_has_namespace_info.
2744 (read_func_scope): Call cp_set_block_scope for C++.
2745 (new_symbol): Call cp_scan_for_anonymous_namespaces for C++.
2746 * symtab.c (symbol_demangled_name): Accept a const argument.
2747 * symtab.h (symbol_demangled_name): Update prototype.
2751 * ax-gdb.c (gen_var_ref): Use SYMBOL_LINKAGE_NAME.
2752 * blockframe.c (find_pc_partial_function): Likewise.
2753 * buildsym.c (find_symbol_in_list): Likewise.
2754 * c-valprint.c (c_val_print): Likewise.
2755 * coffread.c (patch_opaque_types, process_coff_symbol): Likewise.
2756 (coff_read_enum_type): Likewise. Use SYMBOL_SET_LINKAGE_NAME.
2757 * cp-support.c (cp_remove_params): Renamed from remove_params and
2759 (overload_list_add_symbol): Update call to remove_params.
2760 * cp-support.h (cp_remove_params): Declare.
2761 * dwarf2read.c (process_enumeration_scope): Use SYMBOL_LINKAGE_NAME.
2762 (dwarf2_const_value): Use SYMBOL_PRINT_NAME.
2763 * expprint.c (dump_subexp_body_standard): Likewise.
2764 * f-valprint.c (info_common_command, there_is_a_visible_common_named):
2765 Use SYMBOL_LINKAGE_NAME to find symbols and SYMBOL_PRINT_NAME
2767 * findvar.c (read_var_value): Use SYMBOL_LINKAGE_NAME.
2768 * gnu-v2-abi.c (gnuv2_value_rtti_type): Likewise.
2769 * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline)
2770 (hppa_hpux_skip_trampoline_code): Use SYMBOL_LINKAGE_NAME to find
2771 symbols and SYMBOL_PRINT_NAME for messages.
2772 * jv-lang.c (add_class_symbol): Use SYMBOL_SET_LINKAGE_NAME.
2773 * linespec.c (decode_line_2): Use SYMBOL_LINKAGE_NAME.
2774 * mdebugread.c (parse_symbol): Use SYMBOL_LINKAGE_NAME and
2775 SYMBOL_SET_LINKAGE_NAME.
2776 (mylookup_symbol): Use SYMBOL_LINKAGE_NAME.
2777 * minsyms.c (add_minsym_to_demangled_hash_table): Use
2779 (lookup_minimal_symbol): Use SYMBOL_LINKAGE_NAME or
2780 SYMBOL_MATCHES_SEARCH_NAME, depending on the pass.
2781 * objfiles.h (ALL_OBJFILE_MSYMBOLS): Use SYMBOL_LINKAGE_NAME.
2782 * printcmd.c (build_address_symbolic): Use SYMBOL_LINKAGE_NAME.
2783 (address_info): Use SYMBOL_PRINT_NAME for messages and
2784 SYMBOL_LINKAGE_NAME for lookups.
2785 * sol-thread.c (info_cb): Use SYMBOL_PRINT_NAME for messages.
2786 * stabsread.c (patch_block_stabs, define_symbol)
2787 (read_type, read_enum_type, common_block_end)
2788 (cleanup_undefined_types_1, scan_file_globals): Use
2789 SYMBOL_LINKAGE_NAME, SYMBOL_SET_LINKAGE_NAME, ALL_OBJFILE_MSYMBOLS,
2790 and SYMBOL_PRINT_NAME.
2791 * stack.c (print_frame_args): Use SYMBOL_LINKAGE_NAME.
2792 (print_frame, frame_info): Use SYMBOL_PRINT_NAME for output. Use
2793 cp_remove_params instead of cplus_demangle.
2794 (print_block_frame_labels, print_frame_arg_vars): Use
2795 SYMBOL_LINKAGE_NAME.
2796 * symmisc.c (dump_msymbols): Use ALL_OBJFILE_MSYMBOLS and
2797 SYMBOL_LINKAGE_NAME.
2798 (dump_symtab_1, print_symbol, print_partial_symbols)
2799 (maintenance_check_symtabs): Use SYMBOL_LINKAGE_NAME.
2800 * symtab.h (DEPRECATED_SYMBOL_NAME): Delete.
2801 (SYMBOL_SET_LINKAGE_NAME): New.
2802 (SYMBOL_SET_NAMES): Add a comment.
2803 * tracepoint.c (set_traceframe_context, validate_actionline)
2804 (collect_symbol, scope_info): Use SYMBOL_LINKAGE_NAME for
2805 lookups and SYMBOL_PRINT_NAME for output.
2806 * typeprint.c (typedef_print): Use SYMBOL_LINKAGE_NAME.
2807 * xcoffread.c (process_xcoff_symbol): Use SYMBOL_SET_LINKAGE_NAME.
2811 * arm-tdep.c (arm_pc_is_thumb): Use obj_section_addr.
2812 * hppa-hpux-tdep.c (hppa_hpux_find_dummy_bpaddr): Likewise.
2813 * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Use
2814 obj_section_addr and obj_section_endaddr.
2815 * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Likewise.
2816 * hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise.
2817 * ia64-tdep.c (ia64_find_global_pointer): Likewise.
2818 (find_extant_func_descr): Likewise.
2819 * solib-frv.c (frv_relocate_main_executable): Use
2821 * xstormy16-tdep.c (xstormy16_find_jmp_table_entry): Use
2822 obj_section_addr and obj_section_endaddr.
2826 * NEWS: Amplify last entry on boolean types in Ada.
2830 * dwarf2read.c (die_specification, dwarf2_extension, follow_die_ref):
2831 Make the dwarf2_cu * parameter output as well as input. Update it if
2832 we follow a reference to another CU.
2833 (read_func_scope, determine_class_name, namespace_name, dwarf2_attr)
2834 (die_type, die_containing_type): Update calls to changed functions.
2835 Use the returned CU along with the returned DIE.
2836 (read_namespace): Use dwarf2_attr instead of dwarf2_extension.
2840 * dwarf2read.c (queue_comp_unit): Take an objfile argument. Read
2842 (process_queue): Do not read in the DIEs here.
2843 (psymtab_to_symtab_1): Update call to queue_comp_unit.
2844 (read_full_die): Do not call queue_comp_unit from here.
2845 (maybe_queue_comp_unit): New function.
2846 (follow_die_ref): Use it.
2850 * dwarf2read.c (struct attribute): Move earlier.
2851 (struct die_info): Change attrs to a trailing array.
2852 (dwarf_alloc_die): Take the number of attributes. Allocate space
2854 (read_full_die): Update call to dwarf_alloc_die. Do not manually
2855 allocate attributes.
2859 * dwarf2read.c (REF_HASH_SIZE): Delete.
2860 (struct dwarf2_cu): Replace die_ref_table with die_hash.
2861 (struct die_info): Remove next_ref.
2862 (store_in_ref_table): Remove offset argument. Rewrite to use
2863 htab_find_slot_with_hash.
2864 (die_hash, die_eq): New.
2865 (read_comp_unit): Allocate the die_hash.
2866 (read_die_and_children): Update call to store_die_ref.
2867 (follow_die_ref): Rewrite to use htab_find_with_hash.
2871 * dwarf2read.c (free_die_list, copy_die): Delete.
2872 (dwarf_alloc_die): Take a CU argument. Allocate the new DIE
2874 (read_full_die): Update call to dwarf_alloc_die. Allocate
2875 attributes on the CU obstack.
2876 (free_one_comp_unit): Do not call free_die_list.
2880 * dwarf2read.c (read_die_and_children): Ignore NULL DIEs.
2881 (read_die_and_siblings): Likewise. Do not add padding DIEs to the
2883 (read_full_die): Do not allocate DIEs for abbrev 0.
2884 (follow_die_ref): Correct error message.
2888 * linespec.c (symtab_from_filename): Also throw NOT_FOUND_ERROR if
2889 there are no symbols loaded, instead of throwing a generic error.
2890 (decode_variable): Likewise.
2894 * objfiles.h (struct obj_section): Remove addr and endaddr fields.
2895 (obj_section_offset, obj_section_addr, obj_section_endaddr): New
2897 * objfiles.c (add_to_objfile_sections): Don't set addr, endaddr
2898 and offset. Use size_t instead of unsigned long.
2899 (build_objfile_section_table): Use size_t instead of unsigned
2901 (objfile_relocate): Don't relocate s->addr and s->endaddr, they're
2903 (find_pc_sect_section): Use obj_section_addr and
2904 obj_section_endaddr.
2905 * symfile.c (symfile.c): Remove code that maps sections
2906 offsets in "addr" to the object's sections.
2907 * blockframe.c (find_pc_partial_function): Use obj_section_endaddr.
2908 * gcore.c (gcore_create_callback): Use obj_section_addr and
2909 obj_section_endaddr.
2910 * maint.c (print_objfile_section_info): Likewise.
2911 * printcmd.c (sym_info): Use obj_section_addr and
2912 obj_section_endaddr.
2913 * symtab.c (fixup_section): Likewise.
2917 * sparc-tdep.c: Make some comments catch up with reality.
2921 * NEWS: Mention 'set target-async'
2925 * infrun.c (resume): If the thread is placed to the deferred step
2926 queue, mark it as running.
2930 Make sure target supports non-stop.
2931 * infcmd.c (run_command_1, attach_command): If non-stop mode
2932 is requested, verify the target supports it.
2933 * linux-nat.c (linux_nat_supports_non_stop): New.
2934 (linux_nat_add_target): Register the above.
2935 * target.c (find_default_supports_non_stop)
2936 (target_supports_non_stop): New.
2937 (init_dummy_target): Register find_default_supports_non_stop.
2938 * target.h (struct target_ops): New field to_supports_non_stop.
2939 (target_supports_non_stop): New.
2944 * target.c (target_async_permitted, target_async_permitted_1)
2945 (set_maintenance_target_async_permitted)
2946 (show_maintenance_target_async_permitted): New.
2947 (initialize_targets): Register 'set target-async'.
2948 * target.h (target_async_permitted): Declare.
2949 * linux-nat.c (linux_nat_async_enabled)
2950 (linux_nat_async_permitted, set_maintenance_linux_async_permitted)
2951 (show_maintenance_linux_async_permitted): Remove.
2952 (sigchld_handler, linux_nat_is_async_p, linux_nat_can_async_p)
2953 (get_pending_events, linux_nat_async): Use target_async_permitted.
2954 (linux_nat_set_async_mode): Remove, moving the only used bits
2956 (linux_nat_setup_async): This.
2957 (_initialize_linux_nat): Do not register 'maint set linux-async'.
2958 Use linux_nat_setup_async.
2959 * remote.c (remote_async_permitted, remote_async_permitted_set)
2960 (set_maintenance_remote_async_permitted)
2961 (show_maintenance_remote_async_permitted): Remove.
2962 (remote_open_1, remote_terminal_inferior, remote_can_async_p)
2963 (remote_is_async_p): Use target_async_permitted.
2964 (_initialize_remote): Don't register 'main set remote-async'.
2965 * mi/mi-cmds.c (mi_cmds): Register -list-target-features.
2966 * mi/mi-cmds.h (mi_cmd_list_target_features): New.
2967 * mi/mi-main.c (mi_cmd_list_target_features): New.
2971 * target.c (maybe_kill_then_attach)
2972 (maybe_kill_then_create_inferior): Remove.
2973 (update_current_target): Do not default to_attach,
2974 to_create_inferiour, to_is_async_p.
2978 Changes for supporting boolean types in debugging data.
2979 * ada-lang.c (discrete_type_high_bound,discrete_type_low_bound): Change
2980 API to return LONGEST values rather than struct values.
2981 (ada_evaluate_subexp): Change to use new API of discrete_type_low_bound
2982 and discrete_type_high_bound.
2983 (to_fixed_range_type): Create a range type in cases where
2984 argument is base type and its limits are representable as ints.
2985 (ada_is_modular_type): Correct so that base type must be integral.
2986 * ada-lex.l (TRUEKEYWORD,FALSEKEYWORD): Make 'true' and 'false'
2987 keywords when they appear alone, since we are phasing out
2988 direct representation of these identifiers in debugging data.
2989 * ada-exp.y: Define 'true' and 'false' as primaries.
2990 (type_boolean): New function.
2991 (type_int,type_long,type_long_long,type_floattype_double)
2992 (type_long_double): Remove uses of current_gdbarch for consistency
2994 (write_int): Change comment to indicate that it might write boolean
2996 * ada-typeprint.c (ada_print_type): Print '(false, true)' for boolean
2997 type, since will no longer be represented as enumerated type in
2999 * ada-valprint.c (print_optional_low_bound): Handle boolean case
3001 * NEWS: Note support boolean types.
3005 * bsd-uthread.c (bsd_uthread_close): New.
3006 (bsd_uthread_deactivate): Don't cleanup here, just unpush the
3008 (bsd_uthread_solib_loaded): Fix typo.
3009 (bsd_uthread_target): Register bsd_uthread_close.
3013 * corelow.c (core_open): Assume there was no upper layer left
3014 behind from a previous inferior.
3015 * target.c (pop_all_targets): Rename to ...
3016 (pop_all_targets_above): ... this. Add a target stratum
3017 parameter. Use it instead of hardcoding the dummy_stratum.
3018 (pop_all_targets): New, defer to pop_all_targets_above.
3019 (target_preopen): Use pop_all_targets_above.
3020 * target.h (pop_all_targets_above): Declare.
3024 * gdbthread.h (thread_change_ptid): Declare.
3025 * infrun.c (infrun_thread_ptid_changed): New.
3026 (_initialize_infrun): Attach infrun_thread_ptid_changed to the
3027 thread_ptid_changed observer.
3028 * regcache.c (regcache_thread_ptid_changed): New.
3029 (_initialize_regcache): Attach regcache_thread_ptid_changed to the
3030 thread_ptid_changed observer.
3031 * thread.c (thread_change_ptid): New.
3035 * symfile.c (reread_symbols): Update.
3036 * solib-sunos.c (allocate_rt_common_objfile): Update.
3037 * objfiles.c (allocate_objfile): Update.
3038 * objfiles.h (struct objfile) <md, mmfd, deprecated_obj_private>:
3043 * gdbtypes.c (copy_type_recursive): Allocate 'stored' on objfile's
3048 * rs6000-tdep.c (struct rs6000_framedata): Add gpr_mask, used_bl,
3050 (rs6000_in_function_epilogue_p): Check for bctr.
3051 (skip_prologue): Initialize lr_register. Set lr_reg to a register
3052 number. Set gpr_mask and used_bl. Continue scanning while some
3053 expected registers are not saved. Set lr_register if LR is not
3055 (rs6000_frame_cache): Handle gpr_mask and lr_register.
3060 * breakpoint.c (CATCH_PERMANENT, CATCH_TEMPORARY): New macros.
3061 (ep_find_event_name_end): Remove.
3062 (catch_fork_temporary, catch_vfork_temporary,
3063 catch_fork_permanent, catch_vfork_permanent): New constants.
3064 (catch_vfork, catch_fork): Remove.
3065 (catch_fork_command_1): Add 'command' argument. Remove
3066 'fork_kind' and 'tempflag'. Handle NULL 'arg'. Update switch for
3068 (catch_exec_command_1): Add 'command' argument; remove
3069 'tempflag'. Handle NULL 'arg'.
3070 (catch_load_command_1): Likewise.
3071 (catch_unload_command_1): Likewise.
3072 (catch_ada_exception_command): Likewise.
3073 (catch_assert_command): Likewise.
3074 (catch_catch_command): New function.
3075 (catch_throw_command): Likewise.
3076 (catch_command_1): Remove.
3077 (catch_command): Just call error.
3078 (tcatch_command): Likewise.
3079 (catch_cmdlist): New global.
3080 (tcatch_cmdlist): Likewise.
3081 (add_catch_command): New function.
3082 (_initialize_breakpoint): Create "catch" and "tcatch" as prefix
3083 commands. Create all catch sub-commands.
3087 * gdbthread.h: Add comments.
3088 * stack.c (get_selected_block): Return 0 on an exited thread.
3089 * top.c (execute_command): Check for is_stopped, not !is_running.
3090 * event-top.c (command_handler): Likewise.
3094 * mi/mi-main.c (mi_cmd_exec_next, mi_cmd_exec_next_instruction)
3095 (mi_cmd_exec_step, mi_cmd_exec_step_instruction)
3096 (mi_cmd_exec_finish): Remove "return".
3100 * target.h (pop_all_targets): Declare.
3101 * target.c (pop_all_targets): New.
3102 * top.c (quit_target): Pop all targets instead of just closing the
3108 * cli-script.c (read_next_line): Add parse_commands argument.
3109 (recurse_read_control_structure): Adapt to new read_next_line
3111 (read_command_lines): Add parse_commands argument.
3112 (define_command): Adapt to new read_command_lines signature.
3113 (document_command): Likewise.
3114 * breakpoint.c (commands_command): Likewise.
3115 * defs.h (read_command_lines): Adjust function prototype.
3119 * ada-lang.c (pos_atr): Account for the possibility that the
3120 argument may be a reference.
3124 * xcoffread.c (scan_xcoff_symtab): Do not include global symbols
3125 ('F' format) for @FIX names generated by the loader, retaining only
3126 the minimal symbols (and no partial symbol tables) for these names.
3127 Fixes warning messages about symbols that are found in partial
3128 symbol tables, but not full symbol tables.
3132 * infrun.c (fetch_inferior_event): Only call normal_stop if not
3137 * rs6000-tdep: Include "features/rs6000/powerpc-vsx32.c".
3138 Include "features/rs6000/powerpc-vsx64.c".
3139 (ppc_supply_vsxregset): New function.
3140 (ppc_collect_vsxregset): New function.
3141 (IS_VSX_PSEUDOREG): New macro.
3142 (IS_EFP_PSEUDOREG): New macro.
3143 (vsx_register_p): New function.
3144 (ppc_vsx_support_p): New function.
3145 (rs6000_builtin_type_vec128): New function.
3146 (rs6000_register_name): Hide upper halves of vs0~vs31. Return
3147 correct names for VSX registers and EFPR registers.
3148 (rs6000_pseudo_register_type): Return correct types for VSX
3150 (rs6000_pseudo_register_reggroup_p): Return correct group for
3151 VSX and EFPR registers.
3152 (ppc_pseudo_register_read): Rename to dfp_pseudo_register_read.
3153 (ppc_pseudo_register_write): Rename to dfp_pseudo_register_write.
3154 (vsx_pseudo_register_read): New function.
3155 (vsx_pseudo_register_write): New function.
3156 (efpr_pseudo_register_read): New function.
3157 (efpr_pseudo_register_write): New function.
3158 (rs6000_pseudo_register_read): Call new VSX and EFPR read functions.
3159 (rs6000_pseudo_register_write): Call new VSX and EFPR write functions.
3160 (rs6000_gdbarch_init): Declare have_vsx.
3161 Initialize new upper half VSX registers.
3162 Initialize VSX-related and EFPR-related pseudo-registers variables.
3163 Adjust the number of pseudo registers accordingly.
3165 * ppc-linux-nat.c: Define PTRACE_GETVSXREGS, PTRACE_SETVSXREGS
3167 (gdb_vsxregset_t): New type.
3168 (have_ptrace_getsetvsxregs): New variable.
3169 (fetch_vsx_register): New function.
3170 (fetch_register): Handle VSX registers.
3171 (fetch_vsx_registers): New function.
3172 (fetch_ppc_registers): Handle VSX registers.
3173 (store_ppc_registers): Handle VSX registers.
3174 (store_vsx_register): New function.
3175 (store_register): Handle VSX registers.
3176 (store_vsx_registers): New function.
3177 (ppc_linux_read_description): Handle VSX-enabled inferiors.
3178 (gdb_vsxregset_t): New type.
3179 (supply_vsxregset): New function.
3180 (fill_vsxregset): New function.
3182 * ppc-tdep.h (vsx_register_p): New prototype.
3183 (vsx_support_p): New prototype.
3184 (ppc_vsr0_regnum): New variable.
3185 (ppc_vsr0_upper_regnum): Likewise.
3186 (ppc_efpr0_regnum): Likewise.
3187 (ppc_builtin_type_vec128): New type.
3188 (ppc_num_vsrs): New constant.
3189 (ppc_num_vshrs): New constant.
3190 (ppc_num_efprs): Likewise.
3191 Define POWERPC_VEC_VSX PPC_VSR0_UPPER_REGNUM and PPC_VSR31_UPPER_REGNUM.
3192 (ppc_supply_vsxregset): New prototype.
3193 (ppc_collect_vsxregset): New prototype.
3195 * ppc-linux-tdep.c: Include "features/rs6000/powerpc-vsx32l.c"
3196 Include "features/rs6000/powerpc-vsx64l.c".
3197 (_initialize_ppc_linux_tdep): Initialize VSX-enabled targets.
3198 (ppc_linux_regset_sections): Add new ".reg-ppc-vsx" field.
3199 (ppc32_linux_vsxregset): New 32-bit VSX-enabled regset.
3200 (ppc_linux_regset_from_core_section): Handle VSX core section.
3201 (ppc_linux_core_read_description): Support VSX-enabled core files.
3203 * ppc-linux-tdep.h: Declare *tdesc_powerpc_vsx32l
3204 Declare tdesc_powerpc_vsx64l
3206 * corelow.c (get_core_register_section): Support VSX-enabled
3209 * features/rs6000/power-vsx.xml: New VSX descriptions.
3210 * features/rs6000/powerpc-vsx32.xml: New file.
3211 * features/rs6000/powerpc-vsx32l.xml: New file.
3212 * features/rs6000/powerpc-vsx64.xml: New file.
3213 * features/rs6000/powerpc-vsx64l.xml: New file.
3214 * features/rs6000/powerpc-vsx32.c: New file (generated).
3215 * features/rs6000/powerpc-vsx32l.c: New file (generated).
3216 * features/rs6000/powerpc-vsx64.c: New file (generated).
3217 * features/rs6000/powerpc-vsx64l.c: New file (generated).
3218 * features/Makefile: Updated with new descriptions.
3219 * regformats/rs6000/powerpc-vsx32l.dat: New file (generated).
3220 * regformats/rs6000/powerpc-vsx64l.dat: New file (generated).
3224 * ia64-linux.nat (_initialize_ia64_linux_nat): Don't
3225 call linux_target twice.
3229 * nto-tdep.c (lm_info): Updated struct lm_info definition from
3231 (LM_ADDR): Use l_addr if available; if not, use link map and set
3236 * macrocmd.c (macro_define_command): Check for NULL argument.
3237 (macro_undef_command): Likewise.
3241 * infcmd.c (continue_1): Add an ERROR_NO_INFERIOR call.
3245 * breakpoint.c (always_inserted_auto, always_inserted_on)
3246 (always_inserted_off, always_inserted_enums): New.
3247 (always_inserted_mode): Change type to char* and point to
3248 always_inserted_auto.
3249 (show_always_inserted_mode): In auto mode, also show the current
3250 effect of the option.
3251 (breakpoints_always_inserted_mode): Adjust for the new auto mode.
3252 (_initialize_breakpoint): Make the "set breakpoints
3253 always-inserted" command an enum command. Extend help to describe
3258 * spu-tdep.c (info_spu_dma_command): Respect TSQV (tag status
3259 query valid) bit. Ignore bits outside the condition field.
3260 (info_spu_proxydma_command): Ignore bits outside the field.
3264 * MAINTAINERS: Update my email address.
3268 * ppc-linux-nat.c (ppc_linux_get_hwcap): Really get AT_HWCAP.
3272 Add no-ack mode to the remote protocol --- optionally stop ACKing
3273 packets and responses when we have a reliable communication
3278 * remote.c (struct remote_state): Add noack_mode field.
3279 (PACKET_QStartNoAckMode): New.
3280 (remote_start_remote): Don't any outstanding packet here.
3281 (remote_open_1): Clear noack_mode. Ack any outstanding packet
3282 here. Activate noack mode if requested.
3283 (remote_protocol_features): Add QStartNoAckMode.
3285 (putpkt_binary): Don't send ack in noack mode.
3286 (read_frame): Don't recompute the checksum in noack mode.
3287 (getpkt_sane): Skip sending ack if in noack mode.
3288 (_initialize_remote): Add set/show remote noack mode.
3289 * NEWS: Note the new features.
3293 * rs6000-tdep.c (BL_MASK, BL_INSTRUCTION, BL_DISPLACEMENT_MASK):
3295 (rs6000_skip_main_prologue): New function.
3296 (rs6000_gdb_arch_init): Register rs6000_skip_main_prologue.
3300 * MAINTAINERS (Write After Approval): Add self.
3305 * disasm.c (gdb_disassemble_info): Set endian_code.
3306 * gdbarch.sh (gdbarch_info): New field byte_order_for_code.
3307 * gdbarch.h, gdbarch.c: Regenerate.
3308 * arch-utils.c (initialize_current_architecture): Set the
3309 default byte_order_for_code.
3310 (gdbarch_info_init): Ditto.
3311 (gdbarch_info_fill): Ditto.
3312 * arm-tdep.c (SWAP_INT, SWAP_SHORT): New macros.
3313 (thumb_analyze_prologue): Swap halfword if code endianness is
3314 different from general endianness.
3315 (arm_skip_prologue): Similarly.
3316 (arm_scan_prologue): Ditto.
3317 (thumb_get_next_pc): Ditto.
3318 (arm_get_next_pc): Ditto.
3319 (arm_gdbarch_init): Set byte_order_for_code from BE8 flag,
3320 choose correct endianness for breakpoints.
3324 * bsd-kvm.c: Include "gdbthread.h".
3325 (bsd_kvm_ptid): New.
3326 (bsd_kvm_open): Add a main thread.
3327 (bsd_kvm_close): Delete it.
3328 (bsd_kvm_thread_alive): New.
3329 (bsd_kvm_pid_to_str): New.
3330 (bsd_kvm_add_target): Register bsd_kvm_thread_alive and
3332 (bsd_kvm_add_target): Initialize bsd_kvm_ptid.
3336 * buildsym.c (start_subfile): Properly cast sentinel in concat
3338 * cp-name-parser.y: Include "config.h".
3339 * xml-tdesc.c (fetch_xml_from_file): Properly cast sentinel in
3341 * gdb_select.h: Include sys/time.h if sys/select.h is not
3346 * go32-nat.c: Include "gdbthread.h".
3347 (go32_stop, go32_kill_inferior): Delete the main thread.
3348 (go32_create_inferior): Add it.
3349 (go32_thread_alive, go32_pid_to_str): New.
3350 (init_go32_ops): Register go32_thread_alive and go32_pid_to_str.
3354 * go32-nat.c (fetch_register, store_register): Pass the regcache
3355 gdbarch to i386_fp_regnum_p and i386_fpc_regnum_p.
3356 (go32_xfer_memory): Change type of myaddr parameter to gdb_byte.
3357 (struct seg_descr, struct seg_descr): pack the whole struct
3358 instead of each member individually.
3362 * python/python.c (_initialize_python): Use unabbreviated commands
3367 * Makefile.in (stamp-h): Also create .deps.
3371 * Makefile.in (generated_files): Add GNULIB_H.
3375 * solib-pa64.c (pa64_solib_create_inferior_hook): Don't set
3376 DT_HP_DEBUG_PRIVATE. Add warning if DT_HP_DEBUG_PRIVATE is not set.
3378 (pa64_current_sos): Remove map private warning warning.
3379 * solib-som.c: Include string.h and sys/utsname.h.
3380 (get_hpux_major_release): New function.
3381 (som_solib_create_inferior_hook): Read dynamic linker header. Warn
3382 about shared library private mapping on HP-UX 11 and later. Only force
3383 private mapping of shared libraries on HP-UX 10 and earlier.
3384 (link_map_start): Delete warning.
3390 * amd64-tdep.c (amd64_frame_cache): Add saved_sp_reg.
3391 (amd64_init_frame_cache): Initialize saved_sp_reg.
3392 (amd64_analyze_stack_align): New.
3393 (amd64_analyze_prologue): Call it.
3394 (amd64_frame_cache): Use saved_sp_reg if it is invalid. Don't set
3395 %rip to 8 when halfway aligning the stack.
3397 * amd64-tdep.h (amd64_regnum): Add AMD64_R9_REGNUM to
3400 * i386-tdep.c (i386_frame_cache): Remove stack_align. Add
3402 (i386_alloc_frame_cache): Remove stack_align. Initialize
3404 (i386_analyze_stack_align): Rewrite.
3405 (i386_frame_cache): Use saved_sp_reg if it is valid.
3409 * target.c: Include "solib.h".
3410 (target_pre_inferior): Call no_shared_libraries.
3411 * infcmd.c (run_command_1): Do not call objfile_purge_solibs
3413 (attach_command): Do not call clear_solib.
3417 * i386obsd-nat.c (i386obsd_supply_pcb): Supply the right bytes for
3422 * Makefile.in (python.o): Remove dependencies. Use COMPILE and
3424 (python-utils.o): Likewise.
3428 * corefile.c (_initialize_core): Remove spurious paren from set
3429 gnutarget doc string.
3433 * ppc-linux-nat.c: Include "auxv.h" and "elf/common.h".
3434 Define PPC_FEATURE_BOOKE.
3435 (ppc_linux_get_hwcap): New function.
3436 (ppc_linux_region_ok_for_hw_watchpoint): Handle PowerPC 440
3437 4-bytes alignment restrictions.
3438 (ppc_linux_insert_watchpoint): Handle PowerPC 440-specific
3439 positioning of the read/write flags.
3440 (ppc_linux_watchpoint_addr_within_range): Handle PowerPC 440
3445 Use ptid_t.tid to store thread ids instead of ptid_t.pid.
3447 * win32-nat.c (win32_add_thread): Change thread argument type to
3449 (win32_add_thread): Adjust.
3450 (win32_delete_thread): Change thread argument type to ptid_t.
3452 (win32_fetch_inferior_registers, win32_store_inferior_registers)
3453 (win32_resume, get_win32_debug_event, get_win32_debug_event)
3454 (win32_wait, win32_pid_to_exec_file, win32_pid_to_str): Adjust.
3455 (init_win32_ops): Put to_magic last.
3456 (win32_win32_thread_alive): Adjust.
3460 * remote-m32r-sdi.c (m32r_thread_alive, m32r_pid_to_str): New.
3461 (init_m32r_ops): Register m32r_thread_alive and m32r_pid_to_str.
3465 * remote-m32r-sdi.c: Include "gdbthread.h".
3466 (remote_m32r_ptid): New.
3467 (m32r_close): Delete the main thread.
3468 (m32r_resume): Set inferior_ptid toA remote_m32r_ptid. Add the
3470 (m32r_kill, m32r_load, sdireset_command): Delete the main thread.
3471 (_initialize_remote_m32r): Initialize remote_m32r_ptid.
3476 * aclocal.m4, configure: Rebuild.
3477 * configure.in: Call ZW_CREATE_DEPDIR,
3478 ZW_PROG_COMPILER_DEPENDENCIES, AC_PROG_MAKE_SET.
3479 (MAKE, GMAKE): New substs.
3480 * acinclude.m4: Include depstand.m4.
3481 * Makefile.in (DEPMODE, DEPDIR, COMPILE.post, COMPILE.pre,
3482 COMPILE, POSTCOMPILE, depcomp): New variables.
3483 Remove all _h variables.
3484 Remove many .o targets.
3485 ($(srcdir)/copying.c): avoid backslash-newline after comment
3486 sign (@maintainer_mode_true@).
3487 (HFILES_NO_SRCDIR): Regenerate.
3488 (generated_files): New variable.
3489 (all_gdbtk_cflags): Likewise.
3491 (init.o, version.o, copying.o): Remove.
3492 (distclean): Remove DEPDIR.
3493 (test-cp-name-parser.o, hpux-thread.o, main.o, monitor.o,
3494 printcmd.o, procfs.o, v850ice.o): Rewrite.
3495 (cli-cmds.o, cli-decode.o, cli-dump.o, cli-interp.o, cli-logging.o,
3496 cli-script.o, cli-setshow.o, cli-utils.o): Likewise.
3497 (gdbtk.o, gdbtk-bp.o, gdbtk-cmds.o, gdbtk-hooks.o, gdbtk-interp.o,
3498 gdbtk-main.o, gdbtk-register.o, gdbtk-stack.o, gdbtk-varobj.o,
3499 gdbtk-wrapper.o): Likewise.
3500 (mi-cmd-break.o, mi-cmd-disas.o, mi-cmd-env.o, mi-cmd-file.o,
3501 mi-cmds.o, mi-cmd-stack.o, mi-cmd-target.o, mi-cmd-var.o,
3502 mi-console.o, mi-getopt.o, mi-interp.o, mi-main.o, mi-out.o,
3503 mi-parse.o, mi-symbol-cmds.o, mi-common.o, signals.o, tui.o,
3504 tui-command.o, tui-data.o, tui-disasm.o, tui-file.o, tui-hooks.o,
3505 tui-interp.o, tui-io.o, tui-layout.o, tui-main.o, tui-out.o,
3506 tui-regs.o, tui-source.o, tui-stack.o, tui-win.o, tui-windata.o,
3507 tui-wingeneral.o, tui-winsource.o): Likewise.
3508 (all_object_files): New variable.
3509 ($(all_object_files)): New target.
3510 Include dependency files, when using GNU Make.
3514 * spu-tdep.c (info_spu_dma_cmdlist): Only show entries with
3515 the valid bit set. Ensure display order respects partial
3516 order defined by dependency bits.
3520 * solib-pa64.c (read_dld_descriptor): Return zero if load map is not
3525 * i386obsd-nat.c (i386obsd_supply_pcb): Adjust for changes in
3533 * Makefile.in (SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS,
3534 SUBDIR_PYTHON_DEPS, SUBDIR_PYTHON_LDFLAGS, SUBDIR_PYTHON_CFLAGS,
3535 PYTHON_CFLAGS): New.
3536 (python_h, python_internal_h): New.
3537 (cli-script.o): Depend on python.h
3538 (python.o, python-utils.o): New.
3539 * cli/cli-script.c (print_command_lines): Handle python_control.
3540 (execute_control_command): Handle python_control.
3541 (execute_control_command_untraced): New function.
3542 (while_command): Call execute_control_command_untraced.
3543 (if_command): Likewise.
3544 (get_command_line): Remove static attribute.
3545 (read_next_line): Handle "python".
3546 (recurse_read_control_structure): Handle python_control.
3547 (read_command_lines): Handle python_control.
3549 * cli/cli-script.h (get_command_line): Add prototype.
3550 (execute_control_command_untraced): Likewise.
3551 * configure.ac: Add --with-python.
3552 * defs.h (enum command_control_type) <python_control>: New
3554 * python/python-internal.h: New file.
3555 * python/python.c: New file.
3556 * python/python.h: New file.
3557 * python/python-utils.c: New file.
3558 * NEWS: Mention Python scripting support and its new commands.
3562 * spu-tdep.c (spu_gdbarch_init): Call set_gdbarch_frame_red_zone_size.
3566 * MAINTAINERS (Write After Approval): Add self.
3570 * breakpoint.c (hw_breakpoint_used_count): Use breakpoint_enabled.
3571 (insert_breakpoint_locations): Likewise.
3575 * breakpoint.c (create_longjmp_breakpoint): Remove unused struct
3577 (set_longjmp_breakpoint): Likewise.
3582 * solib-pa64.c: Only compile if both HAVE_ELF_HP_H and __LP64__ are
3587 * bcache.c (deprecated_bcache_added): Initialize obstack.
3588 (bcache_xmalloc): Don't initialize obstack.
3589 (bcache_xfree): Conditionally free obstack.
3590 (bcache_memory_used): Update.
3594 * symfile.c (add_psymbol_to_bcache): Return a const pointer. Use
3596 (append_psymbol_to_list): Accept a const pointer.
3597 (add_psymbol_to_list): Fix const correctness.
3598 * bcache.h: (deprecated_bcache_added, deprecated_bcache): Remove.
3599 (bcache_full): Declare.
3600 * bcache.c (bcache_data, deprecated_bcache): Remove.
3601 (bcache): Use bcache_full.
3602 (bcache_full): Rename from deprecated_bcache_added. Change return
3607 * solib-svr4.c (BKPT_AT_SYMBOL): Remove, always defined.
3608 (bkpt_names): Remove SOLIB_BKPT_NAME, never defined.
3609 (enable_break): Remove test of BKPT_AT_SYMBOL.
3613 * acinclude.m4: Include ../config/tcl.m4 to pick up
3614 standard Tcl configury bits.
3615 Remove all Tcl, Tk, Itcl, Itk, etc definitions.
3616 * configure.ac: Don't check if ../itcl exists when building
3617 gdbtk. It could be installed.
3618 Rewrite gdbtk configury to allow for using system-supplied
3619 Tcl and Tk. Gdbtk no longer requires build-time access to
3621 * Makefile.in: Remove everything related to itcl and itk.
3622 Rewrite the Tcl bits for gdbtk to correspond to rewrite of
3624 Remove v850ice.o build rule.
3625 (ALL_TCL_CFLAGS): New convenience defintion. Change all
3626 gdbtk sources to use it.
3627 * configure: Regenerate.
3631 * coffread.c (coff_symtab_read): Remove FUNCTION_EPILOGUE_SIZE.
3635 * objfiles.c (TARGET_KEEP_SECTION): Remove.
3636 (add_to_objfile_sections): Remove use.
3640 * cli/cli-decode.c (lookup_cmd_1): Use memcpy.
3641 (lookup_cmd_composition): Likewise.
3645 * cli/cli-cmds.c (edit_command): Remove unused variables. Delete
3646 dead code. Fix indentation.
3650 * main.c (captured_main): Remove long-unused #if 0 blocks.
3654 * annotate.h (deprecated_annotate_starting_hook): Remove.
3655 (deprecated_annotate_stopped_hook): Remove.
3656 (deprecated_annotate_exited_hook): Remove.
3657 * Makefile.in (annotate.o): Depend on observer_h.
3658 * top.c (deprecated_delete_breakpoint_hook): Remove.
3659 (deprecated_create_breakpoint_hook): Likewise.
3660 (deprecated_modify_breakpoint_hook): Likewise.
3661 * interps.c (clear_interpreter_hooks): Update for removed hooks.
3662 * breakpoint.c (mention): Don't call removed hook.
3663 (delete_breakpoint): Likewise.
3664 (disable_breakpoint): Likewise.
3665 (do_enable_breakpoint): Likewise.
3666 * annotate.c: Include observer.h.
3667 (breakpoint_changed): Change type of argument.
3668 (_initialize_annotate): Register observers.
3669 (deprecated_annotate_starting_hook): Remove.
3670 (deprecated_annotate_stopped_hook): Remove.
3671 (deprecated_annotate_exited_hook): Remove.
3672 (annotate_starting): Update for hook removal.
3673 (annotate_stopped): Likewise.
3674 (annotate_exited): Likewise.
3675 * defs.h (deprecated_delete_breakpoint_hook): Remove.
3676 (deprecated_create_breakpoint_hook): Likewise.
3677 (deprecated_modify_breakpoint_hook): Likewise.
3681 * main.c (captured_main): Don't use BEFORE_MAIN_LOOP_HOOK.
3685 * configure.ac: Check for the GNU/Linux ptrace signature.
3686 * configure: Regenerated.
3690 * linux-nat.c (resume_callback): Add more debugging output.
3691 (linux_nat_has_pending_sigint): New function, based on
3692 linux_nat_has_pending.
3693 (set_ignore_sigint, maybe_clear_ignore_sigint): New functions.
3694 (stop_wait_callback): Remove flush_mask handling. Honor
3695 ignore_sigint. Call maybe_clear_ignore_sigint. Pass NULL
3697 (linux_nat_has_pending, flush_callback): Remove.
3698 (linux_nat_filter_event): Check for ignore_sigint.
3699 (linux_nat_wait): Remove flush_mask support and call to
3700 flush_callback. Use set_ignore_sigint and maybe_clear_ignore_sigint.
3701 * linux-nat.h (struct lwp_info): Add ignore_sigint field.
3705 * linux-nat.c (count_events_callback, select_event_lwp_callback): Only
3706 report events from resumed threads.
3710 * mips-linux-tdep.c (mips_linux_syscall_next_pc): New function.
3711 (mips_linux_init_abi): Set tdep->syscall_next_pc.
3712 * mips-tdep.c (enum mips_fpu_type, struct gdbarch_tdep): Move to
3714 (mips32_next_pc): Handle the syscall instruction.
3715 * mips-tdep.h (enum mips_fpu_type, struct gdbarch_tdep): New,
3716 from mips-tdep.c. Add syscall_next_pc to gdbarch_tdep.
3721 * valops.c (value_struct_elt): Treat function-valued field as a
3727 * macroexp.c (get_punctuator) <punctuators>: Rearrange to put
3728 longer tokens first.
3733 * cli/cli-decode.h (CMD_ASYNC_OK, set_cmd_async_ok)
3734 (get_cmd_async_ok): Remove.
3735 * cli/cli-decode.c (set_cmd_async_ok, get_cmd_async_ok): Remove.
3736 * cli/cli-cmds.c (init_cli_cmds): Don't use set_cmd_async_ok.
3737 * infcmd.c (_initialize_infcmd): Likewise.
3738 * thread.c (_initialize_thread): Likewise.
3742 * mips-tdep.c (mips_n32n64_push_dummy_call): Handle passing
3743 128-bit long doubles in even-odd pairs of FPRs. Do not
3744 right-align float arguments for big-endian.
3745 (mips_n32n64_return_value): Apply return value convention for
3746 structs containing one or two floating-point values to soft-float
3747 as well as hard-float. Handle 128-bit long doubles in such
3749 (mips_o32_push_dummy_call): Only skip one integer register for a
3750 float argument passed in an FPR.
3754 * tui/tui-hooks.c: Include observer.h.
3755 (tui_event_default, tui_old_event_hooks, tui_event_hooks):
3757 (tui_bp_created_observer, tui_bp_deleted_observer,
3758 tui_bp_modified_observer): New globals.
3759 (tui_install_hooks): Use observers, not events.
3760 (tui_remove_hooks): Likewise.
3761 * mi/mi-cmd-break.c: Include observer.h, not gdb-events.h.
3762 (mi_breakpoint_observers_installed, mi_can_breakpoint_notify): New
3764 (breakpoint_notify): Check mi_can_breakpoint_notify.
3765 (breakpoint_hooks): Remove.
3766 (mi_cmd_break_insert): Attach observers. Don't use events.
3767 * tracepoint.c: Include observer.h, not gdb-events.h.
3768 (tracepoint_operation, trace_pass_command): Notify observer.
3769 * interps.c: Don't include gdb-events.h.
3770 (clear_interpreter_hooks): Don't call clear_gdb_event_hooks.
3771 * gdbarch.c: Rebuild.
3772 * gdbarch.sh: Emit include for observer.h, not gdb-events.h.
3773 (deprecated_current_gdbarch_select_hack): Notify observer.
3774 * breakpoint.h: Don't include gdb-events.h.
3775 * breakpoint.c: Don't include gdb-events.h.
3776 (condition_command): Notify observer.
3777 (commands_command): Likewise.
3778 (commands_from_control_command): Likewise.
3779 (mention, delete_breakpoint, set_ignore_count): Likewise.
3780 (disable_breakpoint, do_enable_breakpoint): Likewise.
3781 * Makefile.in (gdb_events_h): Remove.
3782 (breakpoint_h): Update.
3783 (COMMON_OBS): Remove gdb-events.o.
3784 (gdb-events.o): Remove.
3785 (breakpoint.o, gdbarch.o, interps.o, tracepoint.o, gdbtk-bp.o,
3786 gdbtk-hooks.o, mi-cmd-break.o, tui-hooks.o): Update.
3787 * gdb-events.c: Remove.
3788 * gdb-events.h: Remove.
3789 * gdb-events.sh: Remove.
3793 * remote.c (remote_threads_extra_info): Don't query the remote
3794 server about info on the internally added main thread.
3798 * nto-procfs.c (procfs_attach): Populate initial thread list.
3799 (procfs_wait): Return new pid, built from the inferior status.
3803 * configure.ac (CONFIG_INITS): Delete long obsoleted variable.
3804 * configure: Regenerate.
3808 * nto-procfs.c (procfs_xfer_memory): Changed signature.
3809 (procfs_resume): Workaround for dereferencing type-punned pointer
3811 * nto-tdep.c (nto_parse_redirection): Change signature to be const
3813 * nto-tdep.h (nto_parse_redirection): Likewise.
3817 Scrub remnants of IN_SOLIB_DYNSYM_RESOLVE_CODE.
3818 * gdbarch.sh: Adjust comment to refer to
3819 in_solib_dynsym_resolve_code().
3820 * gdbarch.h, gdbarch.c: Update.
3821 * solib-osf.c: Ditto.
3823 (handle_inferior_event): Use in_solib_dynsym_resolve_code
3825 * config/mips/nm-irix5.h: Remove undef of
3826 IN_SOLIB_DYNSYM_RESOLVE_CODE.
3830 * symfile.c (reread_symbols): Don't pass argument to observer.
3831 * exec.c (exec_file_attach): Don't pass argument to observer.
3832 * ada-lang.c (ada_executable_changed_observer): Remove argument.
3833 * symtab.c (symtab_observer_executable_changed): Remove argument.
3834 * observer.sh: Handle functions with no arguments.
3839 * elfread.c (elf_symfile_segments): Fix the check that each loadable
3840 section fits within an ELF segment to handle ELF segments that hit
3841 the end of the address space.
3845 * MAINTAINERS (Write After Approval): Add self.
3850 * NEWS: Add entry for macro commands.
3851 * Makefile.in (macrocmd.o): Add gdb_string.h.
3852 * macroscope.h (user_macro_scope): Declare.
3853 (default_macro_scope): Update documentation.
3854 (macro_user_macros): Declare.
3855 * c-lang.c (c_preprocess_and_parse): Always attempt macro lookup.
3856 Use user_macro_scope.
3857 (null_macro_lookup): Remove.
3858 * macrotab.h (macro_callback_fn): Declare.
3859 (macro_for_each): Likewise.
3860 (macro_allow_redefinitions): Likewise.
3861 * macrotab.c (foreach_macro): New function
3862 (macro_for_each): Likewise.
3863 (struct macro_table) <redef_ok>: New field.
3864 (macro_allow_redefinitions): New function.
3865 (new_macro_table): Update.
3866 (macro_define_function): Likewise.
3867 (macro_define_object): Likewise.
3868 * macroscope.c (user_macro_scope): New function.
3869 (default_macro_scope): Use it.
3870 (macro_user_macros): New global.
3871 (standard_macro_lookup): Look in macro_user_macros.
3872 (_initialize_macroscope): New function.
3873 * macroexp.h (macro_is_whitespace, macro_is_digit,
3874 macro_is_identifier_nondigit): Declare.
3875 * macroexp.c (macro_is_whitespace): Rename. No longer static.
3876 (macro_is_digit): Likewise.
3877 (macro_is_identifier_nondigit): Likewise.
3878 (get_identifier): Update.
3879 (get_pp_number): Likewise.
3880 (get_token): Likewise.
3881 * macrocmd.c (skip_ws): New function.
3882 (extract_identifier): Likewise.
3883 (free_macro_definition_ptr): Likewise.
3884 (user_macros): Remove.
3885 (macro_define_command): Implement.
3886 (_initialize_macrocmd): Update.
3887 (macro_undef_command): Implement.
3888 (print_one_macro): New function.
3889 (macro_list_command): Implement.
3893 * configure.ac: Put old value of $LIBS after -lbfd -liberty $intl
3895 * configure: Regenerate.
3899 * auxv.c (fprint_target_auxv): Stop at AT_NULL.
3903 * valops.c (value_cast_pointers): Follow typedefs when checking
3908 * block.c (block_function): Renamed to ...
3909 (block_linkage_function): ... this. All callers changed.
3910 * block.h (block_function): Renamed to ...
3911 (block_linkage_function): ... this.
3915 * mn10300-tdep.c (set_reg_offsets): Use get_frame_register_unsigned.
3919 * frame.c (frame_sp_unwind): Delete.
3920 (get_frame_sp): Do not use it.
3921 * frame.h (frame_sp_unwind): Delete prototype.
3925 * ia64-tdep.c (ia64_dummy_id): Use get_frame_pc.
3929 * dwarf2-frame.c (dwarf2_frame_cache): Update comment.
3930 * frame.c (frame_unwind_address_in_block): Delete.
3931 (get_frame_address_in_block): Do not use it. Check the type
3932 of the next frame first.
3933 (frame_cleanup_after_sniffer): Update comment.
3934 * frame.h (frame_unwind_address_in_block): Delete prototype.
3935 * hppa-tdep.c (hppa_find_unwind_entry_in_block): Update comment.
3939 * frame.c (frame_func_unwind): Delete.
3940 (get_frame_func): Do not use it.
3941 * frame.h (frame_func_unwind): Delete prototype.
3942 * hppa-tdep.c (hppa_frame_cache): Update comment.
3943 * rs6000-tdep.c (rs6000_frame_cache): Update comment.
3947 * remote-sim.c (init_gdbsim_ops): Remove
3948 TARGET_REDEFINE_DEFAULT_OPS.
3952 * findvar.c (read_var_value): Remove unused variable.
3956 * infrun.c (handle_inferior_event): Tag threads as stopped
3957 before inserting breakpoints.
3961 * MAINTAINERS: Added myself to section Write After Approval.
3966 * cp-abi.c (value_virtual_fn_field): Handle invalid pointers.
3970 * i386-dicos-tdep.c (i386_dicos_frame_align): Delete.
3971 (i386_dicos_push_dummy_code): New.
3972 (i386_dicos_init_abi): Don't register i386_dicos_frame_align.
3973 Register i386_dicos_push_dummy_code.
3977 * mips-tdep.c (fp_register_arg_p): Add gdbarch as paramter.
3978 (mips_n32n64_push_dummy_call, mips_o64_return_value)
3979 (mips_eabi_push_dummy_call): Update call to fp_register_arg_p.
3981 (MIPS_FPU_TYPE): Add gdbarch as parameter and replace current_gdbarch.
3982 (fp_register_arg_p, mips_dump_tdep, show_mipsfpu_command)
3983 (mips_n32n64_fp_arg_chunk_p): Update caller.
3985 (mips_n32n64_fp_arg_chunk_p): Add gdbarch as paramter.
3986 (mips_n32n64_push_dummy_call): Update caller.
3988 (MIPS_LAST_ARG_REGNUM): Add gdbarch as parameter and replace
3990 (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
3991 (mips_o32_push_dummy_call, mips_o64_push_dummy_call): Update caller.
3994 (MIPS_LAST_FP_ARG_REGNUM): Add gdbarch as parameter and replace
3996 (mips_eabi_push_dummy_call, mips_o32_push_dummy_call)
3997 (mips_o64_push_dummy_call): Update caller.
3999 (MIPS_EABI): Add gdbarch as parameter and replace current_gdbarch.
4000 (fp_register_arg_p, mips_dump_tdep): Update caller.
4002 (set_reg_offset): Add gdbarch as parameter and replace current_gdbarch.
4003 (mips16_scan_prologue, mips32_scan_prologue): Update caller.
4005 (reset_saved_regs): Make static. Add gdbarch as parameter. Replace
4007 (mips32_scan_prologue): Update caller.
4009 (heuristic_proc_start): Add gdbarch as parameter. Replace
4011 (mips_insn16_frame_cache, mips_insn32_frame_cache): Update caller.
4013 * mipsnbsd-nat.c (mipsnbsd_fetch_inferior_registers)
4014 (mipsnbsd_store_inferior_registers): Use get_regcache_arch to get at
4015 the current architecture. Update call to getregs_supplies.
4016 (getregs_supplies): Add gdbarch as parameter and replace
4019 * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use get_frame_arch to
4020 get at the current architecture. Update call to NBSD_MIPS_JB_OFFSET and
4021 NBSD_MIPS_JB_ELEMENT_SIZE.
4022 (NBSD_MIPS_JB_ELEMENT_SIZE, NBSD_MIPS_JB_OFFSET): Add gdbarch and
4023 replace current_gdbarch.
4025 * remote-mips.c (mips_map_regno): Add gdbarch as parameter and replace
4027 (mips_fetch_registers, mips_store_registers): Update call
4029 (mips_load): Use get_regcache_arch to get at the current_architecture
4030 and replace current_gdbarch.
4034 * thread.c (restore_selected_frame): On fail to restore, select
4035 the innermost frame, and don't crash when warning the user.
4039 * symtab.c (expand_line_sal): Fix a memory leak.
4043 * utils.c (struct continuation): Define as inheriting struct
4045 (add_continuation, do_all_continuations)
4046 (discard_all_continuations, add_intermediate_continuation)
4047 (do_all_intermediate_continuations)
4048 (discard_all_intermediate_continuations): Adjust.
4052 Skip varobj in running threads.
4053 * mi/mi-cmd-var.c (mi_cmd_var_update): If varobj's
4054 thread is not stopped, skip the varobj.
4055 * Makefile.in: Update dependencies.
4059 Enable all commands while inferiour is running
4060 * mi/mi-main.c (mi_cmd_execute): Don't check if
4061 inferiour is executing.
4065 Allow all CLI command even if target is executing.
4066 * gdb/top.c (execute_command_1): Don't check if the inferiour
4071 * mi/mi-main.c (mi_cmd_execute): Remove unused variable.
4072 Fix printing of frame, when frame is wrong.
4076 * spu-tdep.c (spu_frame_unwind_cache): Do not error if
4077 backchain is unreadable.
4081 * spu-linux-nat.c: Include "gdbthread.h".
4082 (spu_child_post_startup_inferior): Register main thread.
4083 (spu_child_post_attach): Likewise.
4084 * Makefile.in (spu-linux-nat.o): Update dependencies.
4088 Rewrite continuations internals on top of cleanups and plug
4089 continuation arguments leaks.
4091 * defs.h (struct continuation): Make it opaque.
4092 (add_continuation, add_intermediate_continuation): Drop the int
4093 argument of the continuation hook argument. Add
4094 continuation_free_args argument.
4095 (do_all_continuations, do_all_intermediate_continuations): Drop
4096 the error_p argument.
4098 * utils.c (add_continuation): Drop the int argument of the
4099 continuation hook argument. Add continuation_free_args argument.
4100 Reimplement on top of cleanups.
4101 (do_all_continuations): Drop error argument. Reimplement on top
4103 (discard_all_continuations): Reimplement on top of cleanups.
4104 (add_intermediate_continuation): Drop the int argument of the
4105 continuation hook argument. Add continuation_free_args argument.
4106 Reimplement on top of cleanups.
4107 (do_all_intermediate_continuations): Drop error argument.
4108 Reimplement on top of cleanups.
4109 (discard_all_intermediate_continuations): Reimplement on top of
4112 * breakpoint.c (until_break_command_continuation): Drop error
4113 argument. Add xfree as continuation argument deleter.
4115 * inf-loop.c (inferior_event_handler): On error, discard all
4116 continuations. Adjust to new do_all_intermediate_continuations
4117 and do_all_continuations interfaces.
4119 * infcmd.c (step_1_continuation): Drop error_p argument. Adjust.
4120 Pass xfree as continuation argument deleter.
4121 (finish_command_continuation): Drop error_p argument. Adjust.
4122 (finish_command_continuation_free_arg): New.
4123 (finish_command): Pass finish_command_continuation_free_arg as
4124 continuation argument deleter. Adjust to new do_all_continuations
4126 (attach_command_continuation): Drop error_p argument.
4127 (attach_command_continuation_free_args): New.
4128 (attach_command): Pass attach_command_continuation_free_args as
4129 continuation argument deleter.
4131 * interps.c (interp_set): Adjust to new do_all_continuations
4134 * event-top.c (stdin_event_handler): In error, also discard the
4135 intermediate continuations.
4139 Replace struct continuation_args by void* and per command structs.
4141 * top.c (execute_command): Remove unused arg1 and arg2 locals.
4143 * breakpoint.c (struct until_break_command_continuation_args):
4145 (until_break_command_continuation): Take a void* instead of a
4146 continuations_arg. Adjust.
4147 (until_break_command): Adjust to use struct
4148 until_break_command_continuation_args instead of struct
4151 * infcmd.c (struct step_1_continuation_args): New.
4152 (step_1_continuation): Take a void* instead of a
4153 continuations_arg. Adjust to use struct step_1_continuation_args.
4154 (step_once): Adjust to use struct step_1_continuation_args.
4156 (struct finish_command_continuation_args): New.
4157 (finish_command_continuation): Take a void* instead of a
4158 continuations_arg. Adjust to use struct
4159 finish_command_continuation_args.
4160 (finish_command): Adjust to use struct
4161 finish_command_continuation_args.
4162 (struct attach_command_continuation_args): New.
4163 (attach_command_continuation): Take a void* instead of a
4164 continuations_arg. Adjust to use struct
4165 attach_command_continuation_args.
4166 (attach_command): Adjust to use struct
4167 attach_command_continuation_args.
4169 * defs.h (struct continuation_arg): Delete.
4170 (struct continuation): Replace the struct continuation_arg*
4171 parameter of continuation_hook by a void*. Replace "arg_list"
4172 member by a new "args" member with void* type.
4173 (add_continuation, add_intermediate_continuation): Replace struct
4174 continuation_arg type usages by void* usages.
4176 * utils.c (add_continuation, do_all_continuations)
4177 (add_intermediate_continuation)
4178 (do_all_intermediate_continuations): Replace struct
4179 continuation_arg type usages by void* usages. Pass "args" instead
4184 * infrun.c (struct thread_stepping_state): Delete sal member.
4185 (init_thread_stepping_state): Add local sal. Use it instead of
4187 (handle_inferior_event): New local stop_pc_sal. Use it instead of
4189 (step_into_function): Add local stop_func_sal. Use it instead of
4194 Implement -exec-continue/-exec-interrupt --all.
4195 * infcmd.c (continue_1): New, extracted from
4196 (continue_command): ...here.
4197 (interrupt_target_1): New, extracted from
4198 (interrupt_target_command): ...here.
4199 * inferior.h (continue_1, interrupt_target_1): New.
4200 * mi/mi-main.c (mi_cmd_exec_continue)
4201 (mi_cmd_exec_interrupt): Handle --all.
4205 Implement --thread and --frame.
4206 * gdbthread.h (find_thread_id): Declare.
4207 * thread.c (find_thread_id): Make non-static.
4208 * mi/mi-main.c (mi_cmd_execute): Switch to the right
4209 thread and frame, if necessary.
4210 * mi/mi-parse.c (mi_parse): Handle --thread and --frame.
4211 * mi/mi-parse.h (strcut mi_parse): New fields thread and frame.
4215 * infrun.c (resume): Discard cleanups on early exit path.
4219 * infrun.c (normal_stop): For MI, report which threads
4224 Report thread state in -thread-info output.
4225 * thread.c (print_thread_info): Add new field "state".
4229 * infrun.c (handle_inferior_event): Also ignore a
4230 TARGET_SIGNAL_TRAP on a STOP_QUIETLY_NO_SIGSTOP.
4234 * completer.c (complete_line_internal): New function, from
4235 complete_line. Add 'for_help' parameter.
4236 (complete_line): Use it.
4237 (command_completer): Move later. Rewrite.
4241 * thread.c (thread_apply_command): Move making the cleanup out of
4248 * thread.c (enum thread_state): New.
4249 (thread_state main_thread_running): Delete, in favor of...
4250 (thread_state main_thread_state): ... this. Update throughout.
4251 (clear_thread_inferior_resources): New, split from free_thread.
4252 (free_thread): Call clear_thread_inferior_resources.
4253 (init_thread_list): Set main thread to stopped state.
4254 (add_thread_silent): Take care of PTID reuses.
4255 (delete_thread): If deleting inferior_ptid or a thread with
4256 refcount > 0, mark it as exited, but still keep it in the list.
4257 Only notify of thread exits, if we haven't done so yet.
4258 (iterate_over_threads): Make it safe to delete threads while
4259 iterating over them.
4260 (do_captured_list_thread_ids): Don't account for exited threads.
4261 (thread_alive): Check for the THREAD_EXITED state, and don't set
4262 ptid to -1 on exited threads.
4263 (set_running): Update to account for extra possible states.
4264 (is_thread_state): New.
4265 (is_stopped, is_exited): New.
4266 (is_running): Implement in terms of is_thread_state.
4267 (any_running): Update.
4268 (print_thread_info): Update. Account for exited threads. Don't
4269 warn about missed frame restoring here, its done in the cleanup.
4270 (switch_to_thread): Don't read from a thread that has gone.
4271 (restore_current_thread): In non-stop mode, do a full context
4273 (restore_selected_frame): Add a frame_level argument. Rewrite.
4274 (struct current_thread_cleanup): Add selected_frame_level and
4275 was_stopped members.
4276 (do_restore_current_thread_cleanup): Check if thread was stopped
4277 and still is, and if the target has registers, stack and memory
4278 before restoring the selected frame. Don't delete the cleanup
4280 (restore_current_thread_cleanup_dtor): New.
4281 (make_cleanup_restore_current_thread): Remove all arguments.
4283 (thread_apply_all_command): Update. Prune threads.
4284 (thread_apply_command): Update.
4285 (thread_command): Account for currently selected exited thread.
4286 (do_captured_thread_select): Check for a running thread. Prune
4288 (_initialize_thread): Make "info threads", "thread", "thread
4289 apply", and "thread apply all" appliable without a selected thread.
4290 * gdbthread.h (struct thread_info): Replace running_ by state_.
4292 (is_exited, is_stopped): Declare.
4293 (make_cleanup_restore_current_thread): Remove all arguments.
4294 * infrun.c: Include "event-top.h".
4295 (fetch_inferior_event): In non-stop mode, restore selected thread
4296 and frame after handling the event and running breakpoint
4297 commands. Display GDB prompt if needed.
4298 (normal_stop): In non-stop mode, don't print thread switching
4300 * cli/cli-decode.c (set_cmd_no_selected_thread_ok)
4301 (get_cmd_no_selected_thread_ok): New.
4302 * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): New.
4303 (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok):
4305 * cli/cli-cmds.c: Set "pwd", "help", "info", "show" as
4306 no-selected-thread ok.
4307 * top.c (execute_command): Check for non no-selected-thread-ok
4309 * linux-nat.c (struct saved_ptids, threads_to_delete)
4310 (record_dead_thread, prune_lwps): Delete.
4311 (exit_lwp): Unconditionally delete thread.
4312 (linux_nat_resume): Remove prune_lwps call.
4313 * infcmd.c (proceed_thread_callback): Check if !is_stopped instead
4314 of is_running. Adjust to make_cleanup_restore_current_thread
4316 * mi/mi-main.c (mi_cmd_execute): Only allow a few commands if the
4317 selected thread has exited.
4318 * inf-loop.c (inferior_event_handler): Don't display the prompt
4320 * varobj.c (c_value_of_root): Update.
4321 * defs.h (make_cleanup_dtor): Declare.
4322 * utils.c (make_cleanup_dtor): New.
4324 * Makefile.in (infrun.o): Depend on $(event_top_h).
4328 Add "continue -a" and "interrupt -a" options for non-stop mode.
4330 * infcmd.c (proceed_thread_callback, do_context_switch_to): New.
4331 (continue_command): Add "-a" option.
4332 (interrupt_target_command): Add "-a" option.
4333 (_initialize_infcmd): Add extend help of continue and interrupt
4334 command to mention the new "-a" option. Mark "continue" async ok.
4338 Add "set print symbol-loading on|off".
4339 * NEWS: Document new option.
4340 * symfile.h (print_symbol_loading): Declare.
4341 * symfile.c (print_symbol_loading): New global.
4342 (symbol_file_add_with_addrs_or_offsets): Only print "Reading symbols
4343 from ..." if print_symbol_loading.
4344 (_initialize_symfile): Add set/show print symbol-loading.
4345 * solib.c (solib_read_symbols): Only print "Loaded symbols for ..."
4346 if print_symbol_loading.
4350 Non-stop linux native.
4352 * linux-nat.c (linux_test_for_tracefork): Block events while we're
4354 (get_pending_status): Implement non-stop mode.
4355 (linux_nat_detach): Stop threads before detaching.
4356 (linux_nat_resume): In non-stop mode, always resume only a single
4358 (linux_handle_extended_wait): On a clone event, in non-stop mode,
4359 add new lwp to GDB's thread table, and mark as running, executing
4360 and stopped appropriately.
4361 (linux_nat_filter_event): Don't assume there are other running
4362 threads when a thread exits.
4363 (linux_nat_wait): Mark the main thread as running and executing.
4364 In non-stop mode, don't stop all lwps.
4365 (linux_nat_kill): Stop lwps before killing them.
4366 (linux_nat_thread_alive): Use signal 0 to detect if a thread is
4368 (send_sigint_callback): New.
4369 (linux_nat_stop): New.
4370 (linux_nat_add_target): Set to_stop to linux_nat_stop.
4372 * linux-nat.h (thread_db_attach_lwp): Declare.
4374 * linux-thread-db.c (thread_get_info_callback): Check for new
4375 threads if we have none.
4376 (thread_from_lwp, enable_thread_event): Set proc_handle.pid to the
4377 stopped lwp. Check for new threads if we have none.
4378 (thread_db_attach_lwp): New.
4379 (thread_db_init): Set proc_handle.pid to inferior_ptid.
4380 (check_event): Set proc_handle.pid to the stopped lwp.
4381 (thread_db_find_new_threads): Set proc_handle.pid to any stopped
4382 lwp available, bail out if there is none.
4384 * linux-fork.c (linux_fork_killall): Use SIGKILL instead of
4389 * rs6000-tdep.c (ppc_displaced_step_fixup): Change type of
4390 `current_pc' from CORE_ADDR to ULONGEST.
4392 * remote-sim.c (gdbsim_cntrl_c): Pass remote_sim_ptid to
4397 * NEWS (New commands): Mention "set disable-randomization".
4398 * configure.ac: Add check for HAVE_PERSONALITY and
4399 HAVE_DECL_ADDR_NO_RANDOMIZE.
4400 * configure, config.in: Regenerate.
4401 * linux-nat.c [HAVE_PERSONALITY]: New include <sys/personality.h>.
4402 [HAVE_PERSONALITY] [!HAVE_DECL_ADDR_NO_RANDOMIZE]: Set
4404 (disable_randomization, show_disable_randomization)
4405 (set_disable_randomization): New.
4406 (linux_nat_create_inferior) [HAVE_PERSONALITY]: New variables
4407 PERSONALITY_ORIG and PERSONALITY_SET. Disable randomization upon the
4408 variable DISABLE_RANDOMIZATION.
4409 (_initialize_linux_nat): Call ADD_SETSHOW_BOOLEAN_CMD for the variable
4410 DISABLE_RANDOMIZATION.
4414 Adjust all targets to new target_stop interface.
4416 * gnu-nat.c (gnu_stop): Add ptid argument.
4417 * go32-nat.c (go32_stop): Add ptid argument.
4418 (go32_create_inferior): Pass inferior_ptid to go32_stop.
4419 * hpux-thread.c (hpux_thread_stop): Add ptid argument.
4420 * monitor.c (monitor_stop): Add ptid argument.
4421 (monitor_open): Pass inferior_ptid to monitor_stop.
4422 (monitor_interrupt): Pass inferior_ptid to target_stop.
4423 (monitor_stop): Add ptid argument.
4424 * nto-procfs.c (nto_interrupt): Pass inferior_ptid to target_stop.
4425 (procfs_create_inferior): Add ptid argument.
4426 * procfs.c (procfs_stop): Add ptid argument.
4427 * remote-m32r-sdi.c (m32r_stop): Add ptid argument.
4428 * remote-sim.c (gdbsim_stop): Add ptid argument.
4429 * sol-thread.c (sol_thread_stop): Add ptid argument.
4430 * win32-nat.c (win32_stop): Add ptid argument.
4434 Non-stop inferior control.
4436 * infrun.c (resume): In non-stop mode, always resume just one
4438 (proceed): Don't call prepare_to_proceed in non-stop mode.
4439 (fetch_inferior_event): In non-stop mode, switch context before
4441 (error_is_running, ensure_not_running): New.
4442 (handle_inferior_event): In non-stop mode: Mark only the event
4443 thread as stopped. Require that the target module manages adding
4444 threads to the thread list. Assert that there isn't a
4445 deferred_step_ptid set. Don't switch to infwait_thread_hop_state.
4446 (normal_stop): Only mark not-running if inferior hasn't exited.
4447 In non-stop mode, only mark the event thread.
4449 * thread.c:Include "cli/cli-decode.h".
4450 (print_thread_info): Don't read from a running thread.
4451 Output "(running)" if thread is running.
4452 (switch_to_thread): Don't read stop_pc if thread is executing.
4453 (do_restore_current_thread_cleanup): Don't write to a running
4455 (thread_apply_all_command): Don't read from a running thread. In
4456 non-stop mode, do a full context-switch instead of just switching
4458 (thread_apply_command): In non-stop mode, do a full context-switch
4459 instead of just switching threads.
4460 (do_captured_thread_select): Likewise. Inform user if selected
4462 (_initialize_thread): Mark "info threads" and "thread" and
4465 * inf-loop.c (inferior_event_handler): In non-stop mode, don't
4466 unregister the target from the event loop.
4468 * infcmd.c (continue_command, step_1, jump_command)
4469 (signal_command): Ensure the selected thread isn't running.
4470 (interrupt_target_command): In non-stop mode, interrupt only the
4473 * inferior.h (error_is_running, ensure_not_running): Declare.
4475 * target.h (struct target_ops): Add ptid argument to the to_stop
4477 (target_stop): Add ptid_t argument.
4479 * target.c (update_current_target): Add ptid argument to to_stop's
4481 (debug_to_stop): Add ptid_t argument.
4482 (debug_to_rcmd): Set to_stop_ptid.
4484 * remote.c (remote_stop): Add ptid_t argument.
4485 (async_remote_interrupt): Add inferior_ptid to target_stop.
4486 * inf-ptrace.c (inf_ptrace_stop): Add ptid argument.
4488 * Makefile.in (thread.o): Depend on $(cli_decode_h).
4492 Don't rely on ecs->wait_for_more.
4494 * infrun.c (proceed): Clear the stepping state, set
4495 previous_inferior_ptid and clear infwait state.
4496 (wait_for_inferior): Don't clear the stepping state, set
4497 previous_inferior_ptid, or clear the infwait state here.
4498 (fetch_inferior_event): Don't clear the stepping state, set
4499 previous_inferior_ptid, or clear the infwait state here. Don't
4500 condition on wait_for_more.
4504 Refactor infrun a bit.
4506 * infrun.c (currently_stepping): Take a struct
4507 thread_stepping_state instead of an execution_control_state.
4508 (struct thread_stepping_state): New, split from
4509 execution_control_state.
4510 (gtss, tss): New globals.
4511 (proceed): Clear the stepping state, set previous_inferior_ptid
4512 and clear infwait state.
4513 (init_wait_for_inferior): Clear the stepping state,
4514 previous_inferior_ptid and infwait state.
4515 (waiton_ptid, infwait_state): New, split from
4516 execution_control_state.
4517 (struct execution_control_state): Members that persist through
4518 events moved out to either struct thred_stepping_state or made
4519 global. Deleted unneeded wp, saved_inferior_ptid, tmpstatus.
4520 (wait_for_inferior, fetch_inferior_event): Use local
4521 execution_control_state. Update to execution_control_state split.
4522 (init_execution_control_state): Adjust.
4523 (init_thread_stepping_state): New, extracted from
4524 init_execution_control_state.
4525 (context_switch): Take a ptid instead of an
4526 execution_control_state.
4527 (context_switch_to): Adjust.
4528 (adjust_pc_after_break): Adjust.
4529 (init_infwait_state): New.
4530 (handle_inferior_event): Adjust.
4535 Per-thread commands.
4537 * gdbthread.h: Remove unneeded forward declarations.
4538 Include "inferior.h".
4539 (struct thread_info): Add continuations,
4540 intermediate_continuations, proceed_to_finish, step_over_calls,
4541 stop_step, step_multi and stop_signal members.
4542 (save_infrun_state): Add continuations,
4543 intermediate_continuations, proceed_to_finish, step_over_calls,
4544 stop_step, step_multi, stop_signal and stop_bpstat parameters.
4545 (load_infrun_state): Add continuations,
4546 intermediate_continuations, proceed_to_finish, step_over_calls,
4547 stop_step, step_multi, stop_signal and stop_bpstat parameters.
4549 * thread.c (load_infrun_state): In non-stop mode, load
4550 continuations, intermediate_continuations, proceed_to_finish,
4551 step_over_calls, stop_step, step_multi and stop_signal.
4552 (save_infrun_state): Store continuations,
4553 intermediate_continuations, proceed_to_finish, step_over_calls,
4554 stop_step, step_multi, stop_signal and stop_bpstat.
4555 (save_infrun_state): Store continuations,
4556 intermediate_continuations, proceed_to_finish, step_over_calls,
4557 stop_step, step_multi, stop_signal and stop_bpstat.
4558 (free_thread): Clear The thread's stop_bpstat.
4560 * inferior.h (context_switch_to): Declare.
4562 * infrun.c (ecss): New global.
4563 (context_switch): Context switch continuations,
4564 intermediate_continuations, proceed_to_finish, step_over_calls,
4565 stop_step, step_multi, stop_signal and stop_bpstat.
4566 (wait_for_inferior): Use global ecss.
4567 (async_ecss, async_ecs): Delete.
4568 (fetch_inferior_event): Use global ecss.
4569 (context_switch_to): New.
4571 * top.c (execute_command): In non-stop, only check if the current
4572 thread is running, in all-stop, check if there's any thread
4575 * breakpoint.c (bpstat_remove_breakpoint): New.
4576 (bpstat_remove_breakpoint_callback): New.
4577 (delete_breakpoint): Clear the stop_bpstats of all threads.
4579 * mi/mi-main.c (mi_cmd_execute): In non-stop, only check if the
4580 current thread is running, in all-stop, check if there's any
4583 * Makefile.in (gdbthread_h): Depend on $(inferior_h).
4587 Add non_stop global.
4589 * inferior.h (non_stop): Declare.
4590 * infrun.c (non_stop, non_stop_1): New.
4591 (set_non_stop, show_non_stop): New.
4592 (_initialize_infrun): Add "set/show non-stop" command.
4596 Adjust fork/vfork/exec to pass ptids around.
4598 * target.h (struct target_waitstatus): Store related_pid as a ptid.
4599 (inferior_has_forked, inferior_has_vforked, inferior_has_execd):
4601 * breakpoint.h (struct breakpoint): Change forked_inferior_pid
4603 * breakpoint.c (print_it_typical, bpstat_check_location)
4604 (print_one_breakpoint_location, set_raw_breakpoint_without_location)
4605 (create_fork_vfork_event_catchpoint): Adjust.
4606 * infrun.c (fork_event): Change parent_pid and child_pid types to
4608 (follow_exec, inferior_has_forked, inferior_has_vforked)
4609 (inferior_has_execd): Take a ptid_t and don't trim it.
4610 * linux-thread-db.c (thread_db_wait): Don't trim the returned ptid.
4611 * linux-nat.c (linux_child_follow_fork): Adjust.
4612 * inf-ptrace.c (inf_ptrace_wait): Adjust.
4613 * inf-ttrace.c (inf_ttrace_wait): Adjust.
4614 * win32-nat.c (get_win32_debug_event): Don't set related_pid.
4618 Add "executing" property to threads.
4620 * inferior.h (target_executing): Delete.
4621 * gdbthread.h (struct thread_info): Add executing_ field.
4622 (set_executing, is_executing): New.
4623 * thread.c (main_thread_executing): New.
4624 (init_thread_list): Clear it and also main_thread_running.
4625 (is_running): Return false if target has no execution.
4626 (any_running, is_executing, set_executing): New.
4628 * top.c: Include "gdbthread.h".
4629 (target_executing): Delete.
4630 (execute_command): Replace target_executing check by any_running.
4631 * event-top.c: Include "gdbthread.h".
4632 (display_gdb_prompt, command_handler): Replace target_executing by
4634 * inf-loop.c: Include "gdbthread.h". Don't mark as not executing
4635 here. Replace target_executing by is_running.
4636 * infrun.c (handle_inferior_event): Mark all threads as
4638 * linux-nat.c (linux_nat_resume): Don't mark thread as executing
4640 * stack.c (get_selected_block): Return null if inferior is
4642 * target.c (target_resume): Mark resumed ptid as executing.
4643 * breakpoint.c (until_break_command): Replace target_executing
4644 check by is_executing.
4645 * remote.c (remote_async_resume): Don't mark inferior as executing
4647 * mi/mi-interp.c (mi_cmd_interpreter_exec): Replace target_executing
4650 * mi/mi-main.c (mi_cmd_exec_interrupt, mi_cmd_execute)
4651 (mi_execute_async_cli_command): Replace target_executing by
4654 * frame.c (get_current_frame): Error out if the current thread is
4656 (has_stack_frames): New.
4657 (get_selected_frame, deprecated_safe_get_selected_frame): Check
4660 * Makefile.in (event-top.o, frame.o, inf-loop.o, top.o): Depend on
4665 * symfile.c (load_command): Reopen the exec file and reread
4666 symbols before anything else.
4670 * remote-sim.c: Include gdbthread.h.
4671 (remote_sim_ptid): New global.
4672 (gdbsim_create_inferior): Silently add the main task to GDB's
4674 (gdbsim_close, gdbsim_mourn_inferior): Silently delete the main
4675 task from GDB's thread list.
4676 (gdbsim_resume): Adjust to use remote_sim_ptid.
4677 (gdbsim_thread_alive, gdbsim_pid_to_str): New.
4678 (init_gdbsim_ops): Register gdbsim_thread_alive and
4680 (_initialize_remote_sim): Initialize remote_sim_ptid.
4681 * Makefile.in (remote-sim.o): Depend on $(gdbthread_h).
4685 * monitor (monitor_ptid): New global.
4686 (monitor_open): Silently add the main task to GDB's thread list.
4687 (monitor_close, monitor_mourn_inferior): Silently delete the main
4688 task from GDB's thread list.
4689 (monitor_thread_alive, monitor_pid_to_str): New.
4690 (init_base_monitor_ops): Register monitor_thread_alive and
4692 (_initialize_remote_monitors): Initialize monitor_ptid.
4694 * gdbthread.h (delete_thread_silent): Declare.
4695 * thread.c (delete_thread): Rename to ...
4696 (delete_thread_1): ... this. Add "silent" parameter. If silent,
4697 don't do exit notifications.
4698 (delete_thread, delete_thread_silent): New, as wrappers to
4703 * breakpoint.c (update_global_location_list): Add boolean
4704 "should_insert" argument. Only insert locations if caller told it
4706 (update_global_location_list_nothrow): Add boolean "should_insert"
4707 argument. Pass it to update_global_location_list.
4708 (insert_breakpoints, create_longjmp_breakpoint)
4709 (create_overlay_event_breakpoint, enable_overlay_breakpoints)
4710 (create_thread_event_breakpoint, create_solib_event_breakpoint)
4711 (create_fork_vfork_event_catchpoint, create_exec_event_catchpoint)
4712 (enable_watchpoints_after_interactive_call_stop)
4713 (set_momentary_breakpoint, create_breakpoints)
4714 (break_command_really, watch_command_1)
4715 (create_ada_exception_breakpoint, update_breakpoint_locations)
4716 (do_enable_breakpoint, enable_command): Pass true to
4717 update_global_location_list.
4718 (bpstat_stop_status, disable_overlay_breakpoints)
4719 (disable_watchpoints_before_interactive_call_start)
4720 (delete_breakpoint, disable_breakpoint, disable_command): Pass
4721 false to update_global_location_list.
4722 (update_breakpoints_after_exec): Don't temporarily disable
4723 always-inserted mode.
4727 * breakpoint.c (mark_breakpoints_out): Make public.
4728 (update_breakpoints_after_exec): Don't call mark_breakpoints_out
4729 here. Update comment.
4730 * breakpoint.h (mark_breakpoints_out): Declare.
4732 * linux-nat.c (linux_handle_extended_wait): On
4733 TARGET_WAITKIND_EXECD, call mark_breakpoints_out.
4734 * inf-ttrace.c (inf_ttrace_wait): Likewise.
4738 * infrun.c (follow_exec): Reset shared libraries before adding the
4743 * breakpoint.c (bpstat_copy): Call RELEASE_VALUE on the new OLD_VAL.
4747 * i386-dicos-tdep.c: Include "inferior.h".
4748 (i386_dicos_frame_align): New.
4749 (i386_dicos_init_abi): Register i386_dicos_frame_align. Set call
4750 dummy location ON_STACK.
4751 * Makefile.in (i386-dicos-tdep.o): Depend on $(inferior_h).
4755 * gstdint.h: New file.
4759 * mi/mi-interp.c (mi_on_resume): Don't try to report
4760 resumed thread it the thread list is empty.
4764 * cli/cli-decode.c (add_setshow_optional_filename_cmd): Set
4765 completer for set to filename_completer.
4771 Implement -target-attach.
4772 * mi/mi-cmds.c (mi_cmds): Forward -target-attach to CLI attach.
4776 * target-descriptions.c (maint_print_c_tdesc_cmd): Fix a memory leak.
4780 * config/i386/nm-cygwin.h (ATTACH_NO_WAIT): Delete.
4781 * config/i386/nm-i386gnu.h (ATTACH_NO_WAIT): Delete.
4783 * target.h (struct target_ops): Add to_attach_no_wait member.
4784 (target_attach_no_wait): New.
4785 * target.c (update_current_target): Inherit to_attach_no_wait.
4787 * infcmd.c: Replace ATTACH_NO_WAIT compile time check by
4788 target_attach_no_wait runtime check.
4790 * gnu-nat.c (init_gnu_ops): Set to_attach_no_wait in gnu_ops.
4791 * win32-nat.c (init_win32_ops): Set to_attach_no_wait in
4796 * i386-tdep.c (i386_displaced_step_fixup): Condition log printing
4797 on debug_displaced being set.
4801 * frame.c (get_prev_frame_1): Call frame_unwind_find_by_frame
4802 directly instead of get_frame_id.
4806 * rs6000-tdep.c (ppc_displaced_step_fixup): New function.
4807 (deal_with_atomic_sequence): Update BC masks.
4808 (rs6000_gdbarch_init): Init displaced stepping infra-structure.
4809 Define BRANCH_MASK, B_INSN, BC_INSN, BXL_INSN, BP_MASK and BP_INSN.
4813 * cris-tdep.c (crisv32_single_step_through_delay): Get this frame's
4814 register, not the previous frame's.
4818 * source.c (select_source_symtab): Make sure we skip namespace
4819 symtabs when showing cpp source code.
4823 * MAINTAINERS (Authorized committers): Fix my email address.
4827 * mi/mi-cmds.c (mi_cmds): Route -exec-run, -exec-until,
4828 -target-download and -target-select via CLI, so that
4829 the quoting rules are the same as they were (unfortunately)
4830 in all prior gdb releases.
4831 * mi/mi-cmds.h (mi_cmd_exec_run, mi_cmd_exec_until)
4832 (mi_cmd_target_download, mi_cmd_target_select): Remove.
4833 * mi/mi-main.c (mi_cmd_exec_run, mi_cmd_exec_until)
4834 (mi_cmd_target_download, mi_cmd_target_select): Remove.
4835 (mi_cmd_execute): Set current_token even for commands
4840 * alphafbsd-tdep.c: Update for unwinder changes.
4841 * alpha-linux-tdep.c: Likewise.
4842 * alphanbsd-tdep.c: Likewise.
4843 * alphaobsd-tdep.c: Likewise.
4844 * avr-tdep.c: Likewise.
4845 * cris-tdep.c: Likewise.
4846 * frv-linux-tdep.c: Likewise.
4847 * frv-tdep.c: Likewise.
4848 * h8300-tdep.c: Likewise.
4849 * hppa-linux-tdep.c: Likewise.
4850 * iq2000-tdep.c: Likewise.
4851 * m32c-tdep.c: Likewise.
4852 * m32r-linux-tdep.c: Likewise.
4853 * m32r-tdep.c: Likewise.
4854 * m68hc11-tdep.c: Likewise.
4855 * mep-tdep.c: Likewise.
4856 * mn10300-tdep.c: Likewise.
4857 * mt-tdep.c: Likewise.
4858 * score-tdep.c: Likewise.
4859 * sh64-tdep.c: Likewise.
4860 * sh-tdep.c: Likewise.
4861 * sparc64fbsd-tdep.c: Likewise.
4862 * sparc64nbsd-tdep.c: Likewise.
4863 * sparc64obsd-tdep.c: Likewise.
4864 * v850-tdep.c: Likewise.
4865 * vaxobsd-tdep.c: Likewise.
4866 * vax-tdep.c: Likewise.
4867 * xstormy16-tdep.c: Likewise.
4871 * mi/mi-main.c (enum captured_mi_execute_command_actions)
4872 (captured_mi_execute_command_args): Remove.
4873 (captured_mi_execute_command): Cast the closure to mi_parse
4874 pointer, not to captured_mi_execute_command_args, and don't
4875 set the action field thereof.
4876 (mi_execute_command): Pass struct mi_parse, not
4877 captured_mi_execute_command_args to captured_mi_execute_command.
4878 (mi_execute_command): Remove (dead) code for suppressing
4883 * linux-nat.c (enum sigchld_state): New.
4884 (linux_nat_async_events_state): Renamed from
4885 linux_nat_async_events_enabled.
4886 (linux_nat_event_pipe_push, my_waitpid): Adjust.
4887 (sigchld_default_action): New.
4888 (lin_lwp_attach_lwp): Adjust. Call linux_nat_async_events
4890 (linux_nat_create_inferior): Set events state to sigchld_default
4892 (linux_nat_resume): Adjust.
4893 (linux_nat_wait): Call linux_nat_async_events unconditionally.
4894 (sigchld_handler): Adjust.
4895 (linux_nat_async_mask): Don't set SIGCHLD actions here.
4896 (get_pending_events): Adjust.
4897 (linux_nat_async_events): Rewrite to handle enum sigchld_state
4898 instead of a boolean.
4899 (linux_nat_async): Adjust.
4900 (_initialize_linux_nat): Capture default SIGCHLD action into
4901 sigchld_default_action.
4905 * breakpoint.c (moribund_locations): New.
4906 (bpstat_stop_status): Process moribund locations.
4907 (update_global_location_list): Add removed
4908 locations to moribund_locations.
4909 (breakpoint_retire_moribund): New.
4910 * breakpoint.h (struct bp_location): New field
4911 events_till_retirement.
4912 (breakpoint_retire_moribund): Declare.
4913 * thread.c (thread_count): New.
4914 * infrun.c (handle_inferior_event): Call
4915 breakpoint_retire_moribund.
4916 * gdbthread.h (thread_count): Declare.
4920 * dfp.c (decimal_convert): Call match_endianness before and after
4925 * remote.c (remote_insert_breakpoint): Ensure that if Z0
4926 unsupported and we fall back to memory_insert_breakpoint, we
4927 use the unmodified requested address.
4931 * dwarf2read.c (read_attribute_value): Issue a complaint when
4932 adjusting size attribute values of 0xffffffff as zero.
4936 * i386-tdep.c (i386_16_byte_align_p): New.
4937 (i386_push_dummy_call): Determine stack space required for
4938 arguments going forwards allowing for 16-byte alignment, then push
4939 arguments going forwards.
4943 * infrun.c (start_remote): Don't clear thread list here.
4944 * monitor.c (monitor_open): Include "gdbthread.h". Clear thread
4946 * remote.c (record_currthread): Upgrade the main thread and its
4947 entry in the thread list if this is the first time we hear about
4949 (remote_thread_alive): Consider magic_null_ptid or a ptid without
4950 a tid member always alive.
4951 (remote_find_new_threads): Don't update the main thread here.
4952 (remote_start_remote): Clear thread list here. Always add the
4954 (extended_remote_attach_1): Add the main thread here.
4955 (extended_remote_mourn_1): Re-add the main thread here.
4956 (extended_remote_create_inferior_1): Add a main thread.
4958 * Makefile.in (monitor.o): Depend on $(gdbthread_h).
4962 Use ptid_t.tid to store thread ids instead of ptid_t.pid.
4964 * remote.c (magic_null_ptid, not_sent_ptid, any_thread_ptid): New
4966 (general_thread, continue_thread): Change type to ptid_t.
4967 (record_currthread): Take a ptid_t parameter instead of an
4969 (MAGIC_NULL_PID): Delete.
4970 (set_thread): Take a ptid_t parameter and adjust.
4971 (set_general_thread, set_continue_thread): New.
4972 (remote_thread_alive, remote_newthread_step)
4973 (remote_current_thread, remote_find_new_threads)
4974 (remote_threads_info, remote_start_remote, remote_vcont_resume)
4975 (remote_resume_1, remote_wait, extended_remote_create_inferior_1)
4976 (threadalive_test, remote_pid_to_str)
4977 (remote_get_thread_local_address): Adjust.
4978 (_initialize_remote): Initialize magic_null_ptid, not_sent_ptid
4979 and any_thread_ptid.
4983 * configure.ac (--enable-tui): AC_MSG_ERROR for explicit --enable-tui.
4984 * configure: Regenerated.
4988 * dwarf2read.c (read_attribute_value): Treat size attribute
4989 values of 0xffffffff as if the attribute value was zero.
4993 * linux-nat.c: Add description of overall logic.
4997 * Makefile.in (GNULIB_H): Use GNULIB_STDINT_H.
4998 (gdb_stdint_h, gdb_stdint.h, stamp-int): Delete. Remove
4999 all dependencies on $(gdb_stdint_h).
5000 (distclean): Do not delete gdb_stdint.h.
5001 * acinclude.m4: Do not use stdint.m4.
5002 * configure.ac: Set GNULIB_STDINT_H. Remove tests for stdint.h,
5003 uintptr_t, and gdb_stdint.h.
5004 * defs.h: Include <stdint.h>.
5005 * gdb_thread_db.h: Assume stdint.h is already included.
5006 * breakpoint.c, findcmd.c, hppa-tdep.c, inf-ptrace.c, proc-service.c,
5007 rs6000-nat.c, spu-linux-nat.c, target.c, win32-nat.c: Do not
5008 include gdb_stdint.h.
5009 * configure, config.in: Regenerate.
5013 * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Handle passing
5014 decimal floating-point values in GPRs for soft-float.
5015 (do_ppc_sysv_return_value): Handle returning decimal
5016 floating-point values in GPRs for soft-float.
5020 * target.c (target_read_until_error): New.
5021 * target.h (target_read_until_error): Declare.
5022 * mi/mi-main.c (mi_cmd_data_read_memory): Use
5023 target_read_until_error.
5028 * c-exp.y (parse_number): Move the S and SAVED_CHAR initialization
5029 after the DECFLOAT detection to fix a memory leak. Remove the
5030 redundant NUM initialization. Protect the DECFLOAT detection memory
5031 access before the P block. Restore the P memory content for the
5036 Kill the return value for all MI command functions.
5037 * mi/mi-cmds.h (enum mi_cmd_result): Remove.
5038 (mi_cmd_argv_ftype): Change return type to void.
5040 * mi/mi-main.c: Adjust all function that implement
5041 MI commands to return nothing.
5042 (struct captured_mi_execute_command_actions):
5043 Remove the rc field.
5044 (mi_cmd_execute): Return nothing.
5045 (mi_execute_async_cli_command): Return nothing.
5046 (mi_cmd_exec_interrupt): Don't print ^done here.
5047 (mi_cmd_target_select): Don't print ^connected here.
5048 (captured_mi_execute_command): Don't check for MI_CMD_DONE.
5049 Special-case -target-select and output ^connected, not ^done.
5051 * mi/mi-cmd-break.c: Adjust.
5052 * mi/mi-cmd-disas.c: Adjust.
5053 * mi/mi-cmd-env.c: Adjust.
5054 * mi/mi-cmd-file.c: Adjust.
5055 * mi/mi-cmd-stack.c: Adjust.
5056 * mi/mi-cmd-target.c: Adjust.
5057 * mi/mi-cmd-var.c: Adjust.
5058 * mi/mi-interp.c: Adjust.
5059 * mi/mi-symbol-cmds.c: Adjust.
5063 Emit ^running via observer.
5064 * mi/mi-interp.c (mi_cmd_interpreter_exec): Do no print
5066 (mi_on_resume): Print ^running if not previously output.
5067 * mi/mi-main.c (running_result_record_printed): New.
5068 (captured_mi_execute_command): Reset
5069 running_result_record_printed. Use running_result_record_printed
5070 to decide if we should skip ^done.
5071 (mi_execute_async_cli_command): Don't print ^running here.
5072 * mi/mi-main.h (current_token, running_result_record_printed):
5077 * infrun.c (_initialize_infrun): White space and typo fix.
5081 * win32-nat.c (safe_symbol_file_add_stub): Remove unused variable.
5082 (do_initial_win32_stuff): Fix problem with inability to set breakpoints
5083 when first loading DLL with "dll" command.
5087 * gnu-nat.c (proc_string): Use capital T for "Thread".
5091 * win32-nat.c (win32_pid_to_str): Use capital T for "Thread".
5095 * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if
5096 the target cannot run.
5100 * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if
5101 we're attaching to a running process.
5105 * win32-nat.c (handle_load_dll): Give dll name and load address
5106 if debug_events is on.
5107 (handle_unload_dll): Likewise.
5111 Don't suppress *running when doing finish.
5112 * infcall.c (call_function_by_hand): Set both
5113 suppress_resume_observer and suppress_stop_observer.
5114 * infcmd.c (suppress_run_stop_observers): Split into...
5115 (suppress_resume_observer, suppress_stop_observer): ...those.
5116 (finish_command_continuation): Clear suppress_stop_observer.
5117 (finish_command): Set suppress_stop_observer.
5118 * inferior.h (suppress_run_stop_observers): Split into...
5119 (suppress_resume_observer, suppress_stop_observer): ...those.
5120 * infrun.c (normal_stop): Check for suppress_stop_observer.
5121 * thread.c (set_running): Check for suppress_resume_observer.
5126 * gdbarch.sh (gdbarch_skip_main_prologue): New.
5127 * gdbarch.h, gdbarch.c: Regenerate.
5128 * i386-tdep.h (i386_skip_main_prologue): Declare.
5129 * i386-tdep.c (i386_skip_main_prologue): New.
5130 * i386-cygwin-tdep.c (i386_cygwin_init_abi): Register
5131 i386_skip_main_prologue as gdbarch_skip_main_prologue gdbarch callback.
5132 * symtab.c (find_function_start_sal): When pc points at the "main"
5133 function, call gdbarch_skip_main_prologue.
5137 * value.c (value_primitive_field): Fetch lazy register values.
5141 * NEWS: Mention support removal of undocumented S AA p PID stop
5144 * remote.c (remote_wait): Remove undocumented S AA p PID support.
5148 * MAINTAINERS: Update my affiliation and address.
5152 * top.c (print_gdb_version): Don't print final newline.
5157 * Makefile.in: Update dependencies.
5158 * gdbthread.h (struct thread_info): New field
5160 (set_running, is_running): New.
5161 * thread.c (set_running, is_running): New.
5162 * inferior.h (suppress_normal_stop_observer): Rename to...
5163 (suppress_run_stop_observers): ..this.
5164 * infcmd.c (suppress_normal_stop_observer): Rename to...
5165 (suppress_run_stop_observers): ..this.
5166 (finish_command_continuation, finish_command): Adjust.
5167 * infcall.c (call_function_by_hand): Adjust.
5168 * infrun.c (normal_stop): Call set_running.
5169 * target.c (target_resume): New. Call set_running.
5170 * target.h (target_resume): Convert from macro to
5173 * mi/mi-interp.c (mi_on_resume): New.
5174 (mi_interpreter_init): Register mi_on_resume.
5178 Use observers to report stop events in MI.
5179 * mi/mi-interp.c (mi_on_normal_stop): New.
5180 (mi_interpreter_init): Register mi_on_normal_stop.
5181 (mi_interpreter_exec_continuation): Remove.
5182 (mi_cmd_interpreter_exec): Don't register the above.
5183 * mi/mi-main.c (captured_mi_execute_command): Don't care
5184 about sync_execution.
5185 (mi_execute_async_cli_command): Don't install continuation. Don't
5187 (mi_exec_async_cli_cmd_continuation): Remove.
5191 Suppress normal stop observer when it's problematic.
5192 * inferior.h (suppress_normal_stop_observer): New.
5193 * infcall.c (call_function_by_hand): Disable stop events when
5194 doing function calls.
5195 * infmcd.c (suppress_normal_stop_observer): New.
5196 (finish_command_continuation): Call normal_stop observer
5198 (finish_command): Disable stop events inside proceed.
5199 * infrun.c (normal_stop): Don't call normal stop observer if
5200 suppressed of if multi-step is in progress.
5205 * infrun.c (finish_command): Don't pass cleanup
5207 (finish_command_continuation): Don't grab cleanup from
5208 the passed data, as we don't use, and cannot, use it anyway.
5212 Introduce common cleanup for restoring integers.
5213 * defs.h (make_cleanup_restore_integer): New declaration.
5214 (struct cleanup): New field free_arg.
5215 (make_my_cleanup_2): New.
5216 * utils.c (restore_integer_closure, restore_integer)
5217 (make_cleanup_restore_integer): New.
5218 (make_my_cleanup): Initialize the free_arg field and
5219 renamed to make_my_cleanup_2.
5220 (do_my_cleanups): Call free_arg.
5221 (discard_cleanups): Call free_arg.
5222 * breakpoint.c (restore_always_inserted_mode): Remove.
5223 (update_breakpoints_after_exec): Use make_cleanup_restore_integer.
5227 * remote.c (remote_wait): Include beginning of malformed packet
5232 * completer.c (complete_line): Don't special-case
5233 expression_completer.
5234 (expression_completer): Only pass last word to
5236 * c-exp.y (yylex): Check 'token', not 'operator'.
5240 * configure.ac (build_warnings): Add -Wno-format for mingw.
5241 * configure: Regenerated.
5245 * NEWS: Make indentation consistent. Move exec tracing entry out
5246 of remote packet list.
5250 * value.h (evaluate_subexpression_type, extract_field_op):
5252 * printcmd.c (_initialize_printcmd): Use expression_completer for
5253 'p', 'inspect', 'call'.
5254 * parser-defs.h (parse_field_expression): Declare.
5255 * parse.c: Include exceptions.h.
5256 (in_parse_field, expout_last_struct): New globals.
5257 (mark_struct_expression): New function.
5258 (prefixify_expression): Return int.
5259 (prefixify_subexp): Return int. Use expout_last_struct.
5260 (parse_exp_1): Update.
5261 (parse_exp_in_context): Add 'out_subexp' argument. Handle
5263 (parse_field_expression): New function.
5264 * expression.h (parse_field_expression): Declare.
5265 (in_parse_field): Likewise.
5266 * eval.c (evaluate_subexpression_type): New function.
5267 (extract_field_op): Likewise.
5268 * completer.h (expression_completer): Declare.
5269 * completer.c (expression_completer): New function.
5270 (count_struct_fields, add_struct_fields): New functions.
5271 * c-exp.y (yyparse): Redefine.
5272 (COMPLETE): New token.
5273 (exp): New productions.
5274 (saw_name_at_eof, last_was_structop): New globals.
5275 (yylex): Return COMPLETE when needed. Recognize in_parse_field.
5276 (c_parse): New function.
5277 * breakpoint.c (_initialize_breakpoint): Use expression_completer
5278 for watch, awatch, and rwatch.
5279 * Makefile.in (parse.o): Depend on exceptions_h.
5284 * gdb/valopts.c (find_overload_match): Handle references
5289 * ada-lang.c (ada_value_assign): Correct big-endian case to take into
5290 account the bitsize of the 'from' operand.
5294 * annotate.h (annotate_thread_changed): Declare.
5298 * annotate.c (annotate_thread_changed): New function.
5299 * thread.c (thread_command) : Use it.
5300 * infrun.c (normal_stop): Use it.
5306 * acinclude.m4: Include ../config/acx.m4.
5307 * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL.
5308 * configure, config.in: Regenerate.
5309 * main.c (print_gdb_help): Use REPORT_BUGS_TO for bug-reporting
5311 * top.c (print_gdb_version): Use PKGVERSION and REPORT_BUGS_TO.
5315 Replace 'target async' by 'maintenance set remote-async' and
5316 'target remote' combination.
5318 * remote.c (remote_async_wait): Merge into remote_wait, and
5320 (remote_async_permitted, remote_async_permitted_set): New
5322 (set_maintenance_remote_async_permitted)
5323 (show_maintenance_remote_async_permitted): New functions.
5324 (remote_async_ops, extended_async_remote_ops): Delete.
5325 (remote_async_open, extended_remote_async_open): Delete.
5326 (remote_open_1): Drop async_p parameter. Update callers. Replace
5327 async_p with remote_async_permitted checks.
5328 (extended_async_remote_attach): Delete.
5329 (remote_resume, remote_async_resume): Merge and leave remote_resume.
5330 (remote_async_terminal_inferior): Rename to...
5331 (remote_terminal_inferior): ... this, and add
5332 remote_async_termitted check.
5333 (remote_async_terminal_ours): Rename to...
5334 (remote_terminal_ours): ... this, and add remote_async_termitted
5336 (remote_wait, remote_async_wait): Merge and leave remote_wait
5338 (remote_kill, remote_async_kill): Merge and leave remote_kill
5340 (remote_async_mourn, extended_async_remote_mourn): Delete.
5341 (extended_remote_create_inferior_1): Drop async_p parameter.
5342 Update callers. Always use extended_remote_ops.
5343 (extended_remote_async_create_inferior): Delete.
5344 (remote_return_zero): Delete.
5345 (init_remote_ops): Register remote_can_async_p, remote_async,
5346 remote_async_mask, remote_terminal_inferior and
5347 remote_terminal_ours.
5348 (remote_can_async_p, remote_is_async_p): Check for
5349 remote_async_permitted.
5350 (init_remote_async_ops, init_extended_async_remote_ops): Remove.
5351 (set_remote_cmd): Don't add async and extended-async targets.
5352 (_initialize_remote): Add set/show remote-async maintenance
5357 * remote.c (kill_kludge): Delete.
5358 (remote_wait, remote_async_wait): Don't set it.
5359 (remote_kill, remote_async_kill): Don't do anything with it.
5363 * linux-thread-db.c (thread_db_wait): Don't trim event ptid.
5367 * bcache.c (bcache_data): Call deprecated_bcache_added function.
5368 (deprecated_bcache_added): New function name. Body of function
5369 bcache_data is used here with the addition of 'added' argument.
5370 * bcache.h (deprecated_bcache_added): New function.
5371 * symfile.c (add_psymbol_to_bcache): New helper function, takes part of
5372 work from add_psymbol_to_list - initialises partial symbol and stashes
5373 it in objfile's cache.
5374 (append_psymbol_to_list): New helper function, takes other part of
5375 work from add_psymbol_to_list - adds partial symbol to the given list.
5376 (add_psymbol_to_list): Call helper functions instead of doing work
5377 here. If adding to global list, do not duplicate partial symbols in the
5382 * breakpoint.c (print_exception_catchpoint): Put 'exception' back to
5383 'exception caught|thrown' message.
5387 * Makefile.in: Update dependencies.
5388 * dwarf2expr.c: New include "gdb_assert.h".
5389 (new_dwarf_expr_context): Initialize MAX_RECURSION_DEPTH.
5390 (dwarf_expr_eval): Sanity check the RECURSION_DEPTH count.
5391 (execute_stack_op): Error out on too large RECURSION_DEPTH.
5392 Increase/decrease RECURSION_DEPTH around the function.
5396 * remote.c (get_offsets): Handle a single segment.
5397 * symfile.c (symfile_map_offsets_to_segments): Allow more bases
5402 * solib-svr4.c (struct lm_info): Add lm_addr.
5403 (main_lm_addr): New.
5404 (svr4_default_sos): Set lm_addr.
5405 (svr4_current_sos): Set lm_addr and main_lm_addr.
5406 (svr4_fetch_objfile_link_map): Rewrite.
5407 (svr4_clear_solib): Clear main_lm_addr.
5412 * mips-tdep.c (mips_eabi_return_value): Replace stub that always
5413 returned RETURN_VALUE_STRUCT_CONVENTION with a real function.
5417 * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Fix incorrect test.
5421 * m68k-tdep.c (m68k_analyze_prologue): Fix length of lea insn.
5425 * rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Do not
5426 treat pointers in data space as function descriptors if the
5427 target address is also in the data space.
5431 * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set
5432 the trad-frame register value for the SP register.
5436 * sparcnbsd-tdep.c, sparcobsd-tdep.c: Update for unwinder changes.
5440 * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Improve the heuristic
5441 that identifies function descriptors outside of the .opd section.
5445 * breakpoint.c (print_exception_catchpoint): In CLI add 'Temporary' for
5446 temporary catchpoints. In MI add missing fields 'reason', 'disp',
5448 (print_mention_exception_catchpoint): Add 'Temporary' for temporary
5450 (handle_gnu_v3_exceptions): Use tempflag.
5454 Refactor varobj_update interface.
5455 * varobj.c (varobj_update): Report changes as vector. Also
5456 return not just a list of varobj, but a list of special structures
5457 that tell what exactly has changed.
5458 * varobj.h (enum varobj_update_error): Rename to
5459 varobj_scope_status.
5460 (struct varobj_update_result_t): New.
5461 (varobj_update): Adjust prototype.
5462 * mi/mi-cmd-var.c: Adjust for changes.
5466 * varobj.c (varobj_update): Fix comment typo.
5471 Set the symtab field of symbols read from ECOFF debugging entries.
5472 * mdebugread.c (add_symbol): Add new parameter symtab.
5473 (parse_symbol): Update calls to add_symbol throughout.
5477 * symtab.h (enum address_class): Remove LOC_REGPARM and
5479 (struct symbol): Add is_argument.
5480 (SYMBOL_IS_ARGUMENT): Define.
5482 * ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT.
5483 * buildsym.c (finish_block): Likewise.
5484 * stack.c (print_frame_args, print_block_frame_locals)
5485 (print_frame_arg_vars): Likewise.
5486 * symtab.c (lookup_block_symbol): Likewise.
5487 * tracepoint.c (add_local_symbols): Likewise.
5488 * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
5490 * coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT.
5491 * dwarf2read.c (new_symbol): Likewise.
5492 * mdebugread.c (parse_symbol): Likewise.
5493 * stabsread.c (define_symbol): Likewise.
5495 * ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM
5496 and LOC_COMPUTED_ARG.
5497 * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
5498 * ax-gdb.c (gen_var_ref): Likewise.
5499 * eval.c (evaluate_subexp_for_address): Likewise.
5500 * findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
5501 * m2-exp.y (yylex): Likewise.
5502 * printcmd.c (address_info): Likewise.
5503 * symmisc.c (print_symbol, print_partial_symbols): Likewise.
5504 * tracepoint.c (collect_symbol, scope_info): Likewise.
5508 * gdbarch.sh: Added new gdbarch struct
5509 core_regset_sections.
5510 * gdbarch.c: Refreshed.
5511 * gdbarch.h: Refreshed.
5512 * regset.h (core_regset_section): Declared.
5513 * linux-nat.c (linux_nat_do_thread_registers): Added
5514 support for the new gdbarch struct core_regset_sections.
5515 * utils.c (host_address_to_string): New function.
5516 * defs.h (host_address_to_string): New prototype.
5517 * i386-linux-tdep.c (i386_regset_rections): New register
5518 sections list for i386.
5519 (i386_linux_init_abi): Initialized new gdbarch struct
5520 core_regset_sections.
5521 * Makefile.in: Updated to reflect dependency changes.
5522 * ppc-linux-tdep.c (ppc_regset_sections): Register
5523 sections list for ppc.
5524 (ppc_linux_init_abi): Initialized new gdbarch struct
5525 core_regset_sections
5529 * linespec.c (decode_objc): Save current language around call to
5534 * valprint.h (get_array_bounds): Renames get_array_low_bound.
5535 * valprint.c (get_array_bounds): Renames get_array_low_bound.
5536 Return the proper bound value if the array index type is an
5537 enumerated type. Compute the high bound if requested.
5538 (val_print_array_elements): Handle the case when the array
5539 element has a null size.
5540 * ada-valprint.c (print_optional_low_bound): Add handling
5541 for empty arrays or arrays of zero-size elements.
5542 (ada_val_print_array): New function, extracted out from
5543 ada_val_print_1 case TYPE_CODE_ARRAY, and enhanced to
5544 handle empty arrays and arrays of zero-size elements.
5545 (ada_val_print_1)[case TYPE_CODE_ARRAY]: Replace extracted-out
5546 code by call to ada_val_print_array.
5547 (ada_value_print): Remove handling of null array. The handling
5548 was incomplete and is now better handled by ada_val_print_array.
5552 * annotate.c (annotate_source, annotate_frame_begin): Replace
5553 deprecated_print_address_numeric with paddress.
5554 * cli/cli-cmds.c (list_command, edit_command): Likewise.
5555 * tui/tui-stack.c (tui_make_status_line): Likewise.
5557 * defs.h (deprecated_print_address_numeric): Remove.
5558 * printcmd.c (deprecated_print_address_numeric): Remove.
5559 * maint.c (maint_print_section_info): Fix comment.
5563 * valprint.c (print_hex_chars, print_octal_chars, print_decimal_chars,
5564 print_binary_chars, print_char_chars): Add byte_order parameter and
5565 replace gdbarch_byte_order.
5566 (print_decimal_chars): Replace START_P, NOT_END_P and NEXT_P by their
5567 expressions and remove them. Remove unused TWO_TO_FOURTH.
5568 (val_print_type_code_int): Introduce gdbarch_byte_order to get at the
5569 endianness. Update call to print_hex_chars.
5570 * valprint.h (print_hex_chars, print_octal_chars, print_decimal_chars,
5571 print_binary_chars, print_char_chars): Add byte_order parameter.
5572 * printcmd.c (print_scalar_formatted): Introduce gdbarch_byte_order to
5573 get at the endianness. Update print_*_char calls to use byte_order.
5577 * symtab.h (struct symbol): Make "aux_value" member a void pointer
5579 (SYMBOL_LOCATION_BATON): Update.
5583 * symtab.h (enum address_class): Remove LOC_BASEREG and
5585 (struct symbol): Remove "basereg" member of "aux_value" union.
5586 (SYMBOL_BASEREG): Remove.
5588 * ada-exp.y (select_possible_type_sym): Do not handle LOC_BASEREG
5590 * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
5591 (ada_add_block_symbols): Likewise.
5592 * ax-gdb.c (gen_var_ref): Likewise.
5593 * buildsym.c (finish_block): Likewise.
5594 * findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
5595 * m2-exp.y (yylex): Likewise.
5596 * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
5597 * printcmd.c (address_info): Likewise.
5598 * stack.c (print_frame_args, print_block_frame_locals): Likewise.
5599 (print_frame_arg_vars): Likewise.
5600 * symmisc.c (print_symbol): Likewise.
5601 * symtab.c (lookup_block_symbol): Likewise.
5602 * tracepoint.c (collect_symbol, add_local_symbols): Likewise.
5603 (scope_info): Likewise.
5607 * symtab.h (enum address_class): Remove LOC_LOCAL_ARG.
5609 * ada-exp.y (select_possible_type_sym): Do not handle LOC_LOCAL_ARG.
5610 * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise.
5611 (ada_add_block_symbols): Likewise.
5612 * ax-gdb.c (gen_var_ref): Likewise.
5613 * buildsyms.c (finish_block): Likewise.
5614 * findvar.c (symbol_read_needs_frame, read_var_value): Likewise.
5615 * m2-exp.y (yylex): Likewise.
5616 * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
5617 * printcmd.c (address_info): Likewise.
5618 * stack.c (print_frame_args, print_frame_arg_vars): Likewise.
5619 * symmisc.c (print_symbol, print_partial_symbols): Likewise.
5620 * symtab.c (lookup_block_symbol): Likewise.
5621 * tracepoint.c (collect_symbol, add_local_symbols): Likewise.
5622 (scope_info): Likewise.
5626 * symtab.h (enum address_class): Remove LOC_INDIRECT and
5627 LOC_HP_THREAD_LOCAL_STATIC.
5629 * findvar.c (symbol_read_needs_frame, read_var_value): Do not
5630 handle LOC_INDIRECT or LOC_HP_THREAD_LOCAL_STATIC.
5631 (read_var_value): Likewise.
5632 * buildsym.c (finish_block): Likewise.
5633 * objfiles.c (objfile_relocate): Likewise.
5634 * printcmd.c (address_info): Likewise.
5635 * symmisc.c (print_symbol, print_partial_symbols): Likewise.
5636 * tracepoint.c (scope_info): Likewise.
5641 * xtensa-tdep.c (xtensa_read_register): Remove.
5642 (xtensa_frame_cache): Get rid of xtensa_read_register. Pass extra
5643 argument litbase to call0_frame_cache().
5644 (call0_track_op, call0_analyze_prologue)
5645 (call0_frame_cache): Use extra argument litbase.
5649 * infcmd.c (_initialize_infcmd): Add new "fin" alias for "finish".
5653 * frame.h (SIZEOF_FRAME_SAVED_REGS): Remove.
5657 * alpha-mdebug-tdep.c: Include "trad-frame.h".
5658 (struct alpha_mdebug_unwind_cache): Change type of SAVED_REGS to
5659 struct trad_frame_saved_reg *.
5660 (alpha_mdebug_frame_unwind_cache): Allocate SAVED_REGS using
5661 trad_frame_alloc_saved_regs. Update accesses. Record previous
5662 value of SP as being vfp.
5663 (alpha_mdebug_frame_prev_register): Use trad_frame_get_prev_register.
5664 * Makefile.in (alpha-mdebug-tdep.o): Update dependencies.
5668 * score-tdep.c (score_print_insn): Get the current endianess from
5669 disassemble_info instead of gdbarch_byte_order.
5673 * frame.c (get_prev_frame_1): Build frame id before setting
5674 this_frame->prev_p, not after.
5678 * annotate.c (annotate_new_thread): New function for new-thread
5680 * annotate.h: (annotate_new_thread): New extern.
5681 * thread.c (add_thread_with_info): Use it.
5682 * Makefile.in (thread.o): Add dependency on annotate.h.
5686 * win32-nat.c (win32_wait): Block the control-c event while
5687 waiting for a debug event.
5691 * symtab.h (lookup_symbol_in_language): Update comment.
5692 * symtab.c (lookup_symbol_aux_block): Update comment.
5693 * ada-lang.c (ada_lookup_symbol_list): Update comment.
5697 * symtab.h (lookup_symbol_in_language): Remove SYMTAB parameter.
5698 (lookup_symbol): Likewise.
5699 * symtab.c (lookup_symbol_in_language): Remove SYMTAB parameter.
5700 (lookup_symbol): Likewise.
5701 (search_symbols): Update.
5703 * linespec.c (find_methods, collect_methods): Update.
5704 (add_matching_methods, add_constructors): Update.
5705 (decode_compound, decode_dollar, decode_variable): Update.
5706 (lookup_prefix_sym): Update.
5708 (symbol_found): Remove SYM_SYMTAB parameter.
5709 Use SYMBOL_SYMTAB (sym) instead.
5711 * gdbtypes.c (lookup_typename): Update.
5712 (lookup_struct, lookup_union, lookup_enum): Update.
5713 (lookup_template_type): Update.
5714 (check_typedef): Update.
5715 * language.c (lang_bool_type): Update.
5716 * mdebugread.c (parse_procedure): Update.
5717 * mi/mi-cmd-stack.c (list_args_or_locals): Update.
5718 * parse.c (write_dollar_variable): Update.
5719 * printcmd.c (address_info): Update.
5720 * source.c (select_source_symtab): Update.
5721 * stack.c (print_frame_args, print_frame_arg_vars): Update.
5722 * valops.c (find_function_in_inferior): Update.
5723 (value_struct_elt_for_reference): Update.
5724 * value.c (value_static_field, value_fn_field): Update.
5726 * alpha-mdebug-tdep.c (find_proc_desc): Update.
5727 * arm-tdep.c (arm_skip_prologue): Update.
5728 * mt-tdep.c (mt_skip_prologue): Update.
5729 * xstormy16-tdep.c (xstormy16_skip_prologue): Update.
5731 * ada-lang.h (struct ada_symbol_info): Remove SYMTAB member.
5732 * ada-lang.c (ada_add_block_symbols): Remove SYMTAB parameter.
5733 (add_defn_to_vec): Likewise.
5734 (ada_add_block_symbols): Likewise.
5735 (lookup_cached_symbol, cache_symbol): Likewise.
5736 (standard_lookup): Update.
5737 (ada_lookup_symbol_list): Update.
5739 * c-valprint.c (c_val_print): Update.
5740 * cp-support.c (cp_lookup_rtti_type): Update.
5741 * jv-lang.c (java_lookup_class, get_java_object_type): Update.
5742 * objc-lang.c (lookup_struct_typedef, find_imps): Update.
5743 * p-valprint.c (pascal_val_print): Update.
5744 * scm-lang.c (scm_lookup_name): Update.
5750 * objc-exp.y: Update.
5755 * language.h (struct language_defn): Remove SYMTAB parameter from
5756 la_lookup_symbol_nonlocal callback function pointer.
5758 * ada-lang.h (ada_lookup_encoded_symbol): Remove SYMTAB parameter.
5759 (ada_lookup_encoded_symbol): Likewise.
5760 * ada-lang.c (ada_lookup_encoded_symbol): Remove SYMTAB parameter.
5761 Always call fixup_symbol_section.
5762 (ada_lookup_symbol): Remove SYMTAB parameter.
5763 (ada_lookup_symbol_nonlocal): Likewise.
5764 * ada-exp.y (write_object_renaming): Update.
5765 (find_primitive_type): Likewise.
5767 * cp-support.h (cp_lookup_symbol_nonlocal): Remove SYMTAB parameter.
5768 (cp_lookup_symbol_namespace): Likewise.
5769 * cp-namespace.c (lookup_namespace_scope): Remove SYMTAB parameter.
5770 (lookup_symbol_file): Likewise.
5771 (lookup_possible_namespace_symbol): Likewise.
5772 (cp_lookup_symbol_nonlocal): Likewise.
5773 (cp_lookup_symbol_namespace): Likewise.
5774 (cp_lookup_nested_type): Update.
5776 * scm-valprint.c (scm_inferior_print): Update.
5777 * valops.c (value_maybe_namespace_elt): Update.
5779 * solist.h (struct target_so_ops): Remove SYMTAB parameter from
5780 lookup_lib_global_symbol callback function pointer.
5781 (solib_global_lookup): Remove SYMTAB parameter.
5782 * solib.c (solib_global_lookup): Remove SYMTAB parameter.
5783 * solib-svr4.c (elf_lookup_lib_symbol): Likewise.
5785 * symtab.h (basic_lookup_symbol_nonlocal): Remove SYMTAB parameter.
5786 (lookup_symbol_static): Likewise.
5787 (lookup_symbol_global): Likewise.
5788 (lookup_symbol_aux_block): Likewise.
5789 (lookup_global_symbol_from_objfile): Likewise.
5790 * symtab.c (lookup_symbol_aux): Remove SYMTAB parameter.
5791 (lookup_symbol_aux_local): Likewise.
5792 (lookup_symbol_aux_block): Likewise.
5793 (lookup_symbol_aux_symtabs): Likewise.
5794 (lookup_symbol_aux_psymtabs): Likewise.
5795 (lookup_global_symbol_from_objfile): Likewise.
5796 (basic_lookup_symbol_nonlocal): Likewise.
5797 (lookup_symbol_static): Likewise.
5798 (lookup_symbol_global): Likewise.
5800 (lookup_symbol_in_language): Do not pass SYMTAB to lookup_symbol_aux.
5804 * remote.c (init_extended_remote_ops): Fix typo.
5808 * NEWS: Mention new DICOS x86 target configuration.
5813 * minsyms.c (lookup_minimal_symbol_by_pc_name): New function.
5814 * symtab.h (lookup_minimal_symbol_by_pc_name): Add prototype.
5816 * symtab.c (fixup_section): Remove prototype. Add ADDR parameter;
5817 use it instead of ginfo->value.address. Look up minimal symbol by
5818 address and name. Assume OBJFILE is non-NULL.
5819 (fixup_symbol_section): Ensure we always have an objfile to look
5820 into. Extract and pass to fixup_section the symbol's address that
5821 will match the minimal symbol's address.
5822 (fixup_psymbol_section): Likewise.
5824 (find_pc_sect_psymtab): Fall back to non-addrmap case when debugging
5825 overlays and the addrmap returned the wrong section.
5827 * dwarf2read.c (var_decode_location): Set SYMBOL_CLASS before
5828 calling fixup_symbol_section.
5832 * minsyms.c: Include "target.h".
5833 (find_solib_trampoline_target): Handle minimal symbols pointing
5834 to function descriptors as well.
5835 * Makefile.in (minsyms.o): Update dependencies.
5837 * ppc-linux-tdep.c (ppc64_standard_linkage): Rename to ...
5838 (ppc64_standard_linkage1): ... this. Fix optional instructions.
5839 (PPC64_STANDARD_LINKAGE_LEN): Rename to ...
5840 (PPC64_STANDARD_LINKAGE1_LEN): ... this.
5841 (ppc64_standard_linkage2, ppc64_standard_linkage3): New.
5842 (PPC64_STANDARD_LINKAGE2_LEN, PPC64_STANDARD_LINKAGE3_LEN): New.
5843 (ppc64_standard_linkage_target): Rename to ...
5844 (ppc64_standard_linkage1_target): ... this.
5845 (ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): New.
5846 (ppc64_skip_trampoline_code): Support three variants of standard
5847 linkage stubs. Call find_solib_trampoline_target to handle
5852 * ppc-linux-tdep.c (ppc_linux_init_abi): Do not install
5853 ppc64_sysv_abi_adjust_breakpoint_address.
5854 * ppc-sysv-tdep.c (ppc64_sysv_abi_adjust_breakpoint_address): Remove.
5855 * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Remove.
5859 * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Remove.
5860 (ppc_linux_init_abi): Install find_solib_trampoline_target instead
5861 of ppc_linux_skip_trampoline_code.
5865 * gdbarch.sh: Delete dwarf_reg_to_regnum.
5866 * gdbarch.c, gdbarch.h: Regenerated.
5867 * amd64-tdep.c, arm-tdep.c, h8300-tdep.c, hppa-linux-tdep.c,
5868 hppa-tdep.c, i386-tdep.c, m32c-tdep.c, m68k-tdep.c, mips-tdep.c,
5869 s390-tdep.c, xtensa-tdep.c: Do not set dwarf_reg_to_regnum.
5873 * linux-nat.c (trap_ptid): Delete.
5874 (linux_nat_detach, linux_nat_wait, linux_nat_mourn_inferior):
5876 * linux-thread-db.c (thread_db_wait): Adjust.
5880 * linespec.c (decode_line_1): Fix a couple of comments.
5884 * dbxread.c: Formatting.
5885 (INTERNALIZE_SYMBOL): Init n_other.
5886 (set_namestring): Take pointer to nlist arg rather than struct
5887 copy. Update all callers.
5891 * Makefile.in (dwarf2loc.o): Remove $(addrmap_h).
5892 (dwarf2read.o): Add $(addrmap_h).
5896 * ppc-linux-tdep.c (ppc_linux_convert_from_func_ptr_addr): Rename ...
5897 (ppc64_linux_convert_from_func_ptr_addr): ... to this. No longer try
5898 to handle ppc32 PLT entries.
5899 (ppc_linux_init_abi): Install ppc64_linux_convert_from_func_ptr_addr
5904 * elfread.c (elf_symtab_read): Create trampolines for @plt symbols.
5905 * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Renamed from
5906 lookup_minimal_symbol_by_pc_section. Prefer trampolines if requested.
5907 (lookup_minimal_symbol_by_pc_section): Use
5908 lookup_minimal_symbol_by_pc_section_1.
5909 (lookup_solib_trampoline_symbol_by_pc): Likewise.
5913 * findcmd.c: Add #include "gdb_stdint.h".
5914 * Makefile.in (findcmd.o): Update dependencies.
5918 * sparc-linux-tdep.c (sparc32_linux_init_abi): Remove
5919 long double size override, Linux does use 128-bit now.
5921 * sparc-linux-tdep.c (PSR_SYSCALL): Define.
5922 (sparc_linux_write_pc): New function.
5923 (sparc32_linux_init_abi): Register it.
5924 * sparc64-linux-tdep.c (TSTATE_SYSCALL): Define.
5925 (sparc64_linux_write_pc): New function.
5926 (sparc64_linux_init_abi): Register it.
5928 * sparc-linux-tdep.c, sparc64-linux-tdep.c: Use
5929 dwarf2_append_unwinders(), not dwarf2_frame_sniffer.
5933 * rs6000-tdep.c (rs6000_gdbarch_init): Set up info.target_desc
5934 and info.tdep_info before calling gdbarch_init_osabi.
5938 * ada-lang.c (ada_evaluate_subexp) [BINOP_ASSIGN]: Do not force
5939 the type of the right hand side of the assignment to the type
5940 of the left hand side if the left hand side is a convenience
5945 * NEWS: Mention gdbserver bi-arch capability.
5950 * NEWS: Document find command and qSearch:memory packet.
5951 * Makefile.in (SFILES): Add findcmd.c.
5952 (COMMON_OBJS): Add findcmd.o.
5953 (findcmd.o): New rule.
5954 * findcmd.c: New file.
5955 * target.h (target_ops): New member to_search_memory.
5956 (simple_search_memory): Declare.
5957 (target_search_memory): Declare.
5958 * target.c (simple_search_memory): New fn.
5959 (target_search_memory): New fn.
5960 * remote.c (PACKET_qSearch_memory): New packet kind.
5961 (remote_search_memory): New fn.
5962 (init_remote_ops): Init to_search_memory.
5963 (init_extended_remote_ops): Ditto.
5964 (_initialize_remote): Add qSearch:memory packet config command.
5968 * thread.c (_initialize_thread): Don't use commas and periods in
5969 first line of doc string of "set/show print thread-events".
5973 * alpha-mdebug-tdep.c, alpha-osf1-tdep.c, alpha-tdep.c:
5974 Update for unwinder changes.
5978 * frame.c (get_frame_base_address, get_frame_locals_address)
5979 (get_frame_args_address): Pass the correct frame when calling
5980 frame_base_find_by_frame.
5984 * remote.c (extended_remote_attach_1): Call target_find_description.
5988 * remote.c (extended_remote_create_inferior_1): Clean up
5989 before marking the target running.
5993 * hppa-tdep.h, hppa-tdep.c, hppa-hpux-tdep.c: Update for unwinder
5998 * sparc-tdep.c, sparc-tdep.h, sparc-sol2-tdep.c, sparc64-tdep.c,
5999 sparc64-sol2-tdep.c: Update for unwinder changes.
6003 * cp-support.c (mangled_name_to_comp): Initialize storage.
6004 (unqualified_name_from_comp): Likewise.
6008 * remote.c (remote_insert_breakpoint): Call get_remote_state
6009 after gdbarch_breakpoint_from_pc is called.
6010 (remote_insert_hw_breakpoint): Likewise.
6014 * valprint.c (val_print): Add new language parameter and use it
6015 instead of using the current_language. Update calls to val_print
6017 (common_val_print): Add new langauge parameter and pass it to
6019 * value.h (struct language_defn): Add opaque declaration.
6020 (val_print, common_val_print): Update declarations.
6021 * stack.c (print_frame_args): Update call to common_val_print
6022 using the appropriate language.
6023 * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
6024 * c-valprint, f-valprint.c, m2-valprint.c, mt-tdep.c, infcmd.c,
6025 mi/mi-main.c, jv-valprint.c, ada-valprint.c, varobj.c, p-valprint.c,
6026 scm-valprint.c, cp-valprint.c, sh64-tdep.c, printcmd.c:
6027 #include "language.h" if necessary.
6028 Update calls to val_print and common_val_print.
6029 * Makefile.in (mt-tdep.o, sh64-tdep.o, mi-cmds.o, mi-main.o):
6030 Update dependencies.
6034 * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Treat addresses
6035 pointing inside a non-executable section as function descriptors.
6039 * inf-loop.c (inferior_event_handler): Run all continuations and
6040 print any language change before running the breakpoint commands.
6044 * frame-unwind.c (frame_unwind_got_bytes): New function.
6045 * frame-unwind.h (frame_unwind_got_bytes): Add declaration.
6046 * libunwind-frame.h, libunwind-frame.c, ia64-tdep.c: Update
6047 for unwinder changes.
6051 * NEWS: Mention new /m modifier for disassemble command.
6052 * cli/cli-cmds.c (print_disassembly): New function.
6053 (disassemble_current_function): New function
6054 (disassemble_command): Recognize /m modifier, print mixed
6056 (init_cli_cmds): Update disassemble help text.
6060 * xtensa-tdep.c: Update for unwinder changes.
6064 Update m68k port for unwinder changes.
6065 * m68k-tdep.c (m68k_frame_cache): Expect this_frame.
6066 (m68k_frame_this_id, m68k_frame_prev_register): Update signature.
6067 (m68k_frame_unwind): Use default_frame_sniffer.
6068 (m68k_frame_sniffer): Remove.
6069 (m68k_frame_base_address): Expect this_frame.
6070 (m68k_dummy_id): Renamed from m68k_unwind_dummy_id. Expect
6072 (m68k_gdbarch_init): Use set_gdbarch_dummy_id,
6073 dwarf2_append_unwinders, and frame_unwind_append_unwinder.
6074 * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Expect frame_info
6075 parameter instead of pc value.
6076 (m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache):
6078 (m68k_linux_sigtramp_frame_this_id)
6079 (m68k_linux_sigtramp_frame_prev_register)
6080 (m68k_linux_sigtramp_frame_sniffer): Update signature.
6081 (m68k_linux_sigtramp_frame_unwind): Use
6082 m68k_linux_sigtramp_frame_sniffer.
6083 (m68k_linux_init_abi): Use frame_unwind_append_unwinder.
6085 * m68klinux-nat.c (store_register): Fix typo.
6089 * infcmd.c (step_1): Put thread id on the stack to avoid possible
6094 * symfile.c (reread_symbols): Update objfile's entry point.
6099 * ada-lang.c: Update throughout to use symbol_matches_domain
6100 instead of matching the symbol domain explictly.
6101 * dwarf2read.c (add_partial_symbol): Do not add new psym for
6102 STRUCT_DOMAIN. Make sure you recognize c++ struct and java and ada
6103 class as typedefs. See lookup_partial_symbol function.
6104 (new_symbol): Similar to add_partial_symbol, do not create
6105 symbol for the typedef. See lookup_block_symbol.
6106 * symtab.c (symbol_matches_domain): New function, takes care
6107 of dual meaning of STRUCT_DOMAIN symbol for c++, ada and java.
6108 (lookup_partial_symbol): Use symbol_matches_domain to see if the
6109 found psym domain matches the given domain.
6110 (lookup_block_symbol): Likewise.
6114 * top.c (command_line_handler_continuation): Remove.
6115 (execute_command): Do not install the above.
6119 * inf-loop.c (inferior_event_handler): Call bpstat_do_action,
6120 and catch all exceptions from it.
6121 * top.c (command_line_handler_continuation): Don't
6122 call bpstat_do_action here.
6126 * dwarf2read.c (struct dwarf2_cu): Add type_hash.
6127 (struct die_info): Remove type.
6128 (read_type_die, read_typedef, read_base_type, read_subrange_type)
6129 (read_structure_type, read_enumeration_type, read_array_type)
6130 (read_tag_pointer_type, read_tag_ptr_to_member_type)
6131 (read_tag_reference_type, read_tag_const_type, read_tag_volatile_type)
6132 (read_tag_string_type, read_subroutine_type, read_set_type)
6133 (read_unspecified_type): Delete prototypes. Remove check for
6134 already-loaded type. Return the new type.
6135 (set_die_type): Return the new type.
6136 (reset_die_and_siblings_types): Delete.
6137 (load_comp_unit, load_full_comp_unit): Set type_hash.
6138 (process_queue): Remove call to reset_die_and_siblings_types.
6139 (process_die): Do not read most types here. Use read_type_die
6141 (read_func_scope, dwarf2_add_member_fn): Use read_type_die.
6142 (quirk_gcc_member_function_pointer): Return the new type.
6143 (process_structure_scope, process_enumeration_scope): Use
6144 get_die_type and read the DIE's type.
6145 (read_full_die): Do not initialize die->type.
6146 (tag_type_to_type): Use read_type_die.
6147 (read_type_die): Check for already defined types. Return the
6149 (determine_prefix): Use get_die_type.
6150 (set_die_type): Return the type.
6151 (get_die_type): Take a CU argument. Check for no type_hash.
6155 * dwarf2read.c (dwarf2_ranges_read, read_partial_die): Initialize
6160 * breakpoint.c (update_breakpoints_after_exec): Delete bp_longjmp
6161 and bp_longjmp_resume breakpoints.
6162 (breakpoint_address_is_meaningful): Claim bp_longjmp_resume as
6164 (create_longjmp_breakpoint): Don't create bp_longjmp_resume
6165 breakpoints. Create bp_longjmp breakpoints as momentary
6167 (enable_longjmp_breakpoint): Delete.
6168 (set_longjmp_breakpoint): New.
6169 (disable_longjmp_breakpoint): Delete.
6170 (delete_longjmp_breakpoint): New.
6171 (set_longjmp_resume_breakpoint): Delete.
6172 (set_momentary_breakpoint_at_pc): New.
6173 (breakpoint_re_set_one): Don't delete bp_longjmp and
6174 bp_longjmp_resume breakpoints.
6175 (breakpoint_re_set): Don't create longjmp and longjmp-resume
6178 * infrun.c (step_resume_breakpoint): Add comment.
6179 (struct execution_control_state): Delete handling_longjmp member.
6180 (init_execution_control_state). Don't clear handling_longjmp.
6181 (context_switch): Don't context switch handling_longjmp.
6182 (handle_inferior_event): If handling a bp_longjmp breakpoint,
6183 create a bp_longjmp_resume breakpoint, and set it as current
6184 step_resume_breakpoint, then step over the longjmp breakpoint. If
6185 handling a bp_longjmp_resume breakpoint, don't delete the longjmp
6186 breakpoint, delete the longjmp-resume breakpoint, and stop
6188 (currently_stepping): Remove handling_longjmp from expression.
6189 (insert_step_resume_breakpoint_at_sal): Update comment.
6190 (insert_longjmp_resume_breakpoint): New.
6192 * breakpoint.h (set_momentary_breakpoint_at_pc): Declare.
6193 (enable_longjmp_breakpoint, disable_longjmp_breakpoint): Delete
6195 (set_longjmp_breakpoint, delete_longjmp_breakpoint): Declare.
6196 (set_longjmp_resume_breakpoint): Delete declaration.
6198 * gdbthread.h (save_infrun_state): Remove handling_longjmp
6200 (load_infrun_state): Delete *handling_longjmp parameter.
6201 * thread.c (save_infrun_state): Remove handling_longjmp parameter.
6203 (load_infrun_state): Delete *handling_longjmp parameter. Update
6206 * infcmd.c (disable_longjmp_breakpoint_cleanup): Delete.
6207 (delete_longjmp_breakpoint_cleanup): New.
6208 (step_1): Call set_longjmp_breakpoint instead of
6209 enable_longjmp_breakpoint. Use delete_longjmp_breakpoint_cleanup
6210 instead of disable_longjmp_breakpoint_cleanup when making cleanup.
6211 (step_1_continuation): Pass thread id in the continuation args to
6213 (step_once): Add thread parameter. Pass thread id the the
6218 Set CU BASE_ADDRESS already from partial DIEs.
6219 * dwarf2read.c (read_partial_die): New variables BASE_ADDRESS and
6220 BASE_ADDRESS_TYPE. Set these variables from DW_AT_LOW_PC and
6221 DW_AT_ENTRY_PC. Set CU->HEADER.BASE_KNOWN and CU->HEADER.BASE_ADDRESS
6222 from these variables if it was still unset.
6224 * Makefile.in: Update dependencies.
6225 * dwarf2read.c: Include "addrmap.h"
6226 (struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET.
6227 (dwarf2_ranges_read): New prototype.
6228 (dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP.
6229 Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on
6230 HAS_RANGES_OFFSET, otherwise add there the contiguous range.
6231 (dwarf2_ranges_read): New parameter RANGES_PST, update the function
6232 comment for it. Add the found ranges to RANGES_PST. New variable
6233 BASEADDR, initialize it the common way.
6234 (dwarf2_get_pc_bounds): Update the caller for the new parameter.
6235 (read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and
6236 HAS_RANGES_OFFSET for the later processing.
6237 * objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP.
6238 * symtab.c: Include "addrmap.h"
6239 (find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP.
6240 Move the psymtab locator into ...
6241 (find_pc_sect_psymtab_closer): ... a new function.
6245 * arch-utils.c (gdbarch_update_p): Use default values for
6246 info.abfd and info.target_desc if they are NULL.
6247 (gdbarch_from_bfd): Remove assertion.
6248 (set_gdbarch_from_file): Call gdbarch_find_by_info directly,
6249 using the current target description.
6250 (gdbarch_info_fill): Do not use default values for info->abfd
6251 and info->target_desc.
6255 * symfile.c (reread_symbols): Reload EXEC_BFD on its change.
6259 * inferior.h (read_pc_pid, write_pc_pid): Remove.
6260 * regcache.h (regcache_read_pc, regcache_write_pc): Add prototypes.
6262 * regcache.c (read_pc_pid): Remove, replace by ...
6263 (regcache_read_pc): ... this function.
6264 (write_pc_pid): Remove, replace by ...
6265 (regcache_write_pc): ... this function.
6266 (read_pc, write_pc): Update.
6268 * infrun.c (displaced_step_prepare): Replace read_pc_pid and
6269 write_pc_pid by regcache_read_pc and regcache_write_pc.
6270 (displaced_step_fixup): Likewise.
6271 (resume): Likewise. Use regcache arch instead of current_gdbarch.
6272 (prepare_to_proceed): Likewise.
6273 (proceed): Likewise.
6274 (adjust_pc_after_break): Likewise.
6275 (handle_inferior_event): Likewise.
6277 * linux-nat.c (cancel_breakpoint): Likewise.
6278 * linux-thread-db.c (check_event): Likewise.
6279 * aix-thread.c (aix_thread_wait): Likewise.
6280 * tracepoint.c (trace_dump_command): Likewise.
6284 * dwarf2loc.c (dwarf_expr_frame_base): Error out on missing
6285 SYMBOL_LOCATION_BATON.
6289 * target.h (struct target_ops): New field to_auxv_parse.
6290 * auxv.c (default_auxv_parse): New, renamed from previous
6292 (target_auxv_parse): Try to call target method. Fallback to
6293 default_auxv_parse if not found.
6294 * procfs.c (procfs_auxv_parse): New.
6295 (init_procfs_ops): On Solaris, in 64-bit mode, install
6300 * symfile.c (add_symbol_file_command): Use paddress rather than
6301 hex_string to print the address.
6305 * rs6000-tdep.c (rs6000_frame_this_id): If info->base is 0,
6306 return the null frame ID to terminate the backtrace.
6310 * rs6000-tdep.c: Do not include "rs6000-tdep.h".
6311 (rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c.
6312 (SIG_FRAME_PC_OFFSET): Likewise.
6313 (SIG_FRAME_LR_OFFSET): Likewise.
6314 (SIG_FRAME_FP_OFFSET): Likewise.
6315 (rs6000_push_dummy_call): Likewise.
6316 (rs6000_return_value): Likewise.
6317 (rs6000_convert_from_func_ptr_addr): Likewise.
6318 (branch_dest, rs6000_software_single_step): Likewise.
6319 (deal_with_atomic_sequence): Rename to ...
6320 (ppc_deal_with_atomic_sequence): ... this. Adapt all callers.
6321 Do not call branch_dest; inline required parts of that function.
6322 (rs6000_skip_trampoline_code): Replace DEPRECATED_SYMBOL_NAME
6323 with SYMBOL_LINKAGE_NAME.
6324 (struct reg, regsize): Delete.
6325 (read_memory_addr): Delete; inline into callers.
6326 (rs6000_skip_prologue): Move after skip_prologue.
6327 (skip_prologue): Remove prototype.
6328 (rs6000_gdbarch_init): Remove sysv_abi variable; perform all
6329 initialization as if this variable were true. Do not install
6330 ppc64_sysv_abi_adjust_breakpoint_address.
6332 * rs6000-aix-tdep.c: Include "gdb_assert.h", "gdbtypes.h",
6333 "gdbcore.h", "target.h", "value.h", "infcall.h", "objfiles.h",
6335 (rs6000_find_toc_address_hook): Move here from rs6000-tdep.c.
6336 (SIG_FRAME_PC_OFFSET): Likewise.
6337 (SIG_FRAME_LR_OFFSET): Likewise.
6338 (SIG_FRAME_FP_OFFSET): Likewise.
6339 (rs6000_push_dummy_call): Likewise.
6340 (rs6000_return_value): Likewise.
6341 (rs6000_convert_from_func_ptr_addr): Likewise.
6342 (branch_dest, rs6000_software_single_step): Likewise. Replace
6343 tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE.
6344 (rs6000_aix_init_osabi): Install rs6000_push_dummy_call,
6345 rs6000_return_value, and rs6000_convert_from_func_ptr_addr.
6346 Call set_gdbarch_long_double_bit and set_gdbarch_frame_red_zone_size.
6347 Set tdep->lr_frame_offset. Do not set tdep->text_segment_base.
6349 * rs6000-tdep.h (rs6000_software_single_step): Remove prototype.
6350 (AIX_TEXT_SEGMENT_BASE): New macro.
6351 * rs6000-nat.c (exec_one_dummy_insn): Replace tdep->text_segment_base
6352 by AIX_TEXT_SEGMENT_BASE.
6354 * ppc-tdep.h (ppc_deal_with_atomic_sequence): Add prototype.
6355 (struct gdbarch_tdep): Remove text_segment_base member.
6356 * ppc-linux-tdep.c (ppc_linux_init_abi): On 64-bit, install
6357 ppc64_sysv_abi_adjust_breakpoint_address.
6359 * Makefile.in (rs6000-tdep.o): Update dependencies.
6360 (rs6000-aix-tdep.o): Likewise.
6365 * cli/cli-decode.c (lookup_cmd_1): Fix indentation.
6366 * doublest.c (convert_typed_floating): Fix typo in comment.
6367 * dwarf2-frame.c (dwarf2_frame_cache): Likewise.
6368 * frame-unwind.h (frame_sniffer_ftype): Likewise.
6369 * frame.c (frame_unwind_address_in_block): Likewise.
6370 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise.
6371 * symtab.h (struct symbol): Likewise.
6372 * tramp-frame.h (struct trad_frame_cache): Likewise.
6373 * value.c (allocate_repeat_value): Likewise.
6377 * infrun.c (handle_inferior_event): Do not insert breakpoints at
6378 TARGET_WAITKIND_LOADED events during startup (i.e. in the shell).
6382 * parse.c (parse_exp_in_context): Don't override
6383 expression_context_pc if get_selected_block returned a valid
6388 * alpha-tdep.h (ALPHA_REGISTER_BYTES): Delete.
6389 * arm-tdep.h (STATUS_REGISTER_SIZE): Delete.
6390 * breakpoint.c (args_for_catchpoint_enable, current_exception_event):
6392 * c-typeprint.c (c_type_print_base): Delete handling of template
6394 * cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET)
6395 (METHOD_PTR_TO_VOFFSET): Delete.
6396 * defs.h (QUIT_FIXME): Delete.
6397 * f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77)
6398 (DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete.
6399 * gdbtypes.h (struct cplus_struct_type): Delete is_inlined,
6400 ninstantiations, and instantiations.
6401 (TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION)
6402 (TYPE_FN_FIELD_INLINED): Delete.
6403 * srec.h (SREC_BINARY): Delete.
6404 * symtab.c (symbol_init_demangled_name): Delete.
6405 * symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name)
6406 (SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND)
6407 (CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE)
6408 (CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC)
6409 (CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE)
6410 (CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete.
6411 * target.h (enum thread_control_capabilities): Delete tc_switch.
6412 (target_can_switch_threads): Delete.
6416 * Makefile.in (objfiles.o): Update.
6417 * exec.c (exec_set_section_address): Support p->addr != 0.
6418 * objfiles.c (objfile_relocate): Update exec_ops section
6420 * symfile.c (place_section): Move exec_set_section_address call...
6421 (default_symfile_offsets): ...to here.
6425 * Makefile.in (ppc_linux_tdep_h): New macro.
6426 (powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise.
6427 (powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise.
6428 (powerpc_e500l_c): Likewise.
6429 (ppc-linux-nat.o): Update dependencies.
6430 (ppc-linux-tdep.o): Update dependencies.
6431 (rs6000-tdep.o): Update dependencies.
6433 * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove.
6434 (ppc_linux_svr4_fetch_link_map_offsets): Remove.
6435 (ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h
6436 (ppc_supply_reg, ppc_collect_reg): Add prototypes.
6437 (tdesc_powerpc_e500): Remove.
6439 * rs6000.c: Include "features/rs6000/powerpc-altivec32.c"
6440 and "features/rs6000/powerpc-altivec64.c".
6441 (ppc_supply_reg, ppc_collect_reg): Make global.
6442 (variants): Use tdesc_powerpc_32 for "powerpc" and
6443 tdesc_powerpc_altivec64 for "powerpc64".
6444 (_initialize_rs6000_tdep): Initialize AltiVec descriptions.
6446 * ppc-linux-tdep.h: New file.
6448 * ppc-linux-tdep.c: Include "ppc-linux-tdep.c".
6449 Include "features/rs6000/powerpc-32l.c".
6450 Include "features/rs6000/powerpc-altivec32l.c".
6451 Include "features/rs6000/powerpc-64l.c".
6452 Include "features/rs6000/powerpc-altivec64l.c".
6453 Include "features/rs6000/powerpc-e500l.c".
6454 (ppc_linux_supply_gregset): New function.
6455 (ppc_linux_collect_gregset): Handle orig_r3 and trap registers.
6456 (ppc32_linux_gregset): Use ppc_linux_supply_gregset.
6457 (ppc64_linux_gregset): Likewise.
6458 (ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers.
6459 (ppc_linux_trap_reg_p): New function.
6460 (ppc_linux_write_pc): New function.
6461 (ppc_linux_core_read_description): New function.
6462 (ppc_linux_init_abi): Install ppc_linux_write_pc and
6463 ppc_linux_core_read_description. Install orig_r3 and trap
6464 registers if present in the target description.
6465 (_initialize_ppc_linux_tdep): Initialize Linux target descriptions.
6467 * ppc-linux-nat.c: Include "ppc-linux-tdep.h".
6468 (PT_ORIG_R3, PT_TRAP): Define if necessary.
6469 (ppc_register_u_addr): Handle orig_r3 and trap registers.
6470 (fetch_ppc_registers): Likewise.
6471 (store_ppc_registers): Likewise.
6472 (store_register): Likewise.
6473 (ppc_linux_read_description): Check whether AltiVec is supported.
6474 Check whether inferior is 32-bit or 64-bit. Return the appropriate
6475 Linux target description.
6477 * features/Makefile (WHICH): Use rs6000/powerpc-32l and
6478 rs6000/powerpc-altivec32l instead of rs6000/powerpc-32.
6479 Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead
6480 of rs6000/powerpc-64. Use rs6000/powerpc-e500l instead of
6481 rs6000/powerpc-e500. Update -expedite variables accordingly.
6483 * features/rs6000/power-spe.xml: Use regnum 73 for "acc".
6484 * features/rs6000/powerpc-32.xml: Do not include power-altivec.xml.
6485 * features/rs6000/powerpc-64.xml: Do not include power-altivec.xml.
6486 * features/rs6000/powerpc-e500.c: Regenerate.
6487 * features/rs6000/powerpc-32.c: Regenerate.
6488 * features/rs6000/powerpc-64.c: Regenerate.
6490 * features/rs6000/power-linux.xml: New file.
6491 * features/rs6000/power64-linux.xml: New file.
6492 * features/rs6000/powerpc-32l.xml: New file.
6493 * features/rs6000/powerpc-altivec32l.xml: New file.
6494 * features/rs6000/powerpc-64l.xml: New file.
6495 * features/rs6000/powerpc-altivec64l.xml: New file.
6496 * features/rs6000/powerpc-e500l.xml: New file.
6497 * features/rs6000/powerpc-32l.c: New (generated) file.
6498 * features/rs6000/powerpc-altivec32l.c: New (generated) file.
6499 * features/rs6000/powerpc-64l.c: New (generated) file.
6500 * features/rs6000/powerpc-altivec64l.c: New (generated) file.
6501 * features/rs6000/powerpc-e500l.xml: New (generated) file.
6503 * regformats/reg-ppc.dat: Remove.
6504 * regformats/reg-ppc64.dat: Remove.
6505 * regformats/rs6000/powerpc-32.dat: Remove.
6506 * regformats/rs6000/powerpc-64.dat: Remove.
6507 * regformats/rs6000/powerpc-e500.dat: Remove.
6508 * regformats/rs6000/powerpc-32l.dat: New (generated) file.
6509 * regformats/rs6000/powerpc-altivec32l.dat: New (generated) file.
6510 * regformats/rs6000/powerpc-64l.dat: New (generated) file.
6511 * regformats/rs6000/powerpc-altivec64l.dat: New (generated) file.
6512 * regformats/rs6000/powerpc-e500l.dat: New (generated) file.
6516 * thread.c (delete_thread): Call observer_notify_thread_exit.
6517 * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as
6518 thread_exit observer.
6519 (mi_thread_exit): New.
6523 * breakpoint.c (create_exception_catchpoint): Remove prototype
6524 for already deleted function.
6525 * breakpoint.h (ep_is_exception_catchpoint): Likewise.
6526 * frame.h (show_stack_frame): Remove prototype.
6527 * stack.c (show_stack_frame): Remove empty, unused function.
6528 * source.c (symtab_to_fullname, print_source_lines): Small fix
6530 * value.c (show_values): Update comments to mention "show values"
6531 command instead of "info history".
6535 * linespec.c: Include "target.h".
6536 (minsym_found): Handle minimal symbols pointing to function
6537 descriptors. Use find_function_start_pc.
6538 * minsyms.c (msymbol_objfile): New function.
6539 * parse.c (write_exp_msymbol): Handle minimal symbols pointing
6540 to function descriptors.
6541 * symtab.c (fixup_section): Only use minimal symbol at the same
6542 address to determine section of a symbol.
6543 (find_function_start_pc): New function.
6544 (find_function_start_sal): Use it.
6545 * symtab.h (msymbol_objfile): Add prototype.
6546 (find_function_start_pc): Likewise.
6547 * value.c: Include "objfiles.h".
6548 (value_fn_field): Handle minimal symbols pointing to function
6550 * Makefile.in (linespec.o): Update dependencies.
6551 (value.o): Likewise.
6555 * ada-lang.c (unwrap_value): Handle the case where the "F" field
6556 inside a PAD type is a bitfield.
6560 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Handle
6561 TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT.
6562 Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
6563 Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC.
6564 Allow typedefs when checking for function pointer arguments.
6565 Right-align small structs passed on the stack.
6566 (ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and
6567 TYPE_CODE_CHAR the same as TYPE_CODE_INT.
6568 Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
6572 * Makefile.in (arm-tdep.o): Update.
6573 * arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol)
6574 (struct arm_per_objfile, arm_compare_mapping_symbols): New.
6575 (arm_pc_is_thumb): Use mapping symbols.
6576 (arm_objfile_data_cleanup, arm_record_special_symbol): New.
6577 (arm_gdbarch_init): Call set_gdbarch_record_special_symbol.
6578 (_initialize_arm_tdep): Initialize arm_objfile_data_key.
6579 * elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol.
6580 * gdbarch.sh: Add record_special_symbol.
6581 * gdbarch.c, gdbarch.h: Regenerated.
6582 * objfiles.c (struct objfile_data): Add cleanup member.
6583 (register_objfile_data_with_cleanup): New function, from
6584 register_objfile_data.
6585 (register_objfile_data): Use it.
6586 (objfile_free_data): Call clear_objfile_data.
6587 (clear_objfile_data): Call cleanup functions.
6588 * objfiles.h (register_objfile_data_with_cleanup): Declare.
6592 * objfiles.c (init_entry_point_info): Handle shared libraries.
6596 * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
6602 Implement displaced stepping.
6604 * gdbarch.sh (max_insn_length): New 'variable'.
6605 (displaced_step_copy, displaced_step_fixup)
6606 (displaced_step_free_closure, displaced_step_location): New
6608 (struct displaced_step_closure): Add forward declaration.
6609 * gdbarch.c, gdbarch.h: Regenerated.
6611 * arch-utils.c: #include "objfiles.h".
6612 (simple_displaced_step_copy_insn)
6613 (simple_displaced_step_free_closure)
6614 (displaced_step_at_entry_point): New functions.
6615 * arch-utils.h (simple_displaced_step_copy_insn)
6616 (simple_displaced_step_free_closure)
6617 (displaced_step_at_entry_point): New prototypes.
6619 * i386-tdep.c (I386_MAX_INSN_LEN): Rename to...
6620 (I386_MAX_MATCHED_INSN_LEN): ... this.
6621 (i386_absolute_jmp_p, i386_absolute_call_p)
6622 (i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p)
6623 (i386_displaced_step_fixup): New functions.
6624 (struct i386_insn, i386_match_insn): Update.
6625 (i386_gdbarch_init): Set gdbarch_max_insn_length.
6626 * i386-tdep.h (I386_MAX_INSN_LEN): New.
6627 (i386_displaced_step_fixup): New prototype.
6628 * i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h".
6629 Register gdbarch_displaced_step_copy,
6630 gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure,
6631 and gdbarch_displaced_step_location functions.
6633 * infrun.c (debug_displaced): New variable.
6634 (show_debug_displaced): New function.
6635 (struct displaced_step_request): New struct.
6636 (displaced_step_request_queue, displaced_step_ptid)
6637 (displaced_step_gdbarch, displaced_step_closure)
6638 (displaced_step_original, displaced_step_copy)
6639 (displaced_step_saved_copy, can_use_displaced_stepping): New
6641 (show_can_use_displaced_stepping, use_displaced_stepping)
6642 (displaced_step_clear, cleanup_displaced_step_closure)
6643 (displaced_step_dump_bytes, displaced_step_prepare)
6644 (displaced_step_clear_cleanup, write_memory_ptid)
6645 (displaced_step_fixup): New functions.
6646 (resume): Call displaced_step_prepare.
6647 (proceed): Call read_pc once, and remember the value. If using
6648 displaced stepping, don't remove breakpoints.
6649 (handle_inferior_event): Call displaced_step_fixup. Add some
6650 debugging output. When we try to step over a breakpoint, but get
6651 a signal to deliver to the thread instead, ensure the step-resume
6652 breakpoint is actually inserted. If a thread hop is needed, and
6653 displaced stepping is enabled, don't remove breakpoints.
6654 (init_wait_for_inferior): Call displaced_step_clear.
6655 (_initialize_infrun): Add "set debug displaced" command. Add
6656 "maint set can-use-displaced-stepping" command. Clear
6657 displaced_step_ptid.
6658 * inferior.h (debug_displaced): Declare variable.
6659 (displaced_step_dump_bytes): Declare function.
6661 * Makefile.in (arch-utils.o, i386-linux-tdep.o): Update
6666 * arm-tdep.c (arm_mode_strings, arm_fallback_mode_string)
6667 (arm_force_mode_string, arm_show_fallback_mode)
6668 (arm_show_force_mode): New.
6669 (arm_pc_is_thumb): Honor fallback-mode and force-mode. Use
6671 (_initialize_arm_tdep): Add "set arm fallback-mode"
6672 and "set arm force-mode".
6673 * NEWS: Document new commands.
6677 * main.h (batch_silent): Declare.
6678 * event-top.c: Include main.h.
6679 (gdb_setup_readline): Remove extern batch_silent declaration.
6680 * infrun.c (normal_stop): Don't print source location when running in
6681 --batch-silent mode.
6682 * Makefile.in (event-top.o): Add main.h dependency.
6686 * target.h (struct target_ops): Add
6687 to_watchpoint_addr_within_range.
6688 (target_watchpoint_addr_within_range): New function.
6689 * target.c (update_current_target): Inherit
6690 to_watchpoint_addr_within_range, defaulting to
6691 default_watchpoint_addr_within_range.
6692 (default_watchpoint_addr_within_range): New function.
6693 (debug_to_watchpoint_addr_within_range): New function.
6694 (setup_target_debug): Set to_watchpoint_addr_within_range.
6695 * ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range):
6697 (_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range.
6698 * breakpoint.c (watchpoints_triggered): Use
6699 target_watchpoint_addr_within_range.
6703 * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*.
6704 (i[34567]86-*-dicos*, x86_64-*-dicos*):
6705 Set gdb_osabi to GDB_OSABI_DICOS.
6707 * defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS.
6708 * osabi.c (gdb_osabi_name): Add "DICOS".
6710 * i386-dicos-tdep.c: New file.
6712 * Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o.
6713 (ALLDEPFILES): Add i386-dicos-tdep.c.
6714 (i386-dicos-tdep.o): New rule.
6718 * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list
6719 and register the fork's PTID as a thread.
6724 * breakpoint.c (create_breakpoint): Add breakpoint_ops argument and
6725 assign its value to the breakpoint created.
6726 (create_breakpoints): Add breakpoint_ops argument and pass it
6727 to create_breakpoint call.
6728 (break_command_really): Add breakpoint_ops argument and pass/assign
6730 (break_command_1): Pass NULL as ops argument.
6731 (set_breakpoint): Pass NULL as ops argument.
6732 (print_one_exception_catchpoint): Print <PENDING> if no loc available.
6733 (handle_gnu_v3_exceptions): Call generic breakpoint code to insert
6734 catch and throw catchpoints.
6739 * corelow.c (core_open): Use gdbarch_target_signal_from_host to
6740 translate signal numeric value from the target to GDB's enum
6742 * gdbarch.c, gdbarch.h: Regenerated.
6743 * gdbarch.sh: Added two new functions target_signal_from_host and
6744 target_signal_to_host.
6745 * target.h (default_target_signal_from_host,
6746 default_target_signal_to_host): New functions - declarations.
6747 * signals/signals.c (struct gdbarch): New declaration.
6748 (default_target_signal_to_host, default_target_signal_from_host): New
6757 * NEWS: Mention attach to stopped process fix.
6758 * infcmd.c (detach_command, disconnect_command): Discard the thread
6760 * infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while
6761 attaching. Use signal_stop_state.
6762 (signal_stop_state): Check stop_soon.
6763 * linux-nat.c (kill_lwp): Declare earlier.
6764 (pid_is_stopped, linux_nat_post_attach_wait): New.
6765 (lin_lwp_attach_lwp): Use linux_nat_post_attach_wait. Update
6767 (linux_nat_attach): Use linux_nat_post_attach_wait.
6768 (detach_callback, linux_nat_detach): Improve handling for signalled
6770 (linux_nat_pid_to_str): Always print out the LWP ID if it differs
6771 from the process ID.
6772 * Makefile.in (infcmd.o): Update.
6776 * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition.
6777 * arm-tdep.c (arm_frame_is_thumb): New.
6778 (arm_pc_is_thumb): Clarify comment.
6779 (thumb_analyze_prologue): Remove PC special case.
6780 (thumb_scan_prologue): Take a block_addr argument. Use it for
6781 find_pc_partial_function. Remove unused variables.
6782 (arm_scan_prologue): Use arm_frame_is_thumb. Use the block address
6783 for find_pc_partial_function. Remove PC special case.
6784 (arm_prologue_prev_register): Add special handling for PC and CPSR.
6785 (arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New.
6786 (arm_get_next_pc): Use arm_frame_is_thumb.
6787 (arm_write_pc): Use CPSR_T instead of 0x20.
6788 (arm_gdbarch_init): Call dwarf2_frame_set_init_reg.
6789 * arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM.
6791 * dwarf2-frame.c (dwarf2_frame_prev_register): Handle
6792 DWARF2_FRAME_REG_FN.
6793 * dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add
6794 DWARF2_FRAME_REG_FN.
6795 (struct dwarf2_frame_state_reg): Add FN to loc union.
6799 * exec.c (print_section_info): Add missing '\n'.
6803 * thread.c (add_thread): Move observer call to ...
6804 (add_thread_silent): ... here.
6808 * rs6000-tdep.c: Update for unwinder changes.
6809 * ppcobsd-tdep.c: Likewise.
6813 * s390-tdep.c: Update for unwinder changes.
6817 * spu-tdep.c: Update for unwinder changes.
6821 * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c,
6822 ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c,
6823 sparc64-linux-tdep.c: Update for unwinder changes.
6827 * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: Update
6828 for unwinder changes.
6829 * mips-tdep.c: Likewise.
6830 (mips_stub_frame_cache): Unwind the ABI stack pointer, not the
6835 * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for
6840 Update i386 and amd64 ports for unwinder changes.
6842 * amd64-tdep.c (amd64_frame_cache): Expect this_frame.
6843 (amd64_frame_this_id, amd64_frame_prev_register): Update signature.
6844 (amd64_frame_unwind): Use default_frame_sniffer.
6845 (amd64_frame_sniffer): Delete.
6846 (amd64_sigtramp_frame_cache): Expect this_frame.
6847 (amd64_sigtramp_frame_this_id, amd64_sigtramp_frame_prev_register)
6848 (amd64_sigtramp_frame_sniffer): Update signature.
6849 (amd64_sigtramp_frame_unwind): Add amd64_sigtramp_frame_sniffer.
6850 (amd64_frame_base_address): Expect this_frame.
6851 (amd64_dummy_id): Renamed from amd64_unwind_dummy_id. Expect
6853 (amd64_init_abi): Use set_gdbarch_dummy_id and
6854 frame_unwind_append_unwinder.
6855 * i386-tdep.c (i386_frame_cache): Expect this_frame.
6856 (i386_frame_this_id, i386_frame_prev_register): Update signature.
6857 (i386_frame_unwind): Use default_frame_sniffer.
6858 (i386_frame_sniffer): Delete.
6859 (i386_sigtramp_frame_cache): Expect this_frame.
6860 (i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register)
6861 (i386_sigtramp_frame_sniffer): Update signature.
6862 (i386_sigtramp_frame_unwind): Use i386_sigtramp_frame_sniffer.
6863 (i386_frame_base_address): Update signature.
6864 (i386_dummy_id): Rename from i386_unwind_dummy_id. Expect this_frame.
6865 (i386_push_dummy_call): Update comment.
6866 (i386_sigtramp_p, i386_svr4_sigtramp_p, i386_svr4_sigcontext_addr):
6868 (i386_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders,
6869 and frame_unwind_append_unwinder.
6870 * amd64-linux-tdep.c, amd64-sol2-tdep.c, amd64fbsd-tdep.c,
6871 amd64nbsd-tdep.c, amd64obsd-tdep.c, i386-linux-tdep.c,
6872 i386-nto-tdep.c, i386bsd-tdep.c, i386-sol2-tdep.c, i386obsd-tdep.c,
6873 i386nbsd-tdep.c: Update for unwinder changes.
6877 * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame.
6878 (trad_frame_cache_zalloc, trad_frame_alloc_saved_regs): Expect
6880 (trad_frame_get_prev_register, trad_frame_get_register): Update signature.
6881 * trad-frame.h (trad_frame_cache_zalloc, trad_frame_get_register)
6882 (trad_frame_alloc_saved_regs, trad_frame_get_prev_register): Update
6884 * tramp-frame.c (tramp_frame_cache, tramp_frame_start): Expect
6886 (tramp_frame_this_id, tramp_frame_prev_register, tramp_frame_sniffer):
6888 * tramp-frame.h (struct tramp_frame): Update signature of init.
6889 * Makefile.in (trad-frame.o): Update.
6893 * dwarf2-frame.c (read_reg): Expect this_frame in the baton.
6894 (execute_stack_op): Put this_frame in the baton.
6895 (execute_cfa_program): Take this_frame.
6896 (struct dwarf2_frame_ops): Update comment for signal_frame_p.
6897 (dwarf2_frame_default_init_reg, dwarf2_frame_init_reg)
6898 (dwarf2_frame_signal_frame_p, dwarf2_frame_cache)
6899 (dwarf2_frame_this_id): Adjust to work on this_frame.
6900 (dwarf2_signal_frame_this_id): Delete.
6901 (dwarf2_frame_prev_register): Update signature. Use new frame
6903 (dwarf2_frame_sniffer): Update signature. Expect this_frame.
6904 (dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add
6905 dwarf2_frame_sniffer.
6906 (dwarf2_append_unwinders): New.
6907 (dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect
6909 * sparc-tdep.c (sparc32_dwarf2_struct_return_p)
6910 (sparc32_dwarf2_frame_init_reg): Expect this_frame.
6911 * cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise.
6912 * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise.
6913 * s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise.
6914 * sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise.
6915 * sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise.
6916 * dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration.
6917 (dwarf2_append_unwinders): Declare.
6918 (dwarf2_frame_base_sniffer): Update declaration.
6919 * i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect
6924 Convert frame unwinders to use the current frame and
6927 * frame.c (frame_debug): Make global.
6928 (get_frame_id): Pass this frame to unwinder routines.
6929 (frame_pc_unwind): Remove unused unwind->prev_pc support.
6930 (do_frame_register_read): Do not discard the return value of
6931 frame_register_read.
6932 (frame_register_unwind): Remove debug messages. Use
6933 frame_unwind_register_value.
6934 (frame_unwind_register_value, get_frame_register_value): New
6936 (create_new_frame, get_frame_base_address, get_frame_locals_address)
6937 (get_frame_args_address, get_frame_type): Pass this frame to
6939 (frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New
6941 * frame.h: Update comments.
6942 (frame_debug, frame_unwind_register_value, get_frame_register_value)
6943 (frame_prepare_for_sniffer): Declare.
6944 * frame-unwind.h: Update comments and parameter names.
6945 (default_frame_sniffer): Declare.
6946 (frame_prev_register_ftype): Return a struct value *.
6947 (struct frame_unwind): Remove prev_pc member.
6948 (frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete.
6949 (frame_unwind_append_unwinder, frame_unwind_got_optimized)
6950 (frame_unwind_got_register, frame_unwind_got_memory)
6951 (frame_unwind_got_constant, frame_unwind_got_address): Declare.
6952 * frame-base.h: Update comments and parameter names.
6953 * valops.c (value_fetch_lazy): Use get_frame_register_value. Iterate
6954 if necessary. Add debugging output.
6955 * sentinel-frame.c (sentinel_frame_prev_register)
6956 (sentinel_frame_this_id): Update for new signature.
6957 (sentinel_frame_prev_pc): Delete.
6958 (sentinel_frame_unwinder): Remove prev_pc.
6959 * ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize
6961 * libunwind-frame.c (libunwind_frame_unwind): Likewise.
6962 * frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer.
6963 (frame_unwind_append_sniffer): Delete.
6964 (frame_unwind_append_unwinder): New function.
6965 (frame_unwind_find_by_frame): Take this frame. Only use sniffers
6966 from unwinders. Use frame_prepare_for_sniffer.
6967 (default_frame_sniffer, frame_unwind_got_optimized)
6968 (frame_unwind_got_register, frame_unwind_got_memory)
6969 (frame_unwind_got_constant, frame_unwind_got_address): New functions.
6970 * dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id.
6971 (dummy_frame_prev_register, dummy_frame_this_id): Update for new
6973 * gdbarch.sh: Replace unwind_dummy_id with dummy_id.
6974 * gdbarch.c, gdbarch.c: Regenerated.
6975 * frame-base.c (default_frame_base_address)
6976 (default_frame_locals_address, default_frame_args_address): Update
6978 (frame_base_find_by_frame): Pass this frame to unwinder routines.
6979 * infcall.c (call_function_by_hand): Update comments.
6980 * Makefile.in (frame-unwind.o): Update dependencies.
6984 * ada-lang.c (ada_value_primitive_packed_val): Only check
6985 value_lazy for memory lvals.
6986 * findvar.c (value_of_register_lazy): New function.
6987 (locate_var_value): Only check value_lazy for memory lvals.
6988 * valarith.c (value_subscripted_rvalue): Likewise.
6989 * valops.c (value_fetch_lazy): Handle both memory and register
6991 (search_struct_field, value_slice): Only check value_lazy for memory
6993 * value.c (struct value): Update comment for lazy.
6994 (value_primitive_field): Only check value_lazy for memory lvals.
6995 * value.h (value_lazy): Update comment.
6996 (value_of_register_lazy): Declare.
7000 * corefile.c (reopen_exec_file): Close any open files.
7004 * ia64-tdep.c (ia64_memory_remove_breakpoint): Set
7005 show_memory_breakpoints to 1 while reading the instruction bundle.
7009 * gdbarch.sh: Document the return_value method. Explain that
7010 the FUNCTYPE parameter might be NULL.
7011 * gdbarch.h: Regenerated.
7012 * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
7013 type when calling using_struct_return, as this is unnecessary
7018 * terminal.h (create_tty_session): Fix return type.
7022 * mi/mi-interp.c (mi_new_thread): Quote the thread id.
7026 * breakpoint.c (condition_command, commands_from_control_command)
7027 (break_command_really): Minor reformatting.
7031 * dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp.
7035 * amd64-tdep.c (amd64_get_longjmp_target): New.
7036 (amd64_init_abi): Register amd64_get_longjmp_target as
7037 gdbarch_get_longjmp_target callback.
7038 * i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling.
7042 * breakpoint.h (enum bpstat_what_main_action): Delete
7043 BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE.
7045 * breakpoint.c (clrs): Delete.
7046 (bpstat_what): Update table.
7048 * infrun.c (handle_inferior_event): Remove
7049 BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling.
7053 * mi/mi-cmds.h (mi_cmd_args_ftype): Remove.
7054 Adjust all prototypes using mi_cmd_args_ftype to use
7056 (struct mi_cmd): Remove the args_func field.
7057 * mi/mi-cmds.c: Don't provide value for the args_func field.
7058 * mi/mi-main.c (mi_execute_async_cli_command)
7059 (mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction)
7060 (mi_cmd_exec_step, mi_cmd_exec_step_instruction)
7061 (mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return)
7062 (mi_cmd_exec_continue, mi_cmd_exec_interrupt)
7063 (mi_cmd_target_download): Adjust.
7064 (mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter.
7065 (mi_cmd_execute): Do not check for args_func.
7066 (mi_execute_async_cli_command): Adjust.
7067 * mi/mi-parse.c: Don't check for args_func.
7071 * breakpoint.c (bpstat_check_location)
7072 (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions):
7073 New, extracted from bpstat_stop_status.
7074 (bpstat_stop_status): Use the above.
7078 * mi/mi-main.c (last_async_command): Rename to current_token.
7079 (previous_async_command): Remove.
7080 (mi_cmd_gdb_exit): Adjust.
7081 (mi_cmd_exec_interrupt): Don't dance with previous_async_command.
7082 (mi_cmd_target_select): Adjust.
7083 (mi_cmd_execute): Don't set previous_async_command. Free token
7084 here even in async mode.
7085 (mi_execute_async_cli_command): Adjust.
7086 (mi_exec_async_cli_cmd_continuation): Adjust. Do not free the
7088 (mi_load_progress): Adjust.
7092 * infcmd.c (step_1_continuation): Always disable longjmp
7093 breakpoint if we're not going to do another step.
7097 exec_cleanup murder.
7098 * breakpoint.c (until_break_command_continuation): Add
7099 the 'error' parameter. Directly delete the breakoint as
7100 opposed to running cleanups.
7101 (until_break_command): Install continuation only
7102 after starting the target. Don't use exec cleanups,
7103 use ordinary cleanups. Discard cleanups is successfully
7104 started the target in async mode.
7105 (make_cleanup_delete_breakpoint): Remove.
7106 * breakpoint.h (make_cleanup_delete_breakpoint): Remove
7108 * defs.h (do_exec_cleanups, make_exec_cleanup): Remove
7110 (struct continations): Add the 'error' parameter to the
7111 continuation_hook field.
7112 (add_continuation, do_all_continuations)
7113 (add_intermediate_continuation)
7114 (do_all_intermediate_continuations): Add the 'error' parameter.
7115 * exceptions.c (throw_exception): Don't call do_exec_cleanups.
7116 * inf-loop.c (inferior_event_handler): Instead of calling
7117 discard_all_continuations, use do_all_continuations with 1 as
7118 'error' parameter. Pass 0 as 'error' parameter in existing uses
7119 of discard_all_continuations.
7120 * infcmd.c (step_1): Do not use exec cleanup. For async case, discard
7122 (step_once): Install continuation only after resuming the target.
7123 (step_1_continuation): Disable longjmp breakpoint on error.
7124 (finish_command_continuation): Add the error parameter. Delete
7125 the finish breakpoint directly, do not use cleanups.
7126 (finish_command): Do not use exec_cleanups. Always setup
7127 continuation. For sync case, immediately run them.
7128 (attach_command_continuation): Add the error parameter.
7129 * infrun.c (fetch_inferior_event): Do not use exec cleanups to
7130 remove step_resume_breakpoint -- adjust delete it directly.
7131 * interps.c (interp_set): Adjust call to do_all_continations.
7132 * mi/mi-interp.c (mi_interpreter_exec_continuation): Do not
7134 * mi/mi-main.c (mi_cmd_target_select): Do not do exec
7136 (mi_cmd_execute): Do not use exec_cleanup.
7137 (mi_execute_async_cli_command): Simplify the string concatenation
7138 logic. Do no use exec cleanup.
7139 (mi_exec_async_cli_cmd_continuation): New parameter error.
7140 Free last_async_command.
7141 * top.c (command_line_handler_continuation): New parameter error.
7142 * utils.c (exec_cleanup_chain, make_exec_cleanup)
7143 (do_exec_cleanups): Remove.
7144 (add_continuation, do_all_continations)
7145 (add_intermediate_continuation)
7146 (do_all_intermediate_continuations): New parameter error.
7150 * breakpoint.h (bp_location_p): New typedef.
7151 Register a vector of bp_location_p.
7152 * breakpoint.c (always_inserted_mode)
7153 (show_always_inserted_mode): New.
7154 (unlink_locations_from_global_list): Remove.
7155 (update_global_location_list)
7156 (update_global_location_list_nothrow): New.
7157 (update_watchpoint): Don't free locations.
7158 (should_insert_location): New.
7159 (insert_bp_location): Use should_insert_location.
7160 (insert_breakpoint_locations): Copied from
7162 (insert_breakpoint): Use insert_breakpoint_locations.
7163 (bpstat_stop_status): Call update_global_location_list
7164 when disabling breakpoint.
7165 (allocate_bp_location): Don't add to bp_location_chain.
7166 (set_raw_breakpoint)
7167 (create_longjmp_breakpoint, enable_longjmp_breakpoint)
7168 (disable_longjmp_breakpoint, create_overlay_event_breakpoint)
7169 (enable_overlay_breakpoints, disable_overlay_breakpoints)
7170 (set_longjmp_resume_breakpoint)
7171 (enable_watchpoints_after_interactive_call_stop)
7172 (disable_watchpoints_before_interactive_call_start)
7173 (create_internal_breakpoint)
7174 (create_fork_vfork_event_catchpoint)
7175 (create_exec_event_catchpoint, set_momentary_breakpoint)
7176 (create_breakpoints, break_command_1, watch_command_1)
7177 (create_exception_catchpoint)
7178 (handle_gnu_v3_exceptions)
7179 (disable_breakpoint, breakpoint_re_set_one)
7180 (create_thread_event_breakpoint, create_solib_event_breakpoint)
7181 (create_ada_exception_breakpoint): : Don't call check_duplicates.
7182 Call update_global_location_list.
7183 (delete_breakpoint): Don't remove locations and don't
7184 try to reinsert them. Call update_global_location_list.
7185 (update_breakpoint_locations): Likewise.
7186 (restore_always_inserted_mode): New.
7187 (update_breakpoints_after_exec): Temporary disable
7188 always inserted mode.
7189 * Makefile.in: Update dependencies.
7191 * infrun.c (proceed): Remove breakpoints while stepping
7193 (handle_inferior_event): Don't remove or insert
7195 * linux-fork.c (checkpoint_command): Remove breakpoints
7196 before fork and insert after.
7197 (linux_fork_context): Remove breakpoints before switch
7199 * target.c (target_disconnect, target_detach): Remove
7200 breakpoints from target.
7205 * breakpoint.c (print_one_breakpoint_location): In MI
7206 mode, report the location string the breakpoint was
7207 originally created with.
7211 * Makefile.in (xtensa-tdep.o): Update dependencies.
7212 * configure.tgt (xtensa*): Update dependencies.
7213 * xtensa-tdep.c (arreg_number): Renamed from areg_number.
7214 Local variable areg renamed to arreg.
7215 (areg_number): New function.
7216 (xtensa_pseudo_register_read, xtensa_pseudo_register_write)
7217 (xtensa_extract_return_value, xtensa_store_return_value): areg_number
7218 replaced by arreg_number.
7219 (xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments.
7220 (xtensa_alloc_frame_cache): Initialize cache->wd.ws.
7221 (xtensa_scan_prologue): New function.
7222 (xtensa_frame_cache): New local fp_regnum. Handle separately the case,
7223 when ENTRY instraction hasn't been executed yet. Get the frame pointer
7224 value based on prologue analysis. Fix the bugs preventing WS and
7225 AR4-AR7/A11 registers from getting right values for intermediate frames,
7226 whose registers have been already spilled.
7227 (xtensa_frame_prev_register): Fix WS register value. Use are_number
7228 and arreg_number appropriately.
7229 (xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
7230 svr4_ilp32_fetch_link_map_offsets.
7234 * printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW.
7235 (printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
7239 * acinclude.m4: Add override.m4.
7240 * configure: Regenerate.
7244 * ada-lang.c (get_selections): Variable PROMPT made non-const and
7245 initialized with a trailing space now. Use PROMPT_ARG of
7246 COMMAND_LINE_INPUT instead of printing it ourselves.
7250 * NEWS: Document support for 64-bit core file.
7254 * NEWS: Add information on calling convention and new SH CLI options.
7256 * sh-tdep.c (sh_cc_gcc): New static string.
7257 (sh_cc_renesas): Ditto.
7258 (sh_cc_enum): New static string array.
7259 (sh_active_calling_convention): New static string pointer denoting
7260 active user chosen ABI.
7261 (sh_is_renesas_calling_convention): New function to return function
7262 specific ABI, or user choice if necessary.
7263 (sh_use_struct_convention): Rename first argument and turn around its
7264 meaning. Check for renesas ABI and return accordingly.
7265 (sh_use_struct_convention_nofpu): New function.
7266 (sh_next_flt_argreg): Get function type as third parameter. Check
7267 for renesas ABI and choose floating registers accordingly.
7268 (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and
7269 struct return slot accordingly.
7270 (sh_push_dummy_call_nofpu): Ditto.
7271 (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here.
7272 Evaluate ABI and give to sh_use_struct_convention_nofpu.
7273 (sh_return_value_fpu): Evaluate ABI and give to
7274 sh_use_struct_convention.
7275 (show_sh_command): New function.
7276 (set_sh_command): Ditto.
7277 (_initialize_sh_tdep): Initialize `set/show sh calling-convention
7280 * gdbarch.sh (return_value): Add func_type argument.
7281 * gdbarch.c: Regenerate.
7283 * eval.c (evaluate_subexp_standard): Rename local variable value_type to
7284 val_type so as not to collide with value_type function. Call
7285 using_struct_return with additional function type argument.
7286 * infcall.c (call_function_by_hand): Call using_struct_return and
7287 gdbarch_return_value with additional function type argument.
7288 * infcmd.c (print_return_value): Take addition func_type argument.
7289 Call gdbarch_return_value with additional function type argument.
7290 (finish_command_continuation): Call print_return_value with additional
7291 function type argument.
7292 (finish_command): Ditto.
7293 * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with
7294 additional function type argument.
7295 * stack.c (return_command): Call using_struct_return and
7296 gdbarch_return_value with additional function type argument.
7297 * value.c (using_struct_return): Take additional function type argument.
7298 * value.h (using_struct_return): Accommodate declaration.
7299 * alpha-tdep.c (alpha_return_value): Add func_type argument.
7300 * amd64-tdep.c (amd64_return_value): Ditto.
7301 * arm-tdep.c (arm_return_value): Ditto.
7302 * avr-tdep.c (avr_return_value): Ditto.
7303 * cris-tdep.c (cris_return_value): Ditto.
7304 * frv-tdep.c (frv_return_value): Ditto.
7305 * h8300-tdep.c (h8300_return_value): Ditto.
7306 (h8300h_return_value): Ditto.
7307 * hppa-tdep.c (hppa32_return_value): Ditto.
7308 (hppa64_return_value): Ditto.
7309 * i386-tdep.c (i386_return_value): Ditto.
7310 * ia64-tdep.c (ia64_return_value): Ditto.
7311 * iq2000-tdep.c (iq2000_return_value): Ditto.
7312 * m32c-tdep.c (m32c_return_value): Ditto.
7313 * m32r-tdep.c (m32r_return_value): Ditto.
7314 * m68hc11-tdep.c (m68hc11_return_value): Ditto.
7315 * m68k-tdep.c (m68k_return_value): Ditto.
7316 (m68k_svr4_return_value): Ditto.
7317 * m88k-tdep.c (m88k_return_value): Ditto.
7318 * mep-tdep.c (mep_return_value): Ditto.
7319 * mips-tdep.c (mips_eabi_return_value): Ditto.
7320 (mips_n32n64_return_value): Ditto.
7321 (mips_o32_return_value): Ditto.
7322 (mips_o64_return_value): Ditto.
7323 * mn10300-tdep.c (mn10300_return_value): Ditto.
7324 * mt-tdep.c (mt_return_value): Ditto.
7325 * ppc-linux-tdep.c (ppc_linux_return_value): Ditto.
7326 * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto.
7327 (ppc_sysv_abi_broken_return_value): Ditto.
7328 (ppc64_sysv_abi_return_value): Ditto.
7329 * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
7330 (ppc_sysv_abi_broken_return_value): Ditto.
7331 (ppc64_sysv_abi_return_value): Ditto.
7332 * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
7333 * rs6000-tdep.c (rs6000_return_value): Ditto.
7334 * s390-tdep.c (s390_return_value): Ditto.
7335 * score-tdep.c (score_return_value): Ditto.
7336 * sh-tdep.c (sh_return_value_nofpu): Ditto.
7337 (sh_return_value_fpu): Ditto.
7338 * sh64-tdep.c (sh64_return_value): Ditto.
7339 * sparc-tdep.c (sparc32_return_value): Ditto.
7340 * sparc64-tdep.c (sparc64_return_value): Ditto.
7341 * spu-tdep.c (spu_return_value): Ditto.
7342 * v850-tdep.c (v850_return_value): Ditto.
7343 * vax-tdep.c (vax_return_value): Ditto.
7344 * xstormy16-tdep.c (xstormy16_return_value): Ditto.
7345 * xtensa-tdep.c (xtensa_return_value): Ditto.
7347 * gdbtypes.h (struct type): Add calling_convention member.
7348 * dwarf2read.c (read_subroutine_type): Add calling convention read
7349 from DW_AT_calling_convention attribute to function type.
7353 * eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for
7354 multi_f77_subscript to support values from registers.
7355 * valarith.c (value_subscripted_rvalue): Remove prototype and static.
7356 * value.h (value_subscripted_rvalue): Add prototype.
7358 * f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION.
7360 * f-valprint.c (f_val_print): Likewise.
7364 * dwarf2read.c (zlib_decompress_section): Define abfd in the
7369 * symfile.c (syms_from_objfile): Don't warn if lowest loadable
7370 section is not a code section.
7374 * NEWS: Add information on compressed debug sections.
7378 * mi/mi-cmd-var.c (varobj_update_one): Print new
7379 value for variable objects that changed type.
7383 * varobj.c (varobj_invalidate): Don't touch floating
7388 * symtab.c: (multiple_symbols_modes, multiple_symbols_ask)
7389 (multiple_symbols_cancel): Remove extra const.
7390 * symtab.h: Likewise.
7394 * interps.c (top_level_interpreter): Rename static variable...
7395 (top_level_interpreter_ptr): ...to this.
7396 (top_level_interpreter): New function.
7398 * interps.h: New extern for top_level_interpreter.
7400 * linespec.c: Include interps.h and mi/mi-cmds.h.
7401 (decode_line_2): When using MI, always set all breakpoints in menu.
7403 * Makefile.in (linespec.o, mi-interp.o): Add dependencies.
7407 * configure.ac (AC_SEARCH_LIBS): Add check for zlib.
7408 * config.in, configure: Regenerate.
7409 * dwarf2read.c: Include zlib.h if present.
7410 Modified *_SECTION macros.
7411 (section_is_p): New.
7412 (dwarf2_locate_sections): Use section_is_p instead of strcmp
7413 (dwarf2_resize_section): New.
7414 to determine whether a given section has a given name.
7415 (zlib_decompress_section): New.
7416 (dwarf2_read_section): Read the compressed section if present
7418 * MAINTAINERS: Added myself to section Write After Approval.
7422 * defs.h (exec_set_section_offsets): Remove prototype.
7423 * exec.c (exec_set_section_offsets): Remove function.
7427 * stabsread.c (cleanup_undefined_types_1): Add instance flags check
7428 in the search for the matching symbol.
7432 * breakpoint.c (update_watchpoint): Always reparse
7437 * breakpoint.c (print_one_breakpoint_location): Make sure to print
7438 the breakpoint address only once.
7442 * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture,
7443 rather than a hard-coded architecture, for xcoff executables.
7447 * buildsym.c (watch_main_source_file_lossage): New fn.
7448 (end_symtab): Call it.
7450 * source.c (find_and_open_source): Add some comments clarifying
7451 handling of FULLNAME argument. Make static. Remove pointless
7456 * inf-loop.c (inferior_event_handler): Also run the intermediate
7457 continuations in the INF_EXEC_COMPLETE case.
7461 * cli/cli-decode.h (CMD_ASYNC_OK): New define.
7462 (set_cmd_async_ok, get_cmd_async_ok): Declare.
7463 * cli/cli-decode.c (set_cmd_async_ok): New function.
7464 (get_cmd_async_ok): New function.
7465 * cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and
7467 * top.c (execute_command): Use get_cmd_async_ok.
7468 * infcmd.c: Include cli/cli-decode.h.
7469 (_initialize_infcmd): Mark "interrupt" as async-ok.
7470 * Makefile.in (infcmd.o): Depend on cli_decode_h.
7475 * exec.c: Correct "arch-utils.h" include.
7480 * infrun.c (normal_stop) Move breakpoint_auto_delete further down
7481 to allow printing to 'see' real reason of stop. This fixes PR 2424.
7482 * breakpoint.c (bpdisp_texst): New function. The function takes over
7483 the role of bpstats static array in print_one_breakpoint_location.
7484 (print_it_typical): Print "Temporary breakpoint" instead
7485 of just "Breakpoint" when breakpoint is, well, temporary. For mi-like
7486 protocols, print disp field.
7487 (print_one_breakpoint_location): Removed bpdisps static definition.
7488 Call new bpstat_text function to get value for 'disp' field.
7489 (mention): Print "Temporary breakpoint" instead of just "Breakpoint".
7493 * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4,
7494 gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust
7495 by rerunning gnulib-tool with --aux-dir=gnulib/extra.
7496 * gnulib/Makefile.in: Regenerate.
7500 * Makefile.in (GNULIB_H): New. Trigger all-lib.
7501 (defs_h): Use $(GNULIB_H).
7502 (all-lib): Depend on gnulib/Makefile.
7503 (gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps.
7504 * config.in, gnulib/Makefile.in: Regenerated.
7508 * Makefile.in (LIBGNU, INCGNU): Define.
7509 (INTERNAL_CFLAGS_BASE): Add INCGNU.
7510 (INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU.
7512 ($(LIBGNU), all-lib): New rules.
7513 (clean, distclean, do-maintainer-clean): Use CLEANDIRS.
7514 * configure.ac: Use gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE.
7515 Simplify AC_CONFIG_AUX_DIR. Generate gnulib/Makefile.
7516 * gnulib: New directory, from gnulib-tool.
7517 * configure, aclocal.m4: Regenerated.
7521 * linux-thread-db.c (have_threads_callback): Check thread->private.
7527 * varobj.c (value_of_root): Update the expression for
7529 * mi/mi-cmd-var.c (varobj_update_one): If type has changed,
7534 * mi/mi-cmd-var.c: Include "mi-getopt.h".
7535 (mi_parse_format): New. Factored out from mi_cmd_var_set_format.
7536 (mi_cmd_var_set_format): Use new mi_parse_format.
7537 (mi_cmd_var_evaluate_expression): Support for -f option to specify
7539 * Makefile.in (mi-cmd-var.o): Update dependencies.
7541 * varobj.h (varobj_get_formatted_value): Declare.
7542 * varobj.c (my_value_of_variable): Added format parameter.
7543 (cplus_value_of_variable): Likewise.
7544 (java_value_of_variable): Likewise.
7545 (c_value_of_variable): Likewise. Evaluate expression based
7546 on format parameter.
7547 (struct language_specific): Add format parameter to function member
7549 (varobj_get_formatted_value): New.
7550 (varobj_get_value): Added format parameter to method call.
7554 * stabsread.c (cleanup_undefined_types_noname): Manually set the
7555 instance flags of the undefined type before calling replace_type.
7559 * target.h (enum strata): Remove the download_stratum.
7563 * buildsym.h (last_source_file): Add dwarf info to comment.
7564 (last_source_start_addr): Ditto.
7568 * alphanbsd-tdep.c: Include "target.h".
7569 * mn10300-tdep.c: Include "target.h".
7570 * Makefile.in (alphanbsd-tdep.o, mn10300-tdep.o): Update.
7574 Fix breakpoint condition that use member variables.
7575 * valops.c (check_field): Remove.
7576 (check_field_in): Rename to check_field.
7577 (value_of_this): Use la_name_of_this.
7578 * value.h (check_field): Adjust prototype.
7580 * language.h (la_value_of_this): Rename to la_name_of_this.
7581 * language.c (unknown_language_defn): Specify "this" for
7583 (auto_language_defn): Likewise.
7584 (local_language_defn): Likewise.
7585 * ada-lang.c (ada_language_defn): Adjust comment.
7586 * c-lang.c (c_language_defn): Adjust comment.
7587 (cplus_language_defn): Specify "this" for name_of_this.
7588 (asm_language_defn): Adjust comment.
7589 (minimal_language_defn): Adjust comment.
7590 * f-lang.c (f_language_defn): Specify NULL for name_of_this.
7591 * jv-lang.c (java_language_defn): Specify "this" for name_of_this.
7592 * m2-lang.c (m2_language_defn): Specify "this" for name_of_this.
7593 * objc-lang.c (objc_language_defn): Specify "self" for
7595 * p-lang.c (pascal_language_defn): Specify "this" for
7597 * scm-lang.c (scm_language_defn): Specify NULL for name_of_this.
7599 * symtab.c (lookup_symbol_aux): Lookup "this" in the
7600 proper scope, and check for field in type of "this", without
7601 trying to create a value.
7605 * mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR.
7606 (mi_error_message): Delete declaration.
7607 * mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of
7608 returning MI_CMD_ERROR.
7609 * mi/mi-main.c (mi_error_message): Delete.
7610 (mi_cmd_exec_interrupt):
7611 (mi_cmd_thread_select, mi_cmd_thread_list_ids)
7612 (mi_cmd_thread_info): Call error instead of returning
7614 (mi_cmd_data_list_register_values): Call error instead of
7615 returning MI_CMD_ERROR. Adapt to new get_register interface.
7616 (get_register): Change return typo to void. Call error instead of
7617 returning MI_CMD_ERROR.
7618 (mi_cmd_data_write_register_values): Call error instead of
7619 returning MI_CMD_ERROR.
7620 (mi_cmd_list_features): Return MI_CMD_DONE.
7621 (captured_mi_execute_command): Remove MI_CMD_ERROR handling.
7622 (mi_execute_command): Always print exceptions with -error.
7626 * NEWS: Mention new commands set/show multiple-symbols.
7630 * symtab.c (multiple_symbols_ask, multiple_symbols_all)
7631 (multiple_symbols_cancel): New constants.
7632 (multiple_symbols_modes, multiple_symbols_mode): New static globals.
7633 (multiple_symbols_select_mode): New function.
7634 (_initialize_symtab): Add new set/show multiple-symbols commands.
7635 * symtab.h (multiple_symbols_ask, multiple_symbols_all)
7636 (multiple_symbols_cancel, multiple_symbols_select_mode): Declare.
7637 * ada-lang.c (user_select_syms): Add handling of new multiple-symbols
7639 * linespec.c (decode_line_2): Likewise.
7643 * symtab.h (enum free_code): Delete free_contents, unused.
7644 * symmisc.c (free_symtab_block): Delete.
7645 (free_symtab, case free_code): Delete.
7649 * valops.c (value_cast_structs): New function. Cast related
7650 STRUCT types up/down and return cast value. The body of this
7651 function comes mostly from value_cast_pointers.
7652 (value_cast_pointers): Code for actual cast STRUCT-STRUCT moved
7653 to value_cast_structs. Now value_cast_pointers needs only create
7654 appropriate reference after using value_cast_structs for actual
7656 (value_cast): Handle references.
7660 * MAINTAINERS: Added myself to section Write After Approval.
7664 * ia64-tdep.c (examine_prologue): Correct array access.
7668 * cp-support.c (first_component_command): Return if no arguments.
7672 * ser-mingw.c (ser_windows_open): Open requested name.
7676 * MAINTAINERS: Added myself.
7680 * target.c (find_default_run_target): Allow a NULL `do_mesg'
7681 parameter. If it is NULL, don't call error.
7682 (find_default_can_async_p, find_default_is_async_p): Pass NULL as
7683 `do_mesg' parameter to find_default_run_target. If no target was
7688 * mips-linux-tdep.c: Update N32/N64 signal frame comments.
7689 (N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update.
7690 (N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR):
7692 (mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr.
7700 * features/Makefile (%.dat): Set xmltarget to the base filename
7701 of the XML source, without subdirectory.
7702 * regformats/rs6000/powerpc-32.dat: Regenerate.
7703 * regformats/rs6000/powerpc-64.dat: Regenerate.
7704 * regformats/rs6000/powerpc-e500.dat: Regenerate.
7708 * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by
7713 * mi/mi-main.c (enum captured_mi_execute_command_actions):
7714 Spell suppress in EXECUTE_COMMAND_SUPPRESS_PROMPT correctly.
7718 * objfiles.h (struct objfile): New GDBARCH member.
7719 (get_objfile_arch): Add prototype.
7720 * objfiles.c: Include "arch-utils.h".
7721 (allocate_objfile): Look up gdbarch associated with bfd.
7722 (get_objfile_arch): New function.
7723 * Makefile (objfiles.o): Update dependencies.
7725 * dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch
7727 * dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch
7729 (locexpr_describe_location): Replace current_gdbarch by
7731 * dwarf2read.c (die_type): Replace current_gdbarch by objfile arch.
7732 (dwarf2_add_field): Likewise.
7733 (read_tag_pointer_type): Likewise.
7734 (read_base_type): Likewise.
7735 (new_symbol): Likewise.
7737 * coffread.c (decode_type): Add OBJFILE argument. Update callers.
7738 (decode_base_type, decode_function_type): Likewise.
7739 (coff_read_struct_type, coff_read_enum_type): Likewise.
7740 (coff_symtab_read): Replace current_gdbarch by objfile arch.
7741 (decode_base_type): Likewise.
7742 (coff_read_enum_type): Likewise.
7743 (coff_read_struct_type): Replace current_objfile by OBJFILE argument.
7744 (coff_read_enum_type): Likewise.
7746 * dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch.
7747 (end_psymtab): Likewise.
7748 (process_one_symbol): Likewise.
7750 * mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch.
7751 (parse_procedure): Likewise.
7752 (parse_partial_symbols): Likewise.
7754 * somread.c (som_symtab_read): Replace current_gdbarch by objfile arch.
7756 * stabsread.c (define_symbol): Replace current_gdbarch by objfile arch.
7757 Replace static pcc_promotion_type and pcc_unsigned_promotion_type by
7759 (read_range_type): Replace current_gdbarch by objfile arch. Replace
7760 static range_index_type by built-in type.
7761 (read_one_struct_field): Replace current_gdbarch by objfile arch.
7762 (read_enum_type): Likewise.
7764 * xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by
7769 * varobj.h (varobj_floating_p): Declare.
7770 * varobj.c (varobj_floating_p): New.
7771 * mi/mi-cmd-var.c (mi_cmd_var_update): When passed
7772 '@' as the name, update all floating varobjs.
7776 * varobj.c (struct varobj_root): Rename use_selected_frame to
7777 floating, and clarify the meaning.
7778 (varobj_create, varobj_update, new_root_variable): Adjust.
7779 (value_of_root): Don't use type_changed as in variable,
7781 (c_value_of_root): Adjust.
7785 * linux-nat.c (linux_nat_attach): Add the pid we attached to, to
7787 (linux_nat_wait): Add main lwp to gdb's thread list.
7788 * linux-thread-db.c (find_new_threads_callback): Also attach to
7789 already listed threads which thread_db didn't know about yet.
7793 * linux-nat.c (drain_queued_events): Fix comment typo.
7794 (linux_nat_attach): In async mode, don't rely on storing a pending
7795 status. Instead place the wait status on the pipe.
7796 (linux_nat_resume): Remove unreacheable shortcut code in async
7798 (stop_wait_callback): In async mode, don't store pending status.
7799 Instead, cancel breakpoints or resend the signal appropriatelly.
7800 (cancel_breakpoint): New, refactored from
7801 cancel_breakpoints_callback.
7802 (cancel_breakpoints_callback): Call cancel_breakpoint.
7803 (pipe_to_local_event_queue): Remove special token processing.
7804 (linux_nat_wait): Issue an internal error if a pending status is
7805 found in async mode.
7809 * inflow.c (gdb_has_a_terminal): Guard access to our_process_group.
7814 * varobj.c (struct varobj_root): New component thread_id.
7815 (varobj_get_thread_id, check_scope): New functions.
7816 (c_value_of_root): Use check_scope. Switch to the
7817 proper thread if necessary.
7819 * varobj.h (varobj_get_thread_id): New extern.
7821 * mi/mi-cmd-var.c (print_varobj): Add thread-id field.
7826 * top.c: Revert 2008-03-21 changes.
7830 * thread.c (make_cleanup_restore_current_thread): Make it
7832 * gdbthread.h (make_cleanup_restore_current_thread): Declare.
7833 * varobj.c (varobj_update): Don't save/restore frame.
7834 (c_value_of_root): Save/restore thread and frame here,
7835 using make_cleanup_restore_current_thread.
7836 * Makefile.in: Update dependecies.
7840 * varobj.c (struct varobj_root): Clarify
7841 comment on the frame field.
7842 (varobj_create): Don't set frame if we have no
7848 Suggested by Jan Kratochvil:
7849 * top.c (gdb_rl_operate_and_get_next_completion): Call
7850 rl_redisplay_function.
7851 (gdb_rl_redisplay): New.
7852 (init_main): Set rl_redisplay_function.
7856 * aix-thread.c (pdc_read_regs): Fix compiler warning.
7857 (pdc_write_regs, aix_thread_resume, fetch_regs_kernel_thread)
7858 (store_regs_kernel_thread): Likewise.
7862 Linux native async support.
7864 * target.h (struct target_ops): Delete to_async_mask_value and add
7866 (target_is_async_p, target_async): Formatting.
7867 (target_async_mask_value): Delete.
7868 (target_async_mask): Delete function declaration, and add new
7869 target macro with the same name.
7871 * target.c (update_current_target): Replace to_async_mask_value by
7872 to_async_mask. Default to_async_mask to return_one.
7873 (target_async_mask): Delete.
7874 (find_default_can_async_p, find_default_is_async_p): New.
7875 (init_dummy_target): register find_default_can_async_p and
7876 find_default_is_async_p on the dummy target.
7878 * linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h.
7879 (debug_linux_nat_async): New global.
7880 (show_debug_linux_nat_async): New function.
7881 (linux_nat_async_enabled, linux_nat_async_mask_value)
7882 (linux_nat_event_pipe, linux_nat_num_queued_events)
7883 (linux_nat_async_events_enabled): New globals.
7884 (struct waitpid_result): New struct.
7885 (waitpid_queue): New global.
7886 (queued_waitpid, push_waitpid, drain_queued_events): New.
7887 (my_waitpid): Call queued_waitpid.
7888 (linux_child_follow_fork): Disable async events during the call.
7889 (blocked_mask): Delete.
7890 (sync_sigchld_action, async_sigchld_action): New globals.
7891 (lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD. In
7892 async mode, block events during the call.
7893 (linux_nat_create_inferior): New.
7894 (linux_nat_attach): In sync mode, restore the mask states. In
7895 async mode, wake the event loop immediatelly.
7896 (detach_callback): Drain all queued events of the lwp we're
7898 (linux_nat_detach): Block async mode, and drain events of the main
7900 (linux_nat_resume): If in async mode, mask async events during the
7901 call. If short circuiting, force event loop to wake up. If
7902 resuming, set target_executing, and register target events in the
7904 (pipe_to_local_event_queue, local_event_queue_to_pipe): New.
7905 (linux_nat_wait): In async mode, block events during the call.
7906 Only enable/disable passing SIGINT to the inferior in sync mode.
7907 Get events from local waitpid queue. If no interesting events was
7908 found, return to events loop. Reregister target events in the
7909 event loop on exit. In sync mode, no need to reblock SIGCHLD.
7910 (linux_nat_kill): Disable events on entry.
7911 (linux_nat_mourn_inferior): In sync mode, don't restore the masks
7912 here. Detach async mode from the event loop if there are no more
7913 forks available, otherwise leave it on.
7914 (sigchld_handler): Assure this is called only in sync mode.
7915 (linux_async_permitted, linux_async_permitted_1): New globals.
7916 (set_maintenance_linux_async_permitted)
7917 (show_maintenance_linux_async_permitted): New functions.
7918 (linux_nat_is_async_p, linux_nat_can_async_p)
7919 (linux_nat_async_mask): New.
7920 (linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New.
7921 (get_pending_events, async_sigchld_handler): New.
7922 (linux_nat_async_events): New.
7923 (async_terminal_is_ours): New global.
7924 (linux_nat_terminal_inferior, linux_nat_terminal_ours): New.
7925 (async_client_callback, async_client_context): New.
7926 (linux_nat_async_file_handler, linux_nat_async)
7927 (linux_nat_disable_async, linux_nat_enable_async): New.
7928 (linux_nat_add_target): Register linux_nat_create_inferior,
7929 linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async,
7930 linux_nat_async_mask, linux_nat_terminal_inferior and
7931 linux_nat_terminal_ours.
7932 (_initialize_linux_nat): Remove local action variable, and update
7933 code that used it to use sync_sigchld_action. Add new
7934 "lin-lwp-async" debug set/show command. Put the "lin-lwp" debug
7935 set/show command in the maintenance class. Add new "linux-async"
7936 maintenance set/show command. Block SIGCHLD by default. Setup
7937 async_sichld_action, and sync_sigchld_action. Install the default
7939 (lin_thread_get_thread_signals): Use a local sigset_t for blocking
7942 * linux-thread-db.c (re_check_for_thread_db): New.
7943 (clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE.
7944 (thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
7945 (thread_db_async_mask): New.
7946 (init_thread_db_ops): Register thread_db_can_async_p,
7947 thread_db_is_async_p, thread_db_async and thread_db_async_mask.
7949 * remote.c (remote_async_mask_value): New.
7950 (remote_return_zero): New.
7951 (init_remote_ops): Register remote_return_zero as callbacks of
7952 to_can_async_p and to_is_async_p.
7953 (remote_can_async_p, remote_is_async_p, remote_async): Update to
7954 use remote_async_mask_value.
7955 (remote_async_mask): New.
7956 (init_remote_async_ops): Remove to_async_mask_value setting and
7957 register remote_async_mask as to_async_mask callback in
7960 * Makefile.in (linux-nat.o): Update.
7964 * gdbthread.h (add_thread_with_info): New.
7965 * linux-thread-db.c: Add some documentation.
7966 (GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete.
7967 (struct private_thread_info): Remove th_valid and ti_valid.
7968 Replace ti with tid.
7969 (thread_get_info_callback): Do not add TID to the new ptid. Do
7971 (thread_db_map_id2thr, lwp_from_thread): Delete functions.
7972 (thread_from_lwp): Assert that the LWP is set. Do not add TID to the
7974 (attach_thread): Handle an already-existing thread. Use
7975 add_thread_with_info. Cache the th and tid.
7976 (detach_thread): Verify that private was set. Remove verbose
7977 argument and printing. Update caller.
7978 (thread_db_detach): Do not adjust inferior_ptid.
7979 (clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete.
7980 (check_event, find_new_threads_callback): Do not add TID to the new PTID.
7981 (thread_db_wait): Do not use lwp_from_thread.
7982 (thread_db_pid_to_str): Use the cached TID.
7983 (thread_db_extra_thread_info): Check that private is set.
7984 (same_ptid_callback): Delete.
7985 (thread_db_get_thread_local_address): Do not use it or check
7986 is_thread. Check that private is set. Assume that the thread
7987 handle is already cached.
7988 (init_thread_db_ops): Remove to_resume and to_kill.
7989 * thread.c (add_thread_with_info): New.
7990 (add_thread): Use it.
7991 * linux-nat.c (find_thread_from_lwp): Delete.
7992 (exit_lwp): Do not use it. Check print_thread_events. Print before
7993 deleting the thread.
7994 (GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to...
7995 * linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here.
7996 * inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and
7997 printf_unfiltered for thread exits.
7998 * procfs.c (procfs_wait): Likewise.
8002 * symtab.c (rbreak_command): Quote symbol name before passing
8003 it to break_command.
8007 * eval.c (evaluate_subexp_for_address): Clarify error message.
8008 Use value_must_coerce_to_target.
8009 * infcall.c (value_arg_coerce): Call value_coerce_to_target.
8010 * valops.c (value_assign): Call value_coerce_to_target when
8011 assigning to anything but internalvars. Leave GDB-side arrays
8012 as arrays when assigning to internalvars.
8013 (value_must_coerce_to_target, value_coerce_to_target): New.
8014 (value_coerce_array, value_addr): Call value_coerce_to_target.
8015 (value_array): Create the array in GDB's memory instead of
8017 * value.h (value_must_coerce_to_target, value_coerce_to_target):
8022 * top.c (quit_confirm): Warn that we will kill the program.
8026 * inflow.c (terminal_ours_1): Guard access to
8027 inferior_process_group with #ifdef PROCESS_GROUP_TYPE.
8033 * dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member.
8034 (dwarf2_read_address): Update prototype.
8036 * dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter.
8037 (signed_address_type): Likewise.
8038 (dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE.
8039 (execute_stack_op): Update calls to unsigned_address_type,
8040 signed_address_type and dwarf2_read_address. Fix implementation
8041 of DW_OP_deref_size.
8043 * dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype.
8044 (dwarf2_per_cu_addr_size): Likewise.
8045 (struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU.
8046 (struct dwarf2_loclist_baton): Likewise.
8048 * dwarf2loc.c (find_location_expression): Update calls to
8049 dwarf2_read_address. Use dwarf2_per_cu_objfile and
8050 dwarf2_per_cu_addr_size to retrieve PER_CU parameters.
8051 (locexpr_describe_location): Likewise.
8052 (dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter.
8053 Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu).
8054 (dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size
8055 to dwarf2_per_cu_addr_size (per_cu).
8056 (locexpr_read_variable): Update dwarf2_evaluate_loc_desc call.
8057 (loclist_read_variable): Likewise.
8058 (locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call.
8060 * dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu
8061 instead of baton->objfile.
8062 (dwarf2_per_cu_obfile): New function.
8063 (dwarf2_per_cu_addr_size): Likewise.
8065 * dwarf2-frame.c (struct comp_unit): Move higher.
8066 (struct dwarf2_cie): Add UNIT and ADDR_SIZE members.
8067 (execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size.
8068 (execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P
8069 parameter by using fde->eh_frame_p. Use read_encoded_value
8070 to implement DW_CFA_set_loc.
8071 (struct dwarf2_frame_cache): Add ADDR_SIZE member.
8072 (dwarf2_frame_cache): Set cache->addr_size. Update calls to
8073 execute_stack_op and execute_cfa_program.
8074 (dwarf2_frame_prev_register): Update calls to execute_stack_op.
8075 (size_of_encoded_value): Remove.
8076 (read_encoded_value): Add PTR_LEN and FUNC_BASE parameters.
8077 Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel.
8078 (add_cie): Set cie->unit backlink.
8079 (decode_frame_entry_1): Set cie->addr_size. Update calls to
8081 (dwarf2_build_frame_info): Allocate UNIT on objfile obstack.
8085 * i386-tdep.c (i386_print_insn): Remove unnecessary call to
8086 gdbarch_bfd_arch_info.
8090 * aix-thread.c (pdc_read_regs): Minor reformatting.
8094 * thread.c (print_thread_info): Don't insist
8095 on having current thread if there are no
8100 * infcmd.c (attach_command_post_wait)
8101 (attach_command_continuation): New.
8102 (attach_command): Support background async execution, and async
8103 execution in synchronous mode.
8107 * stack.c (print_stack_frame, print_frame): Use RETURN_MASK_ERROR.
8108 * symmisc.c (dump_symtab_1): Likewise.
8109 * wrapper.c (gdb_value_struct_elt): Likewise.
8113 * linux-nat.c (linux_nat_filter_event): Fix comment typo.
8117 * linux-nat.c (linux_nat_filter_event): New, refactored from
8119 (linux_nat_wait): Call linux_nat_filter_event.
8123 * top.c (execute_command): Fix uninitialized variable error.
8127 * Makefile.in (amd64nbsd-nat.o): New dependency.
8128 * amd64nbsd-nat.c: Include "nbsd-nat.h".
8129 (_initialize_amd64nbsd_nat): Update target vector to use
8130 nbsd_pid_to_exec_file.
8131 * config/i386/nbsd64.mh (NATDEPFILES): Add nbsd-nat.o.
8135 Remove ignoring leading exec events code.
8136 * fork-child.c (startup_inferior): Do not set
8137 inferior_ignoring_leading_exec_events.
8138 * inf-child.c (inf_child_reported_exec_events_per_exec_call): Remove.
8139 (inf_child_target): Do not set to_reported_exec_events_per_exec_call.
8140 * infrun.c (inferior_ignoring_leading_exec_events): Remove.
8141 (handle_inferior_event): Remove code for ignoring leading exec
8143 * target.c (update_current_target): Do not inherit, or default,
8144 to_reported_exec_events_per_exec_call.
8145 (debug_to_reported_exec_events_per_exec_call): Remove.
8146 (setup_target_debug): Do not set to_reported_exec_events_per_exec_call.
8147 * target.h (target_reported_exec_events_per_exec_call): Remove.
8148 (struct target): Remove the to_reported_exec_events_per_exec_call
8153 Implement -thread-info.
8154 * gdbthread.h (print_thread_info): Declare.
8156 * thread.c (print_thread_info): New, extracted
8157 from info_threads_command and adjusted to
8158 work for CLI and MI.
8159 (info_threads_command): Use print_thread_info.
8160 * Makefile.in: Update dependencies.
8162 * mi/mi-cmds.c (mi_cmds): Specify a handler
8164 * mi/mi-cmds.h (mi_cmd_thread_info): Declare.
8165 * mi/mi-main.c (mi_cmd_thread_info): New.
8166 (mi_cmd_list_features): Include 'thread-info'.
8170 * mips-tdep.c (mips32_scan_prologue): Use the ABI register size
8171 to decide whether to match instruction patterns using "sw" and "sd".
8175 * infcmd.c (jump_command): Postpone disabling stdin until after
8180 * inflow.c (gdb_getpgrp): New.
8181 (gdb_has_a_terminal): Use get_getpgrp.
8182 (terminal_ours_1): If attach_flag is set, don't refetch
8183 inferior_process_group.
8187 * features/library-list.dtd: Allow "section" elements as children
8188 of "library". Add "section" element and describe its attributes.
8190 * solib-target.c (struct lm_info): Add section_bases member.
8191 (library_list_start_segment): Error out if seen a section element.
8192 (library_list_start_section): New.
8193 (library_list_end_library): New.
8194 (solib_target_free_library_list): Free section_bases.
8195 (section_attributes): New.
8196 (library_children): Make "segment" optional. Add "section" child.
8197 (library_list_children): Register library_list_end_library.
8198 (solib_target_relocate_section_addresses): Handle section bases.
8200 * NEWS: Mention new qXfer:libraries:read section offsets support.
8204 * defs.h (do_exec_error_cleanups, discard_exec_error_cleanups)
8205 (make_exec_error_cleanup): Remove declarations.
8206 * utils.c (exec_error_cleanup_chain): Remove.
8207 (do_exec_error_cleanups, discard_exec_error_cleanups)
8208 (make_exec_error_cleanup): Remove.
8209 * event-loop.c (start_event_loop): Adjust call to
8211 * event-top.c (async_enable_stdin): Remove the paramater dummy.
8212 (async_disable_stdin): Don't register async_enable_stdin via
8214 * inf-loop.c (inferior_event_handler): Don't
8215 call do_exec_error_cleanups. Call async_enable_stdin instead.
8216 * event-loop.c (start_event_loop): Adjust call to
8218 * tui/tui-interp.c (tui_command_loop): Adjust call to
8224 * Makefile.in (infcmd.o, inf-loop.o): Update dependencies.
8225 * breakpoint.c (bpstat_do_actions): In async mode,
8226 don't jump to top expecting stop_bpstat to be already
8228 * event-loop.c (start_event_loop): Call async_enable_stdin
8230 * event-top.c (async_enable_stdin): Do nothing if sync_execution
8232 (command_handler): Do not setup continuation here.
8233 (command_line_handler_continuation): Move to...
8234 * top.c (command_line_handler_continuation): ... here.
8235 (execute_command): In async mode, register continuation.
8236 Don't check frame's language in running in async mode.
8237 * exceptions.c (throw_exception): Don't do exec_error_cleanups.
8238 * inf-loop.c (complete_execution): Inline into...
8239 (inferior_event_handler): ... here. Clear target_executing before
8240 doing any cleanups. Don't try to show prompt if the target was
8242 * infcmd.c (signal_command): Add support for async mode.
8243 (finish_command): Only add continuation if the target was
8244 successfully resumed.
8245 * remote.c (init_async_opts): Register to_get_thread_local_address
8247 * mi/mi-interp.c (mi_cmd_interpreter_exec): Don't mess
8248 with sync_execution.
8249 * tui/tui-interp.c (tui_command_loop): Call async_enable_stdin
8254 * corefile.c (reopen_exec_file): Use exec_bfd_mtime.
8255 * exec.c (exec_bfd_mtime): Define.
8256 (exec_close): Clear it.
8257 (exec_file_attach): Set it.
8258 * gdbcore.h (exec_bfd_mtime): Declare.
8259 * source.c (find_source_lines): Do not use bfd_get_mtime.
8263 * top.c (simplified_command_loop): Remove.
8267 Remove unused remote.c hooks.
8268 * remote.c (deprecated_target_resume_hook)
8269 (deprecated_target_wait_loop_hook): Remove.
8270 (remote_resume): Do not call deprecated_target_resume_hook.
8271 (remote_wait): Do not call deprecated_target_wait_loop_hook.
8272 (remote_async_wait): Likewise.
8276 Implement MI notification for new threads.
8277 * doc/observer.texi (new_thread): Document.
8278 * observer.sh: Forward declare struct thread_info.
8279 * thread.c (add_thread): Notify observer.
8281 * interps.h (interp_init_ftype): New parameter
8283 (interp_set): Likewise.
8284 (top_level_interpreter_data): Declare.
8285 * interps.c (interp_set): New parameter top_level.
8286 Pass it to interpreter's init function. Remember
8287 top level interpreter.
8288 (interpreter_exec_cmd): Adjust.
8289 (top_level_interpreter_data): New.
8290 * main.c (captured_main): Pass 1 for top_level
8291 parameter of interp_set.
8292 * cli/cli-interp.c (cli_interpreter_init): New
8293 parameter top_level.
8294 * tui/tui-interp.c (tui_init): New parameter top_level.
8296 * mi/mi-interp.c (mi_new_thread): New.
8297 (mi_interpreter_init): If top level, register
8298 observer for new threads.
8300 * Makefile.in (mi-interp.o, thread.o): Update dependencies.
8304 * top.c (execute_command): Disable break and stop
8305 commands in async mode.
8311 * inf-loop.c (inferior_event_handler): Don't include remote.h.
8312 Call target_stop in the INF_QUIT_REQ case.
8313 * Makefile.in (inf-loop.o): Update.
8317 * inf-loop.c (inferior_event_handler): Don't include remote.h.
8318 Call target_stop in the INF_QUIT_REQ case.
8319 * Makefile.in (inf-loop.o): Update.
8323 * top.c (execute_command): Enable break, info and interrupt
8324 commands in async mode.
8329 * breakpoint.h (breakpoint_restore_shadows): New
8331 * breakpoint.c (breakpoint_restore_shadows): New.
8332 (read_memory_nobpt): Delete.
8333 * gdbcore.h (read_memory_nobpt): Delete declaration.
8334 * target.c (memory_xfer_partial): Call
8335 breakpoint_restore_shadows.
8336 (restore_show_memory_breakpoints)
8337 (make_show_memory_beakpoints_cleanup): New.
8338 (show_memory_breakpoints): New.
8339 * target.h (make_show_memory_beakpoints_cleanup): Declare.
8340 * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint):
8341 Make sure we see memory breakpoints when checking if
8342 breakpoint is still there.
8343 * alpha-tdep.c, alphanbsd-tdep.c, frame.c, frv-tdep.c,
8344 hppa-linux-tdep.c, hppa-tdep.c, i386-linux-nat.c, i386-tdep.c,
8345 m68klinux-tdep.c, mips-tdep.c, mn10300-tdep.c, s390-tdep.c,
8346 sparc-tdep.c: Use target_read_memory instead of read_memory_nobpt.
8350 * thread.c (add_thread): Use printf_unfiltered to print.
8354 * sol-thread.c: Replace use of TM_I386SOL2_H by an expression
8355 that is true only on x86-solaris and x86_64-solaris.
8356 * procfs.c: Likewise. Move procfs_find_LDT_entry up together
8357 with proc_get_LDT_entry.
8361 * configure.ac (AC_CHECK_FUNCS): Add check for setsid.
8362 * config.in, configure: Regenerate.
8363 * fork-child.c (fork_inferior): Call create_tty_session.
8364 * inflow.c (new_tty): Set controlling terminal with TIOCSCTTY.
8365 (create_tty_session): New function.
8366 * terminal.h: Declare create_tty_session.
8371 * elfread.c (elf_symtab_read): Make shndx an unsigned int.
8372 * mipsread.c: Include elf/internal.h.
8373 (read_alphacoff_dynamic_symtab): Map external reserved sym_shndx
8378 * win32-nat.c (do_win32_fetch_inferior_registers): Use get_regcache_arch
8379 to get at the current architecture and at the target specific vector.
8380 Add target specific vector to I387_FISEG_REGNUM and I387_FOP_REGNUM and
8381 remove define of I387_ST0_REGNUM.
8383 * amd64-tdep.c (I387_ST0_REGNUM): Remove define.
8385 (amd64_supply_fxsave, amd64_collect_fxsave): Use get_regcache_arch to
8386 get at the current architecture
8387 (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Add target specific vector as
8390 * i386-tdep.c: Remove various define's and undef's of I387_ST0_REGNUM,
8391 I387_NUM_XMM_REGS and I387_MM0_REGNUM.
8393 (I387_NUM_XMM_REGS, I387_XMM0_REGNUM, I387_MXCSR_REGNUM,
8394 I387_ST0_REGNUM, I387_FCTRL_REGNUM, I387_MM0_REGNUM,
8395 (I387_FSTAT_REGNUM): Add target specific vector as parameter.
8397 (i386_register_name, i386_dbx_reg_to_regnum): Use gdbarch_tdep to get
8398 at the target specific vector.
8400 (i386_get_longjmp_target): Use get_frame_arch to get at the current
8401 architecture. Use gdbarch_tdep to get at the target specific vector.
8403 (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as parameter and
8404 update caller. Use gdbarch_tdep to get at the target specific vector.
8406 (i386_register_to_value: Use get_frame_arch to get at the current
8409 * i386-tdep.h (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as
8412 * i387-tdep.c (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM,
8413 I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM
8414 I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_ST0_REGNUM, FSAVE_ADDR,
8415 FXSAVE_ADDR, I387_XMM0_REGNUM): Add target specific vector as parameter.
8417 (I387_ST0_REGNUM, I387_NUM_XMM_REGS): Remove various define's and
8420 (i387_convert_register_p, i387_register_to_value,
8421 i387_value_to_register): Update call for i386_fp_regnum_p.
8423 * i387-tdep.h: Remove comment.
8424 (I387_ST0_REGNUM, I387_NUM_XMM_REGS, I387_MM0_REGNUM): Add define.
8425 (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM,
8426 I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM,
8427 I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_XMM0_REGNUM,
8428 I387_MXCSR_REGNUM): Add target specific vector as parameter.
8432 * Makefile.in (fork-child.o): Update.
8433 * NEWS: Document "set exec-wrapper" and the gdbserver --wrapper
8434 argument. Gather all gdbserver features together.
8435 * fork-child.c (exec_wrapper): New variable.
8436 (fork_inferior): Use it.
8437 (startup_inferior): Skip an extra trap if using "set exec-wrapper".
8438 (unset_exec_wrapper_command, _initialize_fork_child): New.
8442 * source.c (directory_command): Modify the determination of
8443 condition of terminal "from_tty".
8447 * dwarf2read.c (set_cu_language): Add DW_LANG_ObjC.
8451 * spu-tdep.c (info_spu_event_command): Insert a '\0' to the end
8452 of the data passing to strtoulst function.
8453 (info_spu_signal_command): Likewise.
8457 * mi/mi-interp.c (mi_command_loop): Remove
8462 * remote.c (extended_remote_attach_1): Make local variable pid an int
8467 * solib-svr4.c (svr4_same_1): New function, originally extracted
8468 from svr4_same and expanded to handle the sparc64 case.
8469 (svr4_same): Move up and reimplement using svr4_same_1.
8470 (enable_break): Use svr4_same_1 to do shared library name comparisons.
8474 * MAINTAINERS: Move self to Paper trail.
8478 * Makefile.in (mingw-hdep.o, posix-hdep.o, remote-fileio.o): Update.
8479 * event-loop.c (call_async_signal_handler): New.
8480 * event-loop.h (call_async_signal_handler)
8481 (gdb_call_async_signal_handler): Declare.
8482 (mark_async_signal_handler): Add comments.
8483 * event-top.c (handle_sigint): Use gdb_call_async_signal_handler.
8484 * mingw-hdep.c (sigint_event, sigint_handler): New.
8485 (gdb_select): Use them. Wait for the readline signal handler
8487 (gdb_call_async_signal_handler, _initialize_mingw_hdep): New functions.
8488 * posix-hdep.c (gdb_call_async_signal_handler): New function.
8489 * remote-fileio.c (sigint_fileio_token, async_remote_fileio_interrupt):
8491 (remote_fileio_ctrl_c_signal_handler): Use
8492 gdb_call_async_signal_handler.
8493 (initialize_remote_fileio): Initialize sigint_fileio_token.
8494 * remote.c (initialize_sigint_signal_handler, handle_remote_sigint): Do
8495 not initialize tokens here.
8496 (handle_remote_sigint_twice): Likewise. Reinstall
8497 handle_remote_sigint.
8498 (async_remote_interrupt_twice): Just call interrupt_query.
8499 (cleanup_sigint_signal_handler): Do not delete tokens.
8500 (remote_interrupt, remote_interrupt_twice): Use
8501 gdb_call_async_signal_handler.
8502 (interrupt_query): Reinstall the default signal handler.
8503 (_initialize_remote): Initialize tokens here.
8507 * features/rs6000/power-core.xml, features/rs6000/power64-core.xml,
8508 features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml:
8509 Change the type of the lr register to code_ptr.
8510 * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c,
8511 features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c,
8512 features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c,
8513 features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c,
8514 features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c,
8515 features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c,
8516 features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c: Regenerate.
8520 * MAINTAINERS: Update my email address.
8525 * configure.ac: Set tcl configdir to win under mingw.
8526 * configure: Regenerate.
8530 * breakpoint.c (fetch_watchpoint_value): New function.
8531 (update_watchpoint): Set and clear val_valid. Use
8532 fetch_watchpoint_value. Handle unreadable values on the
8533 value chain. Correct check for user-requested array watchpoints.
8534 (breakpoint_init_inferior): Clear val_valid.
8535 (watchpoint_value_print): New function.
8536 (print_it_typical): Use it. Do not free or clear old_val. Print
8537 watchpoints even if old_val == NULL.
8538 (watchpoint_check): Use fetch_watchpoint_value. Check for values
8539 becoming readable or unreadable.
8540 (watch_command_1): Use fetch_watchpoint_value. Set val_valid.
8541 (do_enable_watchpoint): Likewise.
8542 * breakpoint.h (struct breakpoint): Update comment for val. Add
8544 * NEWS: Mention watchpoints on inaccessible memory.
8548 * Makefile.in (i386-nat.o): Update.
8549 * amd64-linux-nat.c (_initialize_amd64_linux_nat): Call
8550 i386_use_watchpoints.
8551 * i386-linux-nat.c (_initialize_i386_linux_nat): Call
8552 i386_use_watchpoints.
8553 * i386-nat.c (i386_stopped_data_address): Take two arguments.
8554 (i386_stopped_by_watchpoint): Update call.
8555 (i386_can_use_hw_breakpoint, i386_use_watchpoints): New.
8556 * config/i386/nm-i386.h: Conditionalize definitions on
8557 ! I386_WATCHPOINTS_IN_TARGET_VECTOR.
8558 (i386_use_watchpoints): Declare.
8559 (i386_stopped_data_address): Update.
8560 * config/i386/nm-linux.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define.
8561 * config/i386/nm-linux64.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define.
8565 GDB 6.8 branch created (branch timestamp: 2008-02-26 10:00 UTC)
8566 * version.in: Bump version to 6.8.50.20080229-cvs.
8570 * f-typeprint.c (f_print_type): Handle NULL pointer in VARSTRING
8575 * infcmd.c (notice_args_read): Print result of get_inferior_args.
8579 * infcmd.c (kill_if_already_running): Make static. Use
8580 target_require_runnable.
8581 * target.c (target_require_runnable): New.
8582 * target.h (target_require_runnable): Declare.
8586 * frame.c (reinit_frame_cache): Only annotate if frames were
8591 * regformats/reg-ppc.dat: Rename "ps" to "msr".
8592 * regformats/reg-ppc64.dat: Likewise.
8596 * features/Makefile (%.dat): Emit xmltarget statement.
8598 * regformats/regdat.sh: Support xmltarget and xmlarch statments.
8599 Generate code to set gdbserver_xmltarget in init_registers_${name}.
8601 * regformats/arm-with-iwmmxt.dat: Regenerate.
8602 * regformats/mips64-linux.dat: Regenerate.
8603 * regformats/mips-linux.dat: Regenerate.
8604 * regformats/rs6000/powerpc-32.dat: Regenerate.
8605 * regformats/rs6000/powerpc-64.dat: Regenerate.
8606 * regformats/rs6000/powerpc-e500.dat: Regenerate.
8608 * regformats/reg-arm.dat: Add xmlarch statement.
8609 * regformats/reg-i386.dat: Likewise.
8610 * regformats/reg-i386-linux.dat: Likewise.
8611 * regformats/reg-x86-64-linux.dat: Likewise.
8612 * regformats/reg-spu.dat: Likewise.
8616 * remote.c (remote_wait, remote_async_wait): Stop if we receive
8621 * utils.c (debug_timestamp): New.
8622 (vfprintf_unfiltered): Print timestamps if requested.
8623 (show_debug_timestamp): New.
8624 (initialize_utils): Register "set debug timestamp".
8625 * NEWS: Mention "set debug timestamp". Add GDB 6.8 section.
8629 * breakpoint.c (skip_prologue_sal): New function.
8630 (resolve_sal_pc): Adjust SAL past prologue if the SAL was
8631 computed from a line number.
8635 * features/rs6000/power-core.xml, features/rs6000/power64-core.xml
8636 features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml:
8637 Set PC register type to "code_ptr".
8638 * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c,
8639 features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c,
8640 features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c,
8641 features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c,
8642 features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c,
8643 features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c,
8644 features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c:
8649 * regformats/regdat.sh: Rename init_registers function in
8650 generated file to init_registers_${name}.
8652 * regformats/reg-crisv32.dat: Set "name" to crisv32.
8653 * regformats/reg-ppc64.dat: Set "name" to ppc64.
8654 * regformats/reg-s390x.dat: Set "name" to s390x.
8658 * regcache.c (registers_changed): Call reinit_frame_cache.
8662 * configure.tgt (sh-*-linux*): Match sh*. Add glibc-tdep.o.
8663 * sh-linux-tdep.c (sh_linux_init_abi): Use glibc_skip_solib_resolver
8664 and svr4_fetch_objfile_link_map.
8665 * Makefile.in (sh-linux-tdep.o): Update.
8669 * amd64-tdep.c (amd64_classify): Add support for decimal float
8671 * i386-tdep.c (i386_return_value): Make 128-bit decimal float
8672 use the struct return convention.
8676 * breakpoint.c (print_one_breakpoint_location): Revert Enb field
8677 to old format. Discard breakpoint address if shared library is
8679 (breakpoint_1): Adjust formatting of table header accordingly.
8683 * remote.c (remote_get_threadlist): If the response
8684 is empty, don't try to parse it.
8688 Unbreak 'target async'.
8689 * serial.c (serial_async): Set the
8690 handler function before enabling async
8695 * solib-svr4.c (enable_break): Convert r_brk to a code address.
8699 * remote.c (extended_remote_attach_1): Set attach_flag.
8700 (extended_remote_create_inferior_1): Clear attach_flag.
8704 * mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets): Set
8706 (mipsnbsd_lp64_fetch_link_map_offsets): Likewise.
8707 * solib-svr4.c (solib_svr4_r_brk): New.
8708 (open_symbol_file_object, svr4_current_sos): Always check the
8710 (svr4_fetch_objfile_link_map): Do not set debug_base.
8711 (enable_break): Use r_brk if it is set.
8712 (svr4_ilp32_fetch_link_map_offsets): Set r_brk_offset.
8713 (svr4_lp64_fetch_link_map_offsets): Likewise.
8714 * solib-svr4.h (struct link_map_offsets): Add r_brk_offset.
8719 * alpha-tdep.c (alpha_heuristic_unwind_cache): Replace saved_regs by
8720 trad_frame_saved_reg.
8721 (trad-frame.h): New include.
8723 (alpha_heuristic_frame_unwind_cache): Use trad_frame_alloc_saved_regs
8724 instead of frame_obstack_zalloc.
8725 (alpha_heuristic_frame_prev_register): Use trad_frame_get_prev_register.
8727 * Makefile.in (alpha-tdep.o): Add dependency to trad_frame_h.
8731 * rs6000-tdep.c (gdb_print_insn_powerpc): Get the current endianess
8732 from disassemble_info instead of gdbarch_byte_order.
8734 * mips-tdep.c (gdb_print_insn_mips): Likewise.
8735 * arm-tdep.c (gdb_print_insn_arm): Likewise.
8739 * gdbarch.sh (memory_insert_breakpoint, memory_remove_breakpoint): Add
8740 gdbarch as parameter.
8742 * gdbarch.{c,h}: Regenerate.
8744 * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Add gdbarch as
8746 * mem-break.c (default_memory_insert_breakpoint)
8747 (default_memory_remove_breakpoint): Likewise.
8748 * target.h (default_memory_remove_breakpoint)
8749 (default_memory_insert_breakpoint): Likewise.
8751 * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Add gdbarch as
8752 parameter. Replace current_gdbarch by gdbarch.
8753 * m32r-tdep.c (m32r_memory_insert_breakpoint)
8754 (m32r_memory_remove_breakpoint): Likewise.
8758 * MAINTAINERS: Add Vladimir Prus as MI maintainer.
8762 * NEWS: Add entry describing Add support improvements.
8766 * m68klinux-nat.c (getfpregs_supplies): Replace gdbarch_fp0_regnum by
8771 * sentinel-frame.c (sentinel_frame_prev_register): Do not call
8772 register_offset_hack anymore.
8774 * regcache.{c,h} (register_offset_hack): Remove.
8778 * hppa-tdep.h (find_global_pointer): Add gdbarch as parameter.
8780 * hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer): Likewise. Replace
8781 current_gdbarch by gdbarch.
8782 (hppa64_hpux_find_global_pointer): Likewise.
8783 * hppa-tdep.c (hppa_find_global_pointer): Likewise.
8784 (hppa32_push_dummy_call, hppa64_push_dummy_call): Update call for
8785 find_global_pointer.
8787 * hppabsd-tdep.c (hppabsd_find_global_pointer): Add gdbarch as
8789 * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
8791 * hppa-linux-nat.c (hppa_linux_register_addr): Use ARRAY_SIZE instead
8792 of gdbarch_num_regs.
8794 * hppa-hpux-tdep.c (hppa_hpux_sr_for_addr): Add gdbarch as parameter and
8795 replace current_gdbarch by gdbarch.
8796 (hppa_hpux_push_dummy_code): Update call for hppa_hpux_sr_for_addr.
8800 * rs6000-nat.c (exec_one_dummy_insn, regmap): Add gdbarch as parameter
8801 and replace current_gdbarch by gdbarch.
8803 (store_register): Update call for exec_one_dummy_insn.
8804 (fetch_register, store_register): Update call of regmap.
8806 * ppcnbsd-nat.c (getregs_supplies, getfpregs_supplies): Add gdbarch as
8807 parameter and replace current_gdbarch by gdbarch.
8809 (ppcnbsd_store_inferior_registers): Use get_regcache_arch to get at
8810 the current architecture. Update call for getregs_supplies and
8812 (ppcnbsd_fetch_inferior_registers): Likewise.
8814 * ppcobsd-nat.c (getfpregs_supplies): Add gdbarch as parameter and
8815 replace current_gdbarch by gdbarch.
8816 (ppcobsd_fetch_registers, ppcobsd_store_registers): Use
8817 get_regcache_arch to get at the current architecture. Update call for
8822 * arch-utils.c (gdbarch_from_bfd): Remove unnecessary {old,new}_gdbarch
8827 * mips-linux-tdep.c (mips_linux_init_abi): Remove internal error.
8831 * NEWS: Mention pending breakpints in MI.
8835 * Makefile.in (ALL_TARGET_OBS): Remove dependency to xtensa-linux-nat.o.
8839 Add script to build and test GDB using enable-targets=all.
8841 * gdb_buildall.sh: New file.
8845 * NEWS (New native configurations): Xtensa GNU/Linux.
8846 (New targets): Xtensa GNU/Linux.
8847 * Makefile.in (ALL_TARGET_OBS): Add xtensa-linux-nat.o and
8849 (ALLDEPFILES): Add xtensa-linux-tdep.c and xtensa-linux-nat.c
8850 (xtensa-linux-nat.o, xtensa-linux-tdep.o): New dependencies.
8851 * configure.tgt (xtensa*-*-linux*): New entry.
8852 * xtensa-config.c (xtensa_tdep): New variable.
8853 (xtensa_config_byte_order, xtensa_config_tdep): Removed.
8854 (rmap): Change format based on new macro XTREG.
8855 (XTENSA_CONFIG_INSTANTIATE): Use new macro defined in xtensa-tdep.h.
8856 * xtensa-linux-nat.c: New.
8857 * xtensa-linux-tdep.c: New.
8858 * xtensa-xtregs.c: New.
8859 * xtensa-tdep.h (xtensa_elf_gregset_t): Update.
8860 (XTENSA_ELF_NGREG, XTREG, XTREG_END, XTENSA_GDBARCH_TDEP_INSTANTIATE)
8861 (XCHAL_NUM_CONTEXTS, XCHAL_HAVE_EXCEPTIONS): New macros.
8862 (xtensa_register_t): New field coprocessor.
8863 (XTENSA_REGISTER_FLAGS_PRIVILEGED): Name spelling corrected.
8864 * xtensa-tdep.c (xtensa_config_tdep, xtensa_config_byte_order): Removed.
8865 (xtensa_pseudo_register_read, xtensa_pseudo_register_write):
8866 Update to handle privileged registers.
8867 (xtensa_supply_gregset) Remove exccause and excvaddr registers.
8868 (xtensa_push_dummy_call): Set windowstart register correctly.
8869 (call0_analyze_prologue): Initialize xtensa_default_isa.
8870 (xtensa_derive_tdep): New.
8871 (xtensa_gdbarch_init): Get rid of xtensa_config_byte_order and
8872 xtensa_config_tdep, use XCHAL_HAVE_BE and xtensa_tdep instead.
8873 Call xtensa_derive_tdep().
8874 * config/xtensa/linux.mh: New.
8875 * regformats/reg-xtensa.dat: New.
8879 * corelow.c (core_open): Use IS_ABSOLUTE_PATH.
8880 (filenames.h): New include.
8881 * Makefile.in (corelow.o): Add dependency for filenames.h.
8885 * source.c (find_and_open_source): Always rewrite absolute filenames.
8889 * breakpoint.c: #include "hashtab.h".
8890 (ambiguous_names_p): New fn.
8891 (update_breakpoint_locations): When restoring bp enable status, don't
8892 compare function names if any functions have same name.
8893 * Makefile.in (breakpoint.o): Add hashtab.h dependency.
8897 * ada-lang.c (symbol_completion_add): Make SV parameter a VEC**
8898 instead of just a VEC*. Update use of SV.
8899 (ada_make_symbol_completion_list): Update symbol_completion_add calls.
8903 * NEWS: Put all new commands since gdb-6.7 together.
8907 * ada-lang.c: #include "vec.h".
8908 (struct string_vector, new_string_vector, string_vector_append):
8910 (char_ptr): New typedef.
8911 (DEF_VEC_P (char_ptr)): New VEC type.
8912 (symbol_completion_add): Update profile to take the new VEC type
8913 instead of the old string_vector structure. Update code accordingly.
8914 (ada_make_symbol_completion_list): Use the new VEC type instead of
8915 the old string_vector structure, and update the code accordingly.
8916 * Makefile.in (ada-lang.o): Add dependency on vec.h.
8920 * p-exp.y: Set current_type in missing places.
8921 (leftdiv_is_integer): New static variable.
8922 Typecast right operand of BINOP_DIV to long_double if both operands
8927 * remote-mips.c (set_breakpoint): Rename to...
8928 (mips_set_breakpoint): ... this.
8929 (clear_breakpoint): Rename to...
8930 (mips_clear_breakpoint): ... this.
8931 (common_breakpoint): Rename to...
8932 (mips_common_breakpoint): ... this.
8933 (check_lsi_error): Rename to...
8934 (mips_check_lsi_error): ... this.
8938 * language.h (struct language_defn): Add new field
8939 la_make_symbol_completion_list.
8940 * symtab.c (default_make_symbol_completion_list): Renames
8941 make_symbol_completion_list.
8942 (make_symbol_completion_list): New function.
8943 * symtab.h (default_make_symbol_completion_list): Add declaration.
8944 * langauge.c (unknown_language): Set la_make_symbol_completion_list.
8945 (auto_language, local_language): Likewise.
8946 * objc-lang.c (objc_language_defn): Likewise.
8947 * scm-lang.c (scm_language_defn): Likewise.
8948 * m2-lang.c (m2_language_defn): Likewise.
8949 * f-lang.c (f_language_defn): Likewise.
8950 * jv-lang.c (java_language_defn): Likewise.
8951 * p-lang.c (pascal_language_defn): Likewise.
8952 * c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn)
8953 (minimal_language_defn): Likewise.
8954 * ada-lang.c (struct string_vector): New structure.
8955 (new_string_vector, string_vector_append, ada_unqualified_name)
8956 (add_angle_brackets, symbol_completion_match, symbol_completion_add)
8957 (ada_make_symbol_completion_list): New functions.
8958 (ada_language_defn): Set la_make_symbol_completion_list.
8959 * ada-lang.h (ada_make_symbol_completion_list): Remove declaration,
8960 this function is static.
8964 * mn10300-tdep.c (mn10300_push_dummy_call): Adjust stack pointer
8965 to account for call site optimizations.
8969 * tracepoint.c (read_actions): Handle end-of-text indicator
8970 in action list properly. (Committed by Jim Blandy)
8974 * ax-gdb.c (gen_expr): Yield ordinary error if asked to trace a
8975 pseudoregister, not an internal error.
8976 Reported by: Andrzej Zaborowski
8980 * varobj.c (c_value_of_variable): Use xstrdup.
8984 Update stored rendition of varobj value when format changes.
8985 * varobj.c (varobj_set_display_format): Recomputed
8987 (c_value_of_variable): Return print_value.
8991 * eval.c (evaluate_subexp_standard): Fix type of result of mixed
8992 integer/float division operations when EVAL_AVOID_SIDE_EFFECTS.
8993 * valops.c (value_one): New function.
8994 * value.h (value_one): Declare.
8996 Fix argument promotion for binary arithmetic ops for C.
8997 * valarith.c (unop_result_type): New fn.
8998 (binop_result_type): New fn.
8999 (value_binop): Move result type computation to binop_result_type.
9000 (value_pos, value_neg, value_complement): Move result type
9001 computation to unop_result_type.
9004 * gdbtypes.c (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno.
9005 Return basetype, fieldno if found. All callers updated.
9006 Don't cache TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE if from different
9008 * gdbtypes.h (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno.
9009 * symfile.h (fill_in_vptr_fieldno): Delete.
9013 * valarith.c (value_binop): Handle unsigned BINOP_REM division by zero.
9015 * typeprint.c (*): Whitespace cleanup.
9021 * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Pass floats that
9022 don't fit into registerson the stack the way GCC does.
9026 * symtab.c (symbol_set_names): Do not add an entry in the demangling
9027 hash table for Ada symbols. Just store the linkage name as is,
9028 and leave the demangled_name as NULL.
9032 * dwarf2read.c (add_partial_symbol): Always store all Ada subprograms
9033 in the global scope.
9034 (new_symbol): Likewise.
9038 * breakpoint.c (break_command_1): Return void.
9039 (break_command_really): Return void. Rethrow
9040 exceptions instead of returning.
9041 (gdb_breakpoint): Remove the error_message parameter.
9042 Return void. Rename to set_breakpoint.
9043 * gdb.h (gdb_breakpoint): Rename and move to...
9044 * breakpoint.h (set_breakpoint): ...here.
9045 * mi/mi-cmb-break.c (mi_cmd_break_insert): Restore
9046 event hooks even if exception is thrown. Adjust to
9047 gdb_breakpoint interface changes.
9052 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Write 32-bit
9053 float in both first and second word in the doubleword, to support
9058 Properly rethrow exception. This fixes errors
9059 about non-existent functions for -break-insert.
9060 * breakpoint.c (break_command_really): Use throw_exception
9061 for rethrowing. If rethrowing, don't print the exception.
9065 * NEWS: Mention Decimal Floating Point support.
9069 * std-regs.c (value_of_builtin_frame_pc_reg): Change the returned
9070 value type to builtin_type_void_func_ptr.
9074 * s390-tdep.c (is_float_singleton, is_float_like,
9075 alignment_of, s390_return_value): Make checks for
9076 TYPE_CODE_FLT to match TYPE_CODE_DECFLOAT as well.
9081 * infcmd.c (default_print_registers_info): Also print hex
9082 raw contents for TYPE_CODE_DECFLOAT registers.
9083 * ppc-tdep.h (gdbarch_tdep): Add ppc_dl0_regnum member.
9084 * rs6000-tdep.c (IS_DFP_PSEUDOREG): New macro.
9085 (rs6000_register_name): Add support for DFP pseudo-registers.
9086 (rs6000_pseudo_register_type): Likewise.
9087 rs6000_pseudo_register_reggroup_p): Likewise.
9088 (ppc_pseudo_register_read): New function.
9089 (ppc_pseudo_register_write): Likewise.
9090 (rs6000_pseudo_register_read): Likewise.
9091 (rs6000_pseudo_register_write): Likewise.
9092 (e500_pseudo_register_read): Move checks to
9093 rs6000_pseudo_register_read.
9094 (e500_pseudo_register_write): Move checks to
9095 rs6000_pseudo_register_write.
9096 (rs6000_gdbarch_init): Initialize tdep->ppc_dl0_regnum. Install
9097 rs6000_pseudo_register_read and rs6000_pseudo_register_write
9098 in gdbarch if SPE or DFP is available. Adjust gdbarch's
9099 num_pseudo_regs to account for DFP pseudo regs.
9103 * ppc-tdep.h (struct gdbarch_tdep): Remove ppc_ev31_regnum member.
9104 * rs6000-tdep.c (IS_SPE_PSEUDOREG): New macro.
9105 (spe_register_p, rs6000_register_name, rs6000_pseudo_register_type,
9106 rs6000_pseudo_register_reggroup_p, e500_move_ev_register,
9107 e500_pseudo_register_read, e500_pseudo_register_write): Use
9108 IS_SPE_PSEUDOREG macro.
9109 (rs6000_frame_cache): Remove use of tdep->ppc_ev31_regnum.
9110 (rs6000_gdbarch_init): Remove unnecessary num_sprs local variable.
9111 Remove initialization of tdep->ppc_ev31_regnum.
9115 * printcmd.c (print_formatted): Handle references as for unformatted
9120 * eval.c (evaluate_subexp_standard): Add handling of user
9121 registers when in EVAL_AVOID_SIDE_EFFECTS mode.
9125 * eval.c (evaluate_subexp_standard): Support
9126 BINOP_INTDIV opcode.
9130 * valarith.c (value_binop): Add floating-point BINOP_MIN and
9132 For BINOP_EXP, use length and signedness of left operand only for
9133 result, as for shifts.
9134 For integral operands to BINOP_EXP, use new integer_pow and
9135 uinteger_pow functions so as to get full range of results.
9136 (integer_pow): New function.
9137 (uinteger_pow): New function.
9141 Use vector for varobj_list_children interface.
9142 * gdb/varobj.c (varobj_list_children): Return vector
9144 * gdb/varobj.h (varobj_list_children): Adjust
9146 (varobj_p): Declare. Declare vector thereof.
9147 * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust
9148 for varobj_list_children change.
9149 * Makefile.in (varobj_h): Update dependencies.
9153 * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Add support for
9154 TYPE_CODE_DECFLOAT arguments.
9155 (ppc64_sysv_abi_push_dummy_call) Likewise.
9156 (get_decimal_float_return_value): New function.
9157 (do_ppc_sysv_return_value): Add support for TYPE_CODE_DECFLOAT return
9158 values by calling get_decimal_float_return_value.
9159 (ppc64_sysv_abi_return_value): Likewise.
9163 * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field
9164 for preprocessor macro information. Formatting changes.
9168 * remote.c (struct remote_state): Add cached_wait_status.
9169 (remote_exec_file): New variable.
9170 (PACKET_vAttach, PACKET_vRun): New constants.
9171 (extended_remote_restart): Do not query for status.
9172 (struct start_remote_args): New.
9173 (remote_start_remote): Take it as a second argument. Check
9174 whether the target is running. Issue an error for non-running
9175 non-extended targets. Cache the wait status. Set inferior_ptid
9177 (remote_open_1): Prompt to disconnect non-running targets. Make
9178 sure the target is marked running. Do not set inferior_ptid here.
9179 Update call to remote_start_remote. Do not call remote_check_symbols
9180 if the target is not running.
9181 (remote_detach_1): Rename from remote_detach. Take an EXTENDED
9182 argument. Handle a non-running target.
9183 (remote_detach): Use it.
9184 (extended_remote_detach): New.
9185 (remote_disconnect): Fix typo. Use remoute_mourn_1.
9186 (extended_remote_attach_1, extended_remote_attach)
9187 (extended_async_remote_attach): New.
9188 (remote_vcont_resume): Remove unused variable.
9189 (remote_wait, remote_async_wait): Use any cached wait status.
9190 (putpkt_binary, getpkt): Clear any cached wait status.
9191 (extended_remoute_mourn_1): New.
9192 (extended_remote_mourn): Use it.
9193 (extended_async_remote_mourn, extended_remote_run): New.
9194 (extended_remote_create_inferior_1): New.
9195 (extended_remote_create_inferior): Use it.
9196 (extended_remote_async_create_inferior): Likewise.
9197 (remote_xfer_partial): Skip for non-executing targets.
9198 (init_extended_remote_ops): Set to_detach and to_attach.
9199 (init_extended_async_remote_ops): Likewise. Use
9200 extended_async_remote_mourn.
9201 (_initialize_remote): Register vAttach, vRun, and
9202 set remote exec-file.
9203 * NEWS: Mention vAttach, vRun, and gdbserver extended-remote support.
9207 * Makefile.in (symfile.o): Update.
9208 * NEWS: Mention exec tracing support.
9209 * inf-ttrace.c (inf_ttrace_wait): Return TARGET_WAITKIND_EXECD for
9211 * infcmd.c (kill_if_already_running, detach_command)
9212 (disconnect_command): Replace SOLIB_RESTART with no_shared_libraries.
9213 * infrun.c (MAY_FOLLOW_EXEC, may_follow_exec): Delete.
9214 (follow_exec): Do not check may_follow_exec. Do not mourn and push
9215 targets. Apply the sysroot path to the loaded executable. Use
9216 no_shared_libraries.
9217 * linux-nat.c (linux_child_follow_fork): Print fork following
9218 messages if verbose.
9219 (kill_wait_callback): Kill again before waiting a second time.
9220 * symfile.c (symbol_file_clear): Replace SOLIB_RESTART with
9221 no_shared_libraries.
9225 * amd64-tdep.c (amd64_classify): Add handling of TYPE_CODE_CHAR.
9229 * nto-tdep.h: Remove #include "defs.h".
9230 * nto-tdep.c: Add #include "defs.h".
9231 * Makefile.in (nto_tdep_h): Update dependencies.
9232 (nto-tdep.o): Likewise.
9236 * infrun.c (wait_for_inferior): Add treat_exec_as_sigtrap parameter
9238 (proceed, start_remote): Update call to wait_for_inferior.
9239 * inferior.h (wait_for_inferior): Update declaration.
9240 * fork-child.c, infcmd.c, solib-irix.c, solib-osf.c, solib-sunos.c,
9241 solib-svr4.c, win32-nat.c: Update calls to wait_for_inferior.
9242 * inf-ttrace.c (inf_ttrace_wait): Report TTEVT_EXEC events as
9243 TARGET_WAITKIND_EXECD instead of TARGET_WAITKIND_STOPPED.
9247 * varobj (adjust_value_for_child_access): Added checking for
9248 returned value from gdb_value_ind.
9249 (c_describe_child): Likewise.
9250 (cplus_describe_child): Fixed a typo.
9254 * MAINTAINERS: Update my info.
9258 Use multiple locations for hardware watchpoints.
9259 This eliminates the need to traverse value chain, doing
9260 various checks, in three different places.
9262 * breakpoint.h (struct bp_location): New fields
9263 lengths and watchpoint_type.
9264 (struct breakpoint): Remove the val_chain field.
9265 * breakpoint.c (is_hardware_watchpoint): New.
9266 (free_valchain): Remove.
9267 (update_watchpoint): New.
9268 (insert_bp_location): For hardware watchpoint, just
9270 (insert_breakpoints): Call update_watchpoint_locations
9271 on all watchpoints. If we have failed to insert
9272 any location of a hardware watchpoint, remove all inserted
9274 (remove_breakpoint): For hardware watchpoints, directly
9276 (watchpoints_triggered): Iterate over locations.
9277 (bpstat_stop_status): Use only first location of
9278 a resource watchpoint.
9279 (delete_breakpoint): Don't call free_valchain.
9280 (print_one_breakpoint): Don't print all
9281 locations for watchpoints.
9282 (breakpoint_re_set_one): Use update_watchpoint for
9287 Don't reset watchpoint block on solib load.
9289 * breakpoint.c (insert_bp_location): For watchpoints,
9290 recompute condition.
9291 (breakpoint_re_set_one): Instead of recomputing value
9292 and condition for watchpoints, just reset value and
9293 let insert_breakpoints/insert_bp_location recompute it.
9294 Don't do anything about disabled watchpoint.
9298 * valarith.c (value_binop): Handle unsigned integer
9303 * mn10300-tdep.c (mn10300_analyze_prologue): Check for an
9304 instruction pattern that appears frequently in position
9305 independent code. Fix bug in code which looks for "fmov" and
9306 backtracks if no "fmov" is found.
9310 * dbxread.c (read_dbx_symtab): Fix indentation.
9311 Reformat comments to 80 columns.
9312 Move local var def closer to only use.
9316 * fork-child.c (SHELL_FILE): Remove #ifndef.
9317 (fork_inferior): Remove SHELL_COMMAND_CONCAT.
9321 * i386-tdep.c (i386_skip_noop): New function.
9322 (i386_analyze_prologue): Call i386_skip_noop function.
9326 * procfs.c (procfs_xfer_partial): Comment, cut/paste error.
9327 * win32-nat.c (win32_xfer_partial): Ditto.
9328 * target.c (default_xfer_partial): Minor whitespace adjustment.
9332 * arm-tdep.c (arm_addr_bits_remove): In non 26-bit mode, don't
9333 strip bit 1 even if pc doesn't point to thumb code.
9337 * remote.c (remote_wait): Handle SIGINT between packets.
9338 (remote_async_wait): Likewise.
9343 * thread.c (add_thread_silent): Renamed
9345 (print_thread_events): New variable definition.
9346 (show_print_thread_events): New function.
9347 (_initialize_thread): Add "set print thread-events" and
9348 "show print thread-events" commands.
9349 (add_thread): Announce new thread.
9350 * gdbthread.h (add_thread_silent): Declare.
9351 (print_thread_events): New variable declaration.
9352 * inf-ttrace.c (inf_ttrace_wait): Don't
9353 inform about new thread, as add_thread is always
9354 called too, and will take care of that.
9355 * infrun.c (handle_inferior_event): Likewise.
9356 * procfs.c (procfs_wait): Likewise.
9357 * remote.c (remote_currthread): Likewise.
9358 * sol-thread.c (sol_thread_wait): Likewise.
9359 * win32-nat.c (get_win32_debug_event): Likewise.
9360 * linux-thread-db.c (attach_thread): Likewise.
9361 Remove the verbose parameter.
9362 (check_event): Make detach_thread be verbose
9363 only if print_thread_events is set.
9364 * linux-nat.c (lin_lwp_attach_lwp): Don't inform
9365 about new thread. This is called only from
9366 linux-thread-db.c:attach_thread, which will take care.
9367 Remove the verbose parameter.
9368 * linux-nat.h (lin_lwp_attach_lwp): Adjust prototype.
9372 * mi/mi-cmd-var.c (mi_cmd_var_set_format): Add value field to output.
9376 * breakpoint.c (break_command_really): New parameter
9378 (break_command_1): Pass 0 as
9379 ignore_count to break_command_really.
9380 (gdb_breakpoint): Pass ignore_count to
9381 break_command_really.
9385 * mn10300-linux-tdep.c (am33_linux_sigframe_cache_init): Find
9386 sigcontext struct via pointer.
9387 (struct sigframe comment): Update to show new field `psc'.
9391 * infrun.c (handle_inferior_event): If
9392 we failed to remove breakpoints, error,
9393 don't try to increment PC by hand.
9397 Add NetBSD/hppa target and host support.
9399 * hppabsd-tdep.c (hppabsd_supply_gregset): Move to ...
9400 (hppabsd_gregset): Move to ...
9401 (hppabsd_regset_from_core_section): Rename
9402 hppaobsd_regset_from_core_section and move to ...
9403 (hppabsd_find_global_pointer): Update comment.
9404 (hppabsd_init_abi): Make global. Do not register
9405 hppabsd_regset_from_core_section.
9406 (hppabsd_core_osabi_sniffer): Rename hppaobsd_core_osabi_sniffer and
9408 (_initialize_hppabsd_tdep): Move to ...
9409 * hppaobsd-tdep.c: ... here. New file.
9410 * hppnbsd-tdep.c: New file.
9411 * hppnbsd-nat.c: New file.
9412 * Makefile.in (ALL_TARGET_OBS): Add hppanbsd-tdep.o and hppaobsd-tdep.o.
9413 (ALLDEPFILES): Add hppabsd-nat.c and hppabsd-tdep.c.
9414 (hppabsd-nat.o, hppabsd-tdep.o): New dependencies.
9415 (hppabsd-tdep.o, hppaobsd-tdep.o): Update dependencies.
9416 * configure.host (hppa*-*-netbsd*): New entry.
9417 * configure.tgt (hppa*-*-netbsd*): New entry.
9418 (hppa*-*-openbsd*): Update.
9419 * NEWS (New native configuration): Mention NetBSD/hppa.
9420 (New targets): Mention NetBSD/hppa.
9424 * gdbarch.sh (function_list): Add new property bits_big_endian to
9426 * gdbarch.{c,h}: Regenerate.
9428 * value.c (struct value): Replace BITS_BIG_ENDIAN by
9429 gdbarch_bits_big_endian (comment).
9430 (unpack_field_as_long, modify_field): Likewise.
9431 * value.h: Likewise (comment).
9432 * valops.c (value_slice): Likewise.
9433 * valarith.c (value_subscript, value_bit_index): Likewise.
9434 * gdbtypes.h (field): Likewise (comment).
9435 * eval.c (evaluate_subexp_standard): Likewise.
9436 * dwarf2read.c (dwarf2_add_field): Likewise.
9437 * ada-lang.c (decode_packed_array, ada_value_primitive_packed_val)
9438 (move_bits, ada_value_assign, value_assign_to_component): Likewise.
9440 * defs.h (BITS_BIG_ENDIAN): Remove.
9444 * jv-exp.y (yylex): Replace DEPRECATED_STREQN with the appropriate
9446 * m2-exp.y (yylex): Likewise.
9447 * objc-exp.y (yylex): Likewise.
9449 * defs.h (DEPRECATED_STREQN): Remove.
9453 * MAINTAINERS: Update my email address.
9457 * README: Mention gdbserver/README.
9461 * valarith.c (value_binop): Handle BINOP_INTDIV
9462 for unsigned and signed integers.
9466 * s390-tdep.c (s390_gdbarch_init): Set default long double
9467 type to 128-bit IEEE quad.
9471 * hpux-thread.c (hpux_thread_resume): Delete commented-out code.
9475 * auxv.c (fprint_target_auxv): Add support for AT_SUN_AUXFLAGS.
9477 * dfp.c, dfp.h: Rename decimal_to_double to decimal_to_doublest.
9478 * value.c: All callers changed.
9482 * rs6000-nat.c (add_vmap, vmap_ldinfo, vmap_exec): Replace
9483 DEPRECATED_STREQ by its expression.
9484 * coffread.c (coff_locate_sections, coff_symtab_read): Likewise.
9485 * xcoffread.c (read_xcoff_symtab, read_symbol_lineno, find_linenos)
9486 (scan_xcoff_symtab): Likewise.
9487 * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code): Likewise.
9488 * f-lang.c (find_common_for_function): Likewise.
9489 * objc-exp.y (parse_number): Likewise.
9491 * defs.h (DEPRECATED_STREQ): Remove.
9495 * mn10300-tdep.h (AM33_MODE): Add gdbarch as parameter.
9496 * mn10300-tdep.c (set_reg_offsets, mn10300_analyze_prologue): Use
9497 get_frame_arch to get at the current_architecture. Update AM33_MODE
9499 (mn10300_analyze_prologue): Add gdbarch as parameter. Update caller.
9500 (mn10300_frame_unwind_cache): Use get_frame_arch to get at the current
9502 (set_reg_offsets, mn10300_analyze_prologue): Fix indentation.
9506 * amd64-nat.h (amd64_native_gregset_supplies_p): Add gdbarch as
9508 * amd64-nat.c (amd64_native_gregset_supplies_p): Likewise.
9510 (amd64_native_gregset_reg_offset): Add gdbarch as parameter. Replace
9511 current_gdbarch by gdbarch. Update caller.
9513 * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers)
9514 (amd64_linux_store_inferior_registers): Use get_regcache_arch to get at
9515 the current architecture. Update calls of
9516 amd64_native_gregset_supplies_p.
9517 * amd64bsd-nat.c (amd64bsd_fetch_inferior_registers)
9518 (amd64bsd_store_inferior_registers): Likewise.
9522 * ppc-linux-nat.c (ppc_register_u_addr): Add gdbarch as parameter.
9523 Replace current_gdbarch by gdbarch. Update caller.
9527 * dbxread.c (repeated_header_complaint, dbx_symfile_init)
9528 (read_dbx_dynamic_symtab, function_outside_compilation_unit_complaint)
9529 (read_dbx_symtab, end_psymtab, dbx_psymtab_to_symtab_1)
9530 (dbx_psymtab_to_symtab, read_ofile_symtab, process_one_symbol)
9531 (stabsect_build_psymtabs): Fix indentation.
9535 * corelow.c (core_xfer_partial): Comment, cut/paste error.
9539 * win32-nat.c (win32_create_inferior): Restore code calling
9540 CloseHandle on ProcessInformation structure.
9544 * configure.ac: Check for void * as 3 argument of ptrace.
9545 * configure: regenerate.
9549 * alpha-tdep.c (alpha_heuristic_proc_start)
9550 (alpha_sigtramp_register_address): Add gdbarch as parameter. Replace
9551 current_gdbarch by gdbarch.
9553 (alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the
9554 current architecture by frame_info. Update alpha_heuristic_proc_start
9557 (alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use
9558 get_frame_arch to get at the current architecture by frame_info. Update
9559 alpha_sigtramp_register_address call.
9561 * arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace
9562 current_gdbarch by gdbarch. Update caller.
9563 (convert_to_extended, convert_from_extended): Add endianess parameter
9564 for comparison. Update caller.
9565 (arm_extract_return_value, arm_store_return_value): Use
9566 get_regcache_arch to get at the current architecture.
9568 * cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace
9569 current_gdbarch by gdbarch. Update caller.
9570 (cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add
9571 gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch.
9573 * h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add
9574 gdbarch as parameter. Update caller.
9575 (h8300_init_frame_cache): Add gdbarch as parameter. Replace
9576 current_gdbarch by gdbarch. Update caller.
9578 * hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and
9579 update caller. Replace current_gdbarch by gdbarch.
9581 * m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at
9582 the current architecture. Replace current_gdbarch by gdbarch.
9583 * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise.
9584 (STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its
9585 expression. Add gdbarch as parameter and replace current_gdbarch with
9587 (M6811_TDEP): Remove.
9588 (m68hc11_frame_prev_register): Use get_frame_arch to get at the current
9590 (m68hc11_scan_prologue): Add gdbarch as parameter. Replace
9591 current_gdbarch by gdbarch. Update caller.
9593 * m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and
9595 (m68k_analyze_register_saves): Likewise. Also replace current_gdbarch
9598 * rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update
9599 caller. Relace current_gdbarch by gdbarch.
9600 (altivec_register_p, spe_register_p): Likewise.
9601 * ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as
9603 * ppc-linux-nat.c (fetch_register, store_register): Update caller of
9604 altivec_register_p and spe_register_p.
9606 * score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update
9607 caller. Replace current_gdbarch by gdbarch.
9608 (score_analyze_prologue): use get_frame_arch to get at the current
9611 * sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter.
9612 * sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace
9613 current_gdbarch by gdbarch. Update caller.
9614 (sparc_frame_cache): Use get_frame_arch to get at the current
9616 * sparce64-tdep.c (sparc64_skip_prologue): Update call of
9617 sparc_analyze_prologue.
9619 * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as
9624 * exec.c: #include "arch-utils.h"
9625 (print_section_info): Use gdbarch_from_bfd to get at the
9626 current architecture. Replace current_gdbarch. Fix indention. Replace
9627 deprecated_print_address_numeric by paddress.
9628 * Makefile.in (exec.o) Add dependency to arch-utils.h.
9630 * valprint.c (val_print_string): Replace
9631 deprecated_print_address_numeric.
9632 * tracepoint.c (trace_mention, scope_info): Likewise.
9633 * symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1, print_symbol)
9634 (print_symbol, print_partial_symbols, maintenance_info_psymtabs)
9635 (maintenance_check_symtabs): Likewise.
9636 * symfile.c (list_overlays_command): Likewise.
9637 * stack.c (frame_info, print_block_frame_labels): Likewise.
9638 * printcmd.c (print_address, print_address_demangle)
9639 (address_info): Likewise.
9640 * corefile.c (memory_error): Likewise.
9641 * infcmd.c (jump_command): Likewise.
9642 * breakpoint.c (insert_bp_location, describe_other_breakpoints)
9643 (mention, delete_breakpoint): Likewise.
9644 * c-valprint.c (print_function_pointer_address, c_val_print): Likewise.
9645 * dwarf2read.c (dump_die): Likewise.
9646 * ada-valprint.c (ada_val_print_1): Likewise.
9647 * f-valprint.c (f_val_print): Likewise.
9648 * linux-fork.c (info_forks_command): Likewise.
9649 * m32r-com.c (m32r_load_section, m32r_load)
9650 (m32r_upload_command): Likewise.
9652 * ui-out.c (ui_out_field_core_addr): Remove unnecessary comment.
9656 * gdbarch.sh (skip_prologue): Add gdbarch
9658 * gdbarch.{c,h}: Regenerate.
9660 * alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter.
9661 * amd64-tdep.c (amd64_skip_prologue): Likewise.
9662 * avr-tdep.c (avr_skip_prologue): Likewise.
9663 * cris-tdep.c (cris_skip_prologue): Likewise.
9664 * frv-tdep.c (frv_skip_prologue): Likewise.
9665 * h8300-tdep.c (h8300_skip_prologue): Likewise.
9666 * hppa-tdep.c (hppa_skip_prologue): Likewise.
9667 * i386-tdep.c (i386_skip_prologue): Likewise.
9668 * ia64-tdep.c (ia64_skip_prologue): Likewise.
9669 * iq2000-tdep.c (iq2000_skip_prologue): Likewise.
9670 * m32r-tdep.c (m32r_skip_prologue): Likewise.
9671 * m68hc11-tdep.c (m68hc11_skip_prologue): Likewise.
9672 * m68k-tdep.c (m68k_skip_prologue): Likewise.
9673 * m88k-tdep.c (m88k_skip_prologue): Likewise.
9674 * mep-tdep.c (mep_skip_prologue): Likewise.
9675 * mips-tdep.c (mips_skip_prologue): Likewise.
9676 * mn10300-tdep.c (mn10300_skip_prologue): Likewise.
9677 * mt-tdep.c (mt_skip_prologue): Likewise.
9678 * rs6000-tdep.c (rs6000_skip_prologue): Likewise.
9679 * score-tdep.c (score_skip_prologue): Likewise.
9680 * sh64-tdep.c (sh64_skip_prologue): Likewise.
9681 * sh-tdep.c (sh_skip_prologue): Likewise.
9682 * sparc64-tdep.c (sparc64_skip_prologue): Likewise.
9683 * sparc-tdep.c (sparc32_skip_prologue): Likewise.
9684 * spu-tdep.c (spu_skip_prologue): Likewise.
9685 * v850-tdep.c (v850_skip_prologue): Likewise.
9686 * vax-tdep.c (vax_skip_prologue): Likewise.
9687 * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
9688 * xtensa-tdep.c (xtensa_skip_prologue): Likewise.
9690 * arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace
9691 current_gdbarch by gdbarch.
9692 * m32c-tdep.c (m32c_skip_prologue): Likewise.
9693 * s390-tdep.c (s390_skip_prologue): Likewise.
9697 * defs.h (struct continuation_arg): Fix typo in comment.
9698 * target.c (target_translate_tls_address): Fix comment spelling error.
9702 * doublest.h (DOUBLEST_PRINT_FORMAT): Remove % from string.
9703 (DOUBLEST_SCAN_FORMAT): Likewise.
9704 * dfp.c (decimal_from_floating): Use DOUBLEST_PRINT_FORMAT.
9705 * ada-lex.l (processReal): Prepend "%" to use of DOUBLEST_SCAN_FORMAT.
9706 * c-exp.y (parse_number): Likewise.
9707 * jv-exp.y (parse_number): Likewise.
9708 * objc-exp.y (parse_number): Likewise.
9709 * p-exp.y (parse_number): Likewise.
9713 * gdbtypes.c (create_array_type): Add handling of null Ada arrays.
9714 (check_typedef): Likewise.
9718 * printcmd.c (printf_command): Add seen_big_h, seen_big_d and
9719 seen_double_big_d, treat the new H, D, and DD modifiers as length
9724 * dwarf2read.c (read_enumeration_type): Add comment.
9728 * config.in: Regenerate.
9732 * ada-lang.c (ada_convert_actual): Renames convert_actual.
9734 (ada_convert_actuals): Delete.
9735 * ada-lang.h (ada_convert_actual): Add declaration.
9736 (ada_convert_actuals): Remove declaration.
9737 * infcall.c: #include "ada-lang.h".
9738 (value_arg_coerce): Add new parameter sp. Update function
9739 documetnation. Add handling of Ada function call parameters.
9740 * Makefile.in (infcall.o): Update dependencies.
9744 * ada-lang.c (ensure_lval): Fix value lval kind.
9745 (convert_actual): Add handling for arguments passed by reference.
9749 * dbxread.c (read_dbx_symtab): Fix indentation.
9753 * Makefile.in (dfp.o): Depend on expression.h, gdbtypes.h and value.h.
9754 (valarith.o): Depend on dfp.h.
9755 (valops.o): Likewise.
9756 * dfp.c: Include expression.h, gdbtypes.h, value.h and dfp.h.
9757 (set_decnumber_context): New function.
9758 (decimal_check_errors): Likewise.
9759 (decimal_from_number): Likewise.
9760 (decimal_to_number): Likewise.
9761 (decimal_from_string): Use set_decnumber_context and
9762 decimal_check_errors.
9763 (decimal_from_integral): New function.
9764 (decimal_from_floating): Likewise.
9765 (decimal_to_double): Likewise.
9766 (promote_decimal): Likewise.
9767 (decimal_binop): Likewise.
9768 (decimal_is_zero): Likewise.
9769 (decimal_compare): Likewise.
9770 (decimal_convert): Likewise.
9771 * dfp.h (decimal_from_integral): New prototype.
9772 (decimal_from_floating): Likewise.
9773 (decimal_to_double): Likewise.
9774 (decimal_binop): Likewise.
9775 (decimal_is_zero): Likewise.
9776 (decimal_compare): Likewise.
9777 (decimal_convert): Likewise.
9778 * eval.c (evaluate_subexp_standard): Remove expect_type argument from
9779 call to value_from_decfloat.
9780 * valarith.c: Include dfp.h.
9781 (value_args_as_decimal): New function.
9782 (value_binop): Add if block to handle TYPE_CODE_DECFLOAT values.
9783 (value_logical_not): Likewise.
9784 (value_equal): Likewise.
9785 (value_less): Likewise.
9786 (value_pos): Likewise.
9787 (value_neg): Formatting fix.
9788 * valops.c: Include dfp.h.
9789 (value_cast): Add if block to handle TYPE_CODE_DECFLOAT values.
9790 * value.c (unpack_long): Add case to handle TYPE_CODE_DECFLOAT.
9791 (unpack_double): Add if block to handle TYPE_CODE_DECFLOAT.
9792 (value_from_decfloat): Remove expect_type argument.
9793 * value.h (value_from_decfloat): Update prototype.
9797 Ignore change in name of dynamic linker during
9798 execution on Solaris. This also unbreaks pending breakpoints.
9800 * solist.h (struct target_so_ops): New field same.
9801 * solib-svr4.c (svr4_same): New.
9802 (_initialize_svr4_solib): Register svr4_same.
9803 * solib.c (update_solib_list): Use ops->same, if available.
9807 * win32-nat.c (win32_make_so): Use cygwin-style path to avoid warnings
9808 when using MS-DOS paths.
9812 * NEWS: Mention --pid and --core command line behaviour changes.
9816 * main.c (captured_main): Remove 'count' varible and the
9817 ALIGN_STACK_ON_ENTRY block that used it. Error out if --core and
9818 --pid options were issued simultaneously. If an explicit pid
9819 option was passed, don't fallback to core file. Detect extra
9820 arguments better in the presence of explicit pid or core
9825 * ada-lang.c (ada_which_variant_applies): Correctly compute
9826 the value of the discriminant when the variant record is packed.
9830 * ada-lang.c (is_name_suffix): Handle middle-name numeric suffixes
9831 that are used to differentiate homonyms.
9835 * ada-lang.c (decode_packed_array_type): Avoid a seg fault
9836 when the type is an anonymous pointer type.
9837 (ada_check_typedef): Avoid a seg fault when the type is null.
9838 * ada-typeprint.c (print_array_type): Add support for pointer
9843 * ada-exp.y: Allow '{type} ADDRESS' notation on left of assignment.
9847 * ada-lang.c (ada_evaluate_subexp): Evaluate tagged types in
9848 EVAL_NORMAL mode when noside is EVAL_AVOID_SIDE_EFFECTS.
9852 * ada-exp.y (chop_separator): New function.
9853 (write_selectors): Rewrite to re-use chop_separator.
9854 (ada_nget_field_index, get_symbol_field_type): New functions.
9855 (write_var_or_type): Add support for "ptype TYPENAME.FIELD"
9860 * symtab.c (find_pc_sect_line): Use SYMBOL_VALUE_ADDRESS instead
9861 of SYMBOL_VALUE when working with function symbols.
9865 * ada-lang.c (resolve_subexp): Add handling of OP_REGISTER
9866 expressions. These expressions do not need to be rewriten.
9870 * dwarf2read.c (read_enumeration_type): Flag type as stub if
9871 the given die is a declaration.
9875 * ada-lang.c (ada_array_bound_from_type): Make non-static.
9876 Handle properly the case when the index type is an enumerated type.
9877 Do not return the subtype of the bounds type, just return the
9878 bounds type directly - this is not needed and is more consistent
9879 with what we do for arrays when no XA parallel type exists.
9883 * ada-lang.c (static_unwrap_type): Add forward declaration.
9884 (template_to_static_fixed_type): Fields of dynamic types sometimes
9885 also need to be unwrapped. Take this into account.
9886 (ada_to_fixed_type_1): Renamed from ada_to_fixed_type.
9887 (ada_to_fixed_type): New wrapper around ada_to_fixed_type_1.
9888 * ada-typeprint.c (ada_print_type): Get the typename from
9889 the original type, not the base type.
9893 * ada-lang.c (ada_value_struct_elt, to_fixed_array_type)
9894 (to_fixed_array_type, ada_to_fixed_value_create, unwrap_value):
9895 Update calls to ada_to_fixed_type.
9896 (ada_template_to_fixed_record_type_1): Ditto, but without looking
9898 (ada_to_fixed_type): Add check_tag parameter; do not look for
9899 tag if null. When looking for a tag, use a fixed record type.
9900 * ada-lang.h (ada_to_fixed_type): Add check_tag parameter.
9901 * ada-valprint.c (printable_val_type, ada_value_print): Update
9902 calls to ada_to_fixed_type.
9906 * doublest.c (convert_floatformat_to_doublest): Call
9907 floatformat_to_doublest instead of floatformat_to_double and use
9909 (convert_doublest_to_floatformat): Call floatformat_from_doublest
9910 instead of floatformat_from_double and use DOUBLEST variables.
9914 * MAINTAINERS (Write After Approval): Add self.
9918 * symfile.c (set_initial_language): Make non-static.
9919 * symfile.h (set_initial_language): Add declaration.
9920 * language.c: #include "symfile.h".
9921 (set_language): Call set_initial_language if the frame language
9922 could not be determined.
9926 * eval.c (evaluate_subexp_for_address): Provide frame address to
9927 locate_var_value only if it will be needed.
9931 * linux-nat.c (linux_child_follow_fork): Call also CHECK_FOR_THREAD_DB.
9935 * ada-lang.c (ada_evaluate_subexp): Modify the value returned
9936 when noside is EVAL_AVOID_SIDE_EFFECTS to be an lval_memory.
9937 This is needed to make sure that any other treatment applied
9938 to the resulting value does not fail for spurious reason,
9939 such as trying to take the address of this value.
9943 * ada-lang.c (ada_value_equal): Dereference reference types when
9948 Updated copyright notices for most files.
9952 * win32-nat.c (psapi_module_handle): Remove static.
9953 (get_module_name): Rename from psapi_get_dll_name. Revamp slightly to
9954 return first module found if base_address is zero. Don't initialize
9955 psapi function pointers here. Convert to cygwin paths when
9957 (win32_pid_to_exec_file): Use Cygwin's /proc interface to determine
9958 executable name. Use get_module_name when that fails or when
9960 (_initialize_psapi): New function. Initialize psapi stuff before it is
9961 needed or issue a warning if it is not found. Move psapi_module_handle
9966 * ada-lang.c (ada_remove_trailing_digits): New function.
9967 (ada_remove_po_subprogram_suffix): New function.
9968 (ada_decode): Improve. Move the description of the algorithm
9969 directly inside the code, instead of in the function global
9974 * ada-valprint.c (ada_val_print_1) [TYPE_CODE_REF]: Ignore deref_ref
9975 and always print the dereferenced value.
9979 * ada-lang.c (ada_evaluate_subexp, case BINOP_SUB): Add handling
9980 of the case where the first argument is a reference.
9981 (ada_evaluate_subexp, case BINOP_ADD): Likewise.
9985 Implement support for Ada interface types.
9987 * ada-lang.c (ada_is_dispatch_table_ptr_type): New function.
9988 (ada_is_ignored_field): Ignore fields that are a dispatch table
9993 * top.c (print_gdb_version): Update copyright year.
9997 * ChangeLog-2007: New ChangeLog rotation.
9998 * ChangeLog: Reset for 2008.
9999 * config/djgpp/fnchange.lst: Add entries for ChangeLog-2006 and
10002 For older changes see ChangeLog-2007.
10008 version-control: never