3 * src/gdb/remote.c (end_thread): ARI fix: Use xstrdup instead of strdup.
7 * c-typeprint.c (c_type_print_args): Don't print "void"
8 for java, regardless of whether it is TYPE_PROTOTYPED.
9 Use the passed-in language instead of current_language.
10 (c_type_print_varspec_suffix): Use current_language instead
11 of assuming language_c.
12 * jv-typeprint.c (java_type_print_base): (bz 9320) Strip off
13 any return type specifier from the physname.
17 * tui/tui-interp.c (tui_is_toplevel): New.
20 * tui/tui.c (tui_enable): Check if the TUI is allowed before
22 * tui/tui.h (tui_allowed_p): Declare.
26 * serial.h: Include winsock2.h before windows.h.
30 * NEWS: Mention xmlRegisters= in qSupported packet.
32 * i386-tdep.c: Include "remote.h".
33 (_initialize_i386_tdep): Call register_remote_support_xml.
35 * remote.c (remote_support_xml): New.
36 (register_remote_support_xml): Likewise.
37 (remote_query_supported_append): Likewise.
38 (remote_query_supported): Support remote_support_xml.
40 * remote.h (register_remote_support_xml): New.
44 * tracepoint.c (trace_find_line_command): Remove dead code.
46 * tracepoint.h (struct uploaded_string): New struct.
47 (struct uploaded_tp): New fields for source strings.
48 * breakpoint.c (this_utp, next_cmd): New globals.
49 (read_uploaded_action): New function.
50 (create_tracepoint_from_upload): Fill in more parts
52 * tracepoint.c (encode_source_string): New function.
53 (trace_save): Write out source strings, fix error checks.
54 (parse_tracepoint_definition): Add source string parsing.
55 * remote.c (PACKET_TracepointSource): New packet type.
56 (remote_download_command_source): New function.
57 (remote_download_tracepoint): Download source pieces also.
58 (_initialize_remote): Add packet config command.
60 * tracepoint.c (collect_symbol): Send LOC_UNRESOLVED symbols to
63 * tracepoint.c (start_tracing): Check tracepoints before sending
64 commands to target, don't start if all tracepoints disabled.
68 * cli/cli-script.c (process_next_line): Handle 'stepping'.
72 * tracepoint.c (disconnect_or_stop_tracing): Get out of tfind mode.
76 * breakpoint.c (commands_command_1): Duplicate 'arg'.
80 * breakpoint.c (expand_line_sal_maybe): Always call skip_prologue_sal.
81 (skip_prologue_sal): Remove local definition.
82 (resolve_sal_pc): Remove now unnecessary code.
83 * linespec.c (minsym_found): Call skip_prologue_sal.
84 * symtab.c (find_function_start_pc): Remove.
85 (find_function_start_sal): Extract prologue skipping into ...
86 (skip_prologue_sal): ... this new function. Handle code both
87 with and without debug info. Respect SAL's explicit_pc and
88 explicit_line flags. Inline old find_function_start_pc.
89 * symtab.h (find_function_start_pc): Remove.
90 (skip_prologue_sal): Add prototype.
94 * dwarf2read.c (read_func_scope): Also scan specification DIEs
95 for DW_TAG_imported_module children.
99 * dwarf2read.c (dwarf2_name): Work around GCC bugzilla debug/41828 by
100 ignoring spurious DW_AT_name attributes for unnamed structs or unions.
101 * completer.c (add_struct_fields): Fix inverted logic.
105 * breakpoint.c (bpstat_clear_actions): Reset bs->commands_left.
109 * tracepoint.c (current_trace_status): Don't make sure error_desc
111 (parse_trace_status): Release a previous error_desc string, and
112 set it to NULL by default. If stop reason is tracepoint_error,
113 make sure error_desc is not left NULL.
117 * tracepoint.c (trace_save): Remove X from tracepoint error
122 * tracepoint.c (parse_trace_status): Don't allow plain strings in
123 the terror description. Don't expect an X prefix.
127 * tracepoint.h (trace_stop_reason): Add tracepoint_error.
128 (struct trace_status): New field error_desc.
129 * tracepoint.c (stop_reason_names): Add terror.
130 (current_trace_status): Ensure non-NULL error description.
131 (trace_status_command): Add error report.
132 (trace_status_mi): Ditto.
133 (trace_save): Add special case for error description.
134 (parse_trace_status): Add case for errors.
138 * dwarf2read.c (read_subroutine_type): If the compilation unit
139 language is Java, mark any formal parameter named "this" as
140 artificial (GCC/43521).
141 (dwarf2_name): Add special handling for Java constructors.
145 PR gdb/11327, PR gdb/11328, PR breakpoints/11368:
146 * infrun.c (handle_inferior_event): Change initialization of
148 (handle_inferior_event): Change assignment to stop_stack_dummy.
149 (normal_stop): Update use of stop_stack_dummy.
150 (struct inferior_status) <stop_stack_dummy>: Change type.
151 * inferior.h (stop_stack_dummy): Update.
152 * infcmd.c (stop_stack_dummy): Change type.
153 * infcall.c (cleanup_delete_std_terminate_breakpoint): New
155 (call_function_by_hand): Call set_std_terminate_breakpoint.
156 Rewrite std::terminate handling.
157 * breakpoint.h (enum bptype) <bp_std_terminate,
158 bp_std_terminate_master>: New.
159 (enum stop_stack_kind): New.
160 (struct bpstat_what) <call_dummy>: Change type.
161 (set_std_terminate_breakpoint, delete_std_terminate_breakpoint):
163 * breakpoint.c (create_std_terminate_master_breakpoint): New
165 (update_breakpoints_after_exec): Handle bp_std_terminate_master.
166 Call create_std_terminate_master_breakpoint.
167 (print_it_typical): Handle new breakpoint kinds.
168 (bpstat_stop_status): Handle bp_std_terminate_master.
169 (bpstat_what): Correctly set call_dummy field. Handle
170 bp_std_terminate_master and bp_std_terminate.
171 (print_one_breakpoint_location): Update.
172 (allocate_bp_location): Update.
173 (set_std_terminate_breakpoint): New function.
174 (delete_std_terminate_breakpoint): Likewise.
175 (create_thread_event_breakpoint): Update.
176 (delete_command): Update.
177 (breakpoint_re_set_one): Update.
178 (breakpoint_re_set): Call create_std_terminate_master_breakpoint.
182 * symfile.c (build_section_addr_info_from_bfd): New.
183 (build_section_addr_info_from_objfile): Base it on
184 build_section_addr_info_from_bfd.
185 (addrs_section_compar, addrs_section_sort): New.
186 (addr_info_make_relative): New variables my_cleanup, abfd_addrs,
187 addrs_sorted, abfd_addrs_sorted and addrs_to_abfd_addrs. Build
188 addrs_to_abfd_addrs. Use it for recalculating ADDRS.
192 * elfread.c (find_separate_debug_file_by_buildid):
193 Remove unused local variable.
198 * NEWS: Mention changes to `commands' and `rbreak'.
199 * symtab.c (do_end_rbreak_breakpoints): New function.
200 (rbreak_command): Call start_rbreak_breakpoints; arrange to call
201 end_rbreak_breakpoints.
202 * breakpoint.c (breakpoint_count, tracepoint_count): Now static.
203 (set_breakpoint_count): Likewise. Clear last_was_multi.
204 (multi_start, multi_end, last_was_multi): New globals.
205 (start_rbreak_breakpoints, end_rbreak_breakpoints): New
207 (struct commands_info): New
208 (do_map_commands_command): New function.
209 (commands_command_1): New function.
210 (commands_command): Use it.
211 (commands_from_control_command): Likewise.
212 (do_delete_breakpoint): New function.
213 (delete_command): Use it.
214 (map_breakpoint_numbers): Add 'data' argument. Pass to callback.
215 (do_map_disable_breakpoint): New function.
216 (disable_command): Use it.
217 (do_map_enable_breakpoint): New function.
218 (enable_command): Use it.
219 (enable_once_breakpoint): Add argument.
220 (enable_once_command): Update.
221 (enable_delete_breakpoint): Add argument.
222 (enable_delete_command): Update.
223 (break_command_really): Set last_was_multi when needed.
224 (check_tracepoint_command): Fix formatting.
225 (validate_commands_for_breakpoint): New function.
226 (breakpoint_set_commands): Use it.
227 (tracepoint_save_command): Update.
228 * breakpoint.h (start_rbreak_breakpoints, end_rbreak_breakpoints):
233 * breakpoint.h (struct counted_command_line): New struct.
234 (struct breakpoint) <commands>: Change type.
235 (struct bpstats) <commands>: Change type.
236 <commands_left>: New field.
237 * breakpoint.c (alloc_counted_command_line): New function.
238 (incref_counted_command_line): Likewise.
239 (decref_counted_command_line): Likewise.
240 (do_cleanup_counted_command_line): Likewise.
241 (make_cleanup_decref_counted_command_line): Likewise.
242 (breakpoint_set_commands): Use decref_counted_command_line and
243 alloc_counted_command_line.
244 (commands_command): Don't error if breakpoint commands are
246 (commands_from_control_command): Likewise.
247 (bpstat_free): Update.
248 (bpstat_copy): Likewise.
249 (bpstat_clear_actions): Likewise.
250 (bpstat_do_actions_1): Likewise.
251 (bpstat_stop_status): Likewise.
252 (print_one_breakpoint_location): Likewise.
253 (delete_breakpoint): Likewise.
254 (bpstat_alloc): Initialize new field.
255 (tracepoint_save_command): Update.
256 * tracepoint.c (encode_actions): Update.
257 (trace_dump_command): Update.
261 * dwarf2-frame.c (dwarf2_frame_find_quirks): Use producer_is_realview.
262 * dwarf2read.c (load_full_comp_unit): Read DW_AT_producer.
263 (read_structure_type): For RealView, set TYPE_STUB on structures with
264 no byte size and no children.
265 (read_subroutine_type): Mark functions as prototyped by default.
266 * symtab.c (producer_is_realview): New function.
267 * symtab.h (expand_line_sal): Fix declaration formatting.
268 (producer_is_realview): Declare.
272 * arm-tdep.c (skip_prologue_function): New function.
273 (submask, bit, bits, sbits, BranchDest): Move higher in the file.
274 (thumb_analyze_prologue): Document return value. Recognize more
275 Thumb instructions, skippable calls, and some Thumb-2 instructions.
277 (arm_skip_prologue): Remove call dummy check. Check the prologue
278 for non-GNU compilers.
279 (arm_instruction_changes_pc): New function.
280 (arm_analyze_prologue): New function, broken out from
281 arm_scan_prologue. Recognize more ARM instructions and skippable
282 calls. Update comments. Handle NULL cache. Return the address
283 of the first unrecognized instruction. Do not skip past other
284 instructions which change control flow. Add debug output.
285 (arm_scan_prologue): Use arm_analyze_prologue.
287 (shifted_reg_val): Simplify ARM_PC_32 check.
291 * tracepoint.c (tvariables_info_1): Actually compute
292 the number of rows in the result.
296 * remote.c (crc32): Constify `buf' parameter.
297 (remote_verify_memory): New, abstracted out from...
298 (compare_sections_command): ... this. Remove hardcoded target
300 (init_remote_ops): Install remote_verify_memory.
301 * target.c (target_verify_memory): New.
302 * target.h (struct target_ops) <to_verify_memory>: New field.
303 (target_verify_memory): Declare.
307 Implement -trace-save.
309 * mi-cmds.h (mi_cmds_trace_save): Declare.
310 * mi-cmds.c (mi_cmds): Register -trace-save.
311 * mi/mi-main.c (mi_cmd_trace_save): New.
312 * remote.c (remote_save_trace_data): Take const parameter.
313 * target.h (struct target_ops::to_save_trace_data): Take
315 * target.c (update_current_target): Adjust to the above.
316 * tracepoint.c (trave_save): New, extracted from
317 (trace_save_command): ...this.
318 (tfile_trace_find): Remove message that is unnecessary now
319 that 'tfind' reports found frame.
320 * tracepoint.h (trace_save): Declare.
324 Implement -trace-find.
326 * mi/mi-cmds.c (mi_cmds): Register -trace-find.
327 * mi/mi-cmds.h (mi_cmd_trace_find): Declare.
328 * mi/mi-main.c (mi_cmd_trace_find): New.
329 * target.h (struct target_ops): Document to_trace_find.
330 * tracepoint.h (tfind_1): Declare.
331 * tracepoint.c (finish_tfind_command): Rename to...
333 * remote.c (remote_trace_find): Return -1 if target say
334 there's no frame. Improve error diagnostics.
338 -trace-define-variable and -trace-list-variables.
340 * tracepoint.c (create_trace_state_variable): Make
341 private copy of name, as opposed to assuming the
342 pointer lives forever.
343 (tvariables_info_1): New.
344 (tvariables_info): Use the above.
345 * tracepoint.h (create_trace_state_variable, tvariables_info_1):
347 * mi/mi-cmds.c (mi_cmds): Register -trace-define-variable
348 and -trace-list-variables.
349 * mi/mi-cmds.h (mi_cmd_trace_define_variable)
350 (mi_cmd_trace_list_variables): New.
351 * mi/mi-main.c (mi_cmd_trace_define_variable)
352 (mi_cmd_trace_list_variables): New.
356 Implement -break-passcount.
358 * mi/mi-cmd-break.c (mi_cmd_break_passcount): New.
359 * mi/mi-cmds.c (mi_cmds): Register -break-passcount.
360 * mi/mi-cmds.h (mi_cmd_break_passcount): Declare.
364 -trace-start/-trace-end/-trace-status.
366 * mi/mi-cmds.c (mi_cmds): Register -trace-start, -trace-status
368 * mi/mi-cmds.h (mi_cmd_trace_start, mi_cmd_trace_status)
369 (mi_cmd_trace_stop): Declare.
370 * mi/mi-main.c (mi_cmd_trace_start, mi_cmd_trace_status)
371 (mi_cmd_trace_stop): New.
372 * tracepoint.c (start_tracing): New, extracted from...
373 (trace_start_command): ...this.
374 (trace_status_mi): New.
375 * tracepoint.h (struct trace_status): Document
377 (start_tracing, stop_tracing, trace_status_mi): Declare.
381 Implement creating tracepoints with -break-insert.
383 * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a
384 to mean that tracepoint should be created.
388 * breakpoint.c (check_no_tracepoint_commands): Use
389 current spelling of 'teval'.
393 Unify actions and commands
395 * defs.h (read_command_lines, read_command_lines_1): New
396 parameters validator and closure.
397 * tracepoint.h (struct action_line): Remove.
398 * breakpoint.h (struct breakpoint): Remove the 'actions'
400 * defs.h (enum command_control_type): New value
401 while_stepping_control.
402 (struct command_line): Add comments.
403 * breakpoint.c (breakoint_is_tracepoint): New.
404 (breakpoint_set_commands): For tracepoints,
405 verify the commands are permissible.
406 (check_tracepoint_commands): New.
407 (commands_command): Require that each new line is validated using
408 check_tracepoint_command, if we set commands for a tracepoint.
409 (create_tracepoint_from_upload): Likewise.
410 (print_one_breakpoint_location): Remove the code to print
411 actions specifically.
412 (tracepoint_save_command): Relay to print_command_lines.
413 * cli/cli-script.c (process_next_line): New parameters validator
414 and closure. Handle 'while-stepping'. Call validator if not null.
415 (read_command_lines, read_command_lines1): Likewise.
416 (recurse_read_control_structure): New parameters validator and
417 closure. Handle while_stepping_control.
418 (print_command_lines): Handle while-stepping.
419 (get_command_line, define_command, document_command): Adjust.
420 * remote.c (remote_download_tracepoint): Adjust.
421 * tracepoint.c (make_cleanup_free_actions, read_actions)
422 (free_actions, do_free_actions_cleanup): Remove.
423 (trace_actions_command): Use read_command_lines.
424 (validate_actionline): Use error in one place.
425 (encode_actions_1): New, extracted from...
426 (encode_actions): ...this. Also use cleanups for exception
428 (trace_dump_command): Adjust.
429 * mi/mi-cmd-break (mi_cmd_break_commands): Validate commands if
434 * Makefile.in (OPCODES_CFLAGS): Add -I$(OPCODES_SRC)/..
438 * value.c (value_static_field): Be lazy about the field's value.
443 * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Add
445 (disable_breakpoints_in_shlibs): Likewise.
449 * dwarf2read.c (partial_die_parent_scope): Work around buggy
450 GCC 4.1 debug info generation (GCC PR c++/28460).
451 (determine_prefix): Likewise.
455 * tui/tui-disasm.c (tui_get_begin_asm_address): Default to
457 * tui/tui-layout.c (extract_display_start_addr): Likewise.
461 * ax-gdb.c (gen_fetch): Handle bool.
462 (gen_usual_unary): Ditto.
464 (gen_equal): New function.
465 (gen_less): New function.
466 (gen_expr_binop_rest): Call them, also return integer type from
472 * jv-lang.c (jv_dynamics_objfile_data_key)
473 (jv_type_objfile_data_key): New globals.
474 (class_symtab): Move earlier.
475 (jv_per_objfile_free): New function.
476 (get_dynamics_objfile): Call set_objfile_data. Add 'gdbarch'
478 Remove ancient #if 1.
479 (add_class_symbol): Remove redundant declaration.
480 (java_lookup_class): Use alloc_type, not alloc_type_arch.
481 (java_link_class_type): Mark as static. Update.
482 (jv_clear_object_type): New function.
483 (set_java_object_type): Likewise.
484 (get_java_object_type): Use set_java_object_type.
485 (is_object_type): Likewise.
486 (_initialize_java_language): Register new objfile keys.
487 (get_java_class_symtab): Add 'gdbarch' parameter.
488 (add_class_symtab_symbol): Update.
489 (type_from_class): Update.
493 * ax-general.c (ax_const_l): Fix a sizing bug.
502 * target.h (struct target_ops): New method
503 to_set_circular_trace_buffer.
504 (target_set_circular_trace_buffer): New macro.
505 * target.c (update_current_target): Add
506 to_set_circular_trace_buffer, fix to_set_disconnected_tracing
508 * remote.c (remote_set_circular_trace_buffer): New function.
509 (init_remote_ops): Add it to vector.
510 * tracepoint.h (struct trace_status): New field traceframes_created,
511 change buffer_size and buffer_free to int.
512 * tracepoint.c (circular_trace_buffer): New global.
513 (start_tracing): Send values of disconnected tracing and circular
514 trace buffer settings.
515 (set_circular_trace_buffer): New function.
516 (parse_trace_state): Handle total space and frames created.
517 (trace_status_command): Display total space and total frames
519 (trace_save): Write out new status values.
520 (parse_trace_status): Set traceframe_count, traceframes_created,
521 buffer_free and buffer_size to -1 by default.
522 (_initialize_tracepoint): New setshow for circular-trace-buffer.
523 * NEWS: Mention the circular trace buffer option.
527 * infcmd.c (finish_command_continuation): Wrap print_return_value
532 * dwarf2read.c (add_partial_subprogram): Make sure the subprogram
533 DIE has a name before creating the associated partial symbol.
534 (read_func_scope): Emit a complaint if the subprogram does not
535 have a name or when we can't extract the subprogram PC bounds.
539 * mi/mi-main.c (mi_cmd_list_thread_groups): Use get_current_arch
540 instead of selected frame architecture.
544 * infcmd.c (until_command): Use ERROR_NO_INFERIOR. Ensure there's
545 a valid selected thread, and that it is not running.
546 (advance_command): Ditto.
547 (finish_command): Ditto.
551 * ax-gdb.c (require_rvalue): Disallow non-scalars.
553 * infcall.c: Include tracepoint.h.
554 (call_function_by_hand): Disallow calls in tfind mode.
555 * infcmd.c: Include tracepoint.h.
556 (ensure_not_tfind_mode): New function.
557 (continue_1): Call it.
559 (jump_command): Ditto.
560 (signal_command): Ditto.
561 (advance_command): Ditto.
562 (until_command): Ditto.
563 (finish_command): Ditto.
564 * tracepoint.h (disconnect_or_stop_tracing): Declare.
566 * ax-gdb.h (struct axs_value): New field optimized_out.
567 (gen_trace_for_var): Add gdbarch argument.
568 * ax-gdb.c (gen_trace_static_fields): New function.
569 (gen_traced_pop): Call it, add gdbarch argument.
570 (gen_trace_for_expr): Update call to it.
571 (gen_trace_for_var): Ditto, and report optimized-out variables.
572 (gen_struct_ref_recursive): Check for optimized-out value.
573 (gen_struct_elt_for_reference): Ditto.
574 (gen_static_field): Pass gdbarch instead of expression, assume
575 optimization if field not found.
576 (gen_var_ref): Set the optimized_out flag.
577 (gen_expr): Error on optimized-out variable.
578 * tracepoint.c (collect_symbol): Handle struct-valued vars as
579 expressions, skip optimized-out variables with computed locations.
580 * dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of
581 erroring out if location expression missing.
582 (loclist_tracepoint_var_ref): Don't error out here.
586 * dwarf2read.c (dwarf2_get_section_info): Handle case where no
587 DWARF data is available.
591 * symfile.c (generic_load): Reset breakpoints after loading.
595 * linux-nat.c (linux_nat_detach): Check debug_linux_nat.
599 * spu-tdep.c (spu_catch_start): Replace set_breakpoint call with the
600 create_breakpoint call, adjust the parameters.
605 * dwarf2read.c (read_subrange_type): Set TYPE_HIGH_BOUND_UNDEFINED.
606 * valarith.c (value_subscripted_rvalue): Suppress error if
607 TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED.
611 * linux-record.c (record_linux_msghdr): Remove unintended semicolons.
615 * ada-tasks.c (task_command_1): Check that the task ptid is valid
616 before doing the associated thread switch.
620 * MAINTAINERS: Update my email address.
624 Simplify MI breakpoint setting.
626 * breakpoint.c (break_command_really): Make nonstatic and
628 (create_breakpoint): ...this. Rename prior function by this name
630 (create_breakpoint_sal): ...this.
631 (create_breakpoints): Rename to...
632 (create_breakpoints_sal): ...this.
633 (set_breakpoint): Remove.
634 * breakpoint.h: Adjust to above changes.
635 * mi/mi-cmd-break.c (mi_cmd_break_insert): Simplify.
639 * ax-gdb.c: Include cp-support.h.
640 (find_field): Remove.
641 (gen_primitive_field): New function.
642 (gen_struct_ref_recursive): New function.
643 (gen_struct_ref): Rewrite to call gen_struct_ref_recursive instead
645 (gen_static_field): New function.
646 (gen_struct_elt_for_reference): New.
647 (gen_namespace_elt): New.
648 (gen_maybe_namespace_elt): New.
649 (gen_aggregate_elt_ref): New.
650 (gen_expr): Add OP_SCOPE, display opcode name in error message.
654 * dwarf2read.c (die_needs_namespace): Also return 0 for
660 * cp-support.h: Added char *declaration element to using_direct
662 (cp_add_using): Added char *declaration argument.
663 (cp_add_using_directive): Ditto.
664 (cp_lookup_symbol_imports): made extern.
665 * cp-namespace.c: Updated with the above changes.
666 * dwarf2read.c (read_import_statement): Ditto.
667 (read_namespace): Ditto.
668 (read_import_statement): Support import declarations.
669 * cp-namespace.c (cp_lookup_symbol_imports): Check for imported
671 Added support for 'declaration_only' search.
672 (cp_lookup_symbol_namespace): Attempt to search for the name as
673 is before consideration of imports.
674 * symtab.c (lookup_symbol_aux_local): Added a 'declaration_only'
675 search at every block level search.
676 Now takes language argument.
677 (lookup_symbol_aux): Updated.
681 * c-exp.y (name_not_typename): Add 'operator' clause.
685 * configure.ac: Exit if ${gdb_target_obs}" is not set.
686 * configure: Regenerate.
690 * symfile.c (addr_info_make_relative): Ignore also missing ".dynbss"
691 and ".sdynbss". Update the comment.
695 * MAINTAINERS: Update my email address.
699 * gdbtypes.h (TYPE_IS_OPAQUE): Correct HAVE_CPLUS_STRUCT check.
703 * charset.c [USE_WIN32API]: Include <windows.h>.
704 (_initialize_charset): Correct type of w32_host_default_charset.
708 * infrun.c (ptid_match): Don't assert that PTID is not a pid ptid.
713 * dwarf2read.c (die_needs_namespace) <DW_TAG_variable>: A variable
714 in a lexical block does not need a namespace.
715 (new_symbol) <DW_TAG_variable>: Put extern variables on
716 list_in_scope in all cases.
720 * ax-gdb.c (gen_expr): Add shift expressions.
721 (gen_expr_binop_rest): Ditto.
725 * buildsym.c (finish_block): Reset using_directives pointer
726 after block initialization.
730 * amd64-tdep.c (amd64_word_names): Replace "sp" with "".
731 * i386-tdep.c (i386_word_names): Likewise.
735 * target.c (memory_xfer_partial): Don't use the stack cache if
736 inspecting trace frames.
737 * tracepoint.c (finish_tfind_command): Invalidate the target
742 * solib-svr4.c (LM_ADDR_CHECK) <info_verbose>: Use printf_unfiltered
743 for the PIC displacement, print also the displacement value.
744 (svr4_exec_displacement): Print DISPLACEMENT if INFO_VERBOSE.
748 * remote-mips.c (close_ports, mips_initialize_cleanups)
749 (mips_exit_cleanups, mips_send_command, mips_open, pmon_open)
750 (ddb_open, lsi_open, mips_remove_breakpoint, mips_remove_watchpoint)
751 (mips_stopped_by_watchpoint, send_srec, pmon_checkset)
752 (pmon_make_fastrec, pmon_check_ack, mips_expect_download)
753 (pmon_check_entry_address, pmon_check_total, pmon_end_download)
754 (pmon_download, pmon_load_fast, _initialize_remote_mips): Add
755 comments describing each of these functions.
756 (mips_enter_debug, mips_exit_debug, common_open)
757 (mips_signal_from_protocol, pmon_makeb64, pmon_zeroset): Add
758 blank line after the comment describing the function.
762 * solib-svr4.c (svr4_exec_displacement): Return now success, new
763 parameter displacementp. Update comment.
764 (svr4_relocate_main_executable): Return if non-zero SECTION_OFFSETS
765 element exists. Return if svr4_exec_displacement was not successful.
771 * solib-svr4.c (read_program_header): Support type == -1 to read
773 (read_program_headers_from_bfd): New function.
774 (svr4_static_exec_displacement): Remove and move the comment ...
775 (svr4_exec_displacement): ... here. Remove variable found. New
776 variable displacement. Check also DYNAMIC. Verify DISPLACEMENT
777 alignment for ELF targets. Compare target vs. exec_bfd PHDRs for ELF
778 targets using read_program_headers_from_bfd. Remove the call of
779 svr4_static_exec_displacement.
783 * dwarf2read.c (struct pubnames_header): Remove.
784 (_PUBNAMES_HEADER): Remove.
785 (_ACTUAL_PUBNAMES_HEADER_SIZE): Remove.
786 (struct aranges_header): Remove.
787 (_ARANGES_HEADER, _ACTUAL_ARANGES_HEADER_SIZE): Remove.
788 (struct dwarf2_per_objfile) <pubnames, aranges>: Remove.
789 (PUBNAMES_SECTION): Remove.
790 (ARANGES_SECTION): Remove.
791 (dwarf2_locate_sections): Don't handle pubnames or aranges.
792 (dwarf2_build_psymtabs): Remove dead code.
793 (dwarf2_build_psymtabs_easy): Remove.
797 * elfread.c (elf_symfile_read): Don't call
798 dwarf2_build_frame_info.
799 * dwarf2read.c (struct dwarf2_section_info) <readin>: New field.
800 (struct dwarf2_per_objfile) <objfile>: New field.
801 (dwarf2_has_info): Now idempotent. Set objfile field.
802 (dwarf2_read_section): Check and set readin field. Call
804 (dwarf2_build_psymtabs): Don't read all sections.
805 (read_type_comp_unit_head): Read types section.
806 (create_debug_types_hash_table): Likewise.
807 (init_cu_die_reader): Add asserts.
808 (process_type_comp_unit): Add assert.
809 (dwarf2_build_psymtabs_hard): Read info section.
810 (load_partial_comp_unit): Add assert.
811 (create_all_comp_units): Read info section.
812 (load_full_comp_unit): Likewise.
813 (dwarf2_ranges_read): Read ranges section.
814 (dwarf2_record_block_ranges): Add assert.
815 (dwarf2_read_abbrevs): Read abbrev section.
816 (read_indirect_string): Read str section.
817 (dwarf_decode_line_header): Read line section.
818 (read_signatured_type_at_offset): Read types section.
819 (dwarf_decode_macros): Read macinfo section.
820 (dwarf2_symbol_mark_computed): Read loc section.
821 * dwarf2-frame.c (dwarf2_frame_find_fde): Call
822 dwarf2_build_frame_info.
823 (dwarf2_build_frame_info): Unconditionally set
824 dwarf2_frame_objfile_data on the objfile.
825 * configure.ac: Check for posix_madvise.
826 * config.in, configure: Rebuild.
830 * xcoffread.c (xcoff_start_psymtab): Update.
831 (xcoff_end_psymtab): Update.
832 * psymtab.c (allocate_psymtab): Remove dead code.
833 * psympriv.h (struct partial_symtab) <read_symtab_private>: Now
835 * mdebugread.c (parse_partial_symbols): Update.
836 (new_psymtab): Likewise.
837 * dwarf2read.c (process_psymtab_comp_unit): Update.
838 (psymtab_to_symtab_1): Update.
839 * dbxread.c (start_psymtab): Update.
840 (end_psymtab): Likewise.
844 * xcoffread.c: Include psymtab.h.
845 (xcoff_sym_fns): Update.
846 * symtab.h (struct partial_symbol): Remove.
847 (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove.
848 (struct partial_symtab): Remove.
849 (PSYMTAB_TO_SYMTAB): Remove.
850 (lookup_partial_symbol, lookup_partial_symtab, find_pc_psymtab)
851 (find_pc_sect_psymtab): Remove.
852 (find_pc_sect_symtab_via_partial): Declare.
853 (find_pc_psymtab, find_pc_sect_psymbol, psymtab_to_symtab)
854 (find_main_psymtab): Remove.
855 (find_main_filename): Declare.
856 (fixup_psymbol_section): Remove.
857 (fixup_section): Declare.
858 * symtab.c: Include psymtab.h.
859 (lookup_symtab): Use lookup_symtab method.
860 (lookup_partial_symtab): Remove.
861 (find_pc_sect_psymtab_closer): Remove.
862 (find_pc_sect_psymtab): Remove.
863 (find_pc_sect_symtab_via_partial): New function.
864 (find_pc_psymtab, find_pc_sect_psymbol, find_pc_psymbol): Remove.
865 (fixup_section): No longer static.
866 (fixup_psymbol_section): Remove.
867 (lookup_symbol_aux): Use lookup_symbol_aux_quick.
868 (lookup_global_symbol_from_objfile): Likewise.
869 (lookup_symbol_aux_psymtabs): Remove.
870 (lookup_symbol_aux_quick): New function.
871 (lookup_symbol_global): Use lookup_symbol_aux_quick.
872 (lookup_partial_symbol): Remove.
873 (basic_lookup_transparent_type_quick): New function.
874 (basic_lookup_transparent_type): Use it.
875 (find_main_psymtab): Remove.
876 (find_main_filename): New function.
877 (find_pc_sect_symtab): Use find_pc_sect_symtab method.
878 (find_line_symtab): Use expand_symtabs_with_filename method.
879 (output_partial_symbol_filename): New function.
880 (sources_info): Use map_partial_symbol_filenames.
881 (struct search_symbols_data): New type.
882 (search_symbols_file_matches): New function.
883 (search_symbols_name_matches): Likewise.
884 (search_symbols): Use expand_symtabs_matching method.
885 (struct add_name_data): Rename from add_macro_name_data.
886 (add_macro_name): Update.
887 (add_partial_symbol_name): New function.
888 (default_make_symbol_completion_list): Use
889 map_partial_symbol_names.
890 (struct add_partial_symbol_name): New type.
891 (maybe_add_partial_symtab_filename): New function.
892 (make_source_files_completion_list): Use
893 map_partial_symbol_filenames.
894 (expand_line_sal): Use expand_symtabs_with_filename method.
895 * symmisc.c: Include psymtab.h.
896 (print_objfile_statistics): Use print_stats method.
897 (dump_objfile): Use dump method.
898 (dump_psymtab, maintenance_print_psymbols)
899 (maintenance_info_psymtabs, maintenance_check_symtabs)
900 (extend_psymbol_list): Remove.
901 * symfile.h (struct quick_symbol_functions): New struct.
902 (struct sym_fns) <qf>: New field.
903 (sort_pst_symbols): Remove.
904 (increment_reading_symtab): Declare.
905 * symfile.c: Include psymtab.h.
906 (compare_psymbols, sort_pst_symbols): Remove.
907 (psymtab_to_symtab): Remove.
908 (increment_reading_symtab): New function.
909 (symbol_file_add_with_addrs_or_offsets): Use expand_all_symtabs
911 (set_initial_language): Use find_main_filename.
912 (allocate_psymtab, discard_psymtab, cashier_psymtab): Remove.
913 (free_named_symtabs): Remove unused code.
914 (start_psymtab_common, add_psymbol_to_bcache)
915 (append_psymbol_to_list, add_psymbol_to_list, init_psymbol_list):
917 * stack.c: Include psymtab.h, symfile.h.
918 (backtrace_command_1): Use find_pc_sect_symtab_via_partial.
919 * source.h (psymtab_to_fullname): Don't declare.
920 * source.c: Include psymtab.h.
921 (select_source_symtab): Use find_last_source_symtab method.
922 (forget_cached_source_info): Use forget_cached_source_info
924 (find_and_open_source): No longer static.
925 (psymtab_to_fullname): Remove.
926 * somread.c: Include psymtab.h.
927 (som_sym_fns): Update.
928 * psympriv.h: New file.
929 * psymtab.h: New file.
930 * psymtab.c: New file.
931 * objfiles.h: (ALL_OBJFILE_PSYMTABS): Remove.
932 (ALL_PSYMTABS, ALL_PSPACE_PSYMTABS): Likewise.
933 * objfiles.c: Include psymtab.h.
934 (objfile_relocate1): Use relocate method.
935 (objfile_has_partial_symbols): Use has_symbols method.
936 * mipsread.c: Include psymtab.h.
937 (ecoff_sym_fns): Update.
938 * mi/mi-cmd-file.c: Include psymtab.h.
939 (print_partial_file_name): New function.
940 (mi_cmd_file_list_exec_source_files): Use
941 map_partial_symbol_filenames.
942 * mdebugread.c: Include psympriv.h.
943 * machoread.c: Include psympriv.h.
944 (macho_sym_fns): Update.
945 * m2-exp.y (yylex): Use lookup_symtab.
946 * elfread.c: Include psympriv.h.
947 (elf_sym_fns): Update.
948 * dwarf2read.c: Include psympriv.h.
949 * dbxread.c: Include psympriv.h.
950 (aout_sym_fns): Update.
951 * cp-support.c: Include psymtab.h.
952 (read_in_psymtabs): Remove.
953 (make_symbol_overload_list_qualified): Use
954 expand_symtabs_for_function method.
955 * coffread.c: Include psympriv.h.
956 (coff_sym_fns): Update.
957 * blockframe.c: Include psymtab.h.
958 (find_pc_partial_function): Use find_pc_sect_symtab method.
959 * ada-lang.h (ada_update_initial_language): Update.
960 * ada-lang.c: Include psymtab.h.
961 (ada_update_initial_language): Remove 'main_pst' argument.
962 (ada_lookup_partial_symbol): Remove.
963 (struct ada_psym_data): New type.
964 (ada_add_psyms): New function.
965 (ada_add_non_local_symbols): Use map_ada_symtabs method.
966 (struct add_partial_datum): New type.
967 (ada_add_partial_symbol_completions): New function.
968 (ada_make_symbol_completion_list): Use map_partial_symbol_names.
969 (ada_exception_support_info_sniffer): Update.
970 * Makefile.in (SFILES): Add psymtab.c.
971 (COMMON_OBS): Add psymtab.o.
972 (HFILES_NO_SRCDIR): Add psymtab.h, psympriv.h.
976 * remote-fileio.c (cygwin_conv_path): Define macro for old cygwin API.
981 * cp-namespace.c (cp_add_using): Deleted.
982 (cp_add_using_directive): Use obstack allocations.
983 Merged the function cp_add_using into this one.
984 Added 'struct obstack *' argument.
985 (cp_scan_for_anonymous_namespaces): Updated.
986 * cp-support.h: Updated.
987 * dwarf2read.c (read_import_statement): Updated.
988 (read_namespace): Updated.
992 * windows-nat.c (cygwin_conv_path): Remove old macro.
996 * breakpoint.c (condition_command): Handle watchpoint conditions.
997 (is_hardware_watchpoint): Add comment.
998 (is_watchpoint): New.
999 (update_watchpoint): Don't reparse the watchpoint's condition
1002 (watchpoint_check): Use it.
1003 (bpstat_check_watchpoint): Handle it.
1004 (bpstat_check_breakpoint_conditions): Evaluate watchpoint local
1005 conditions in a frame where it makes sense.
1006 (watch_command_1): Store the innermost block of the condition
1008 (delete_breakpoint): Delete the watchpoint condition expression.
1009 * breakpoint.h (struct bp_location) <cond>: Update comment.
1010 (struct breakpoint): New field `cond_exp_valid_block'.
1014 Adjust handling of Ada DIEs after dwarf2_physname patch.
1015 * dwarf2read.c (dwarf2_compute_name): Add handling of Ada DIEs.
1020 * windows-nat.c (cygwin_conv_path): Redefine to properly convert
1021 from/to posix/win32.
1022 (windows_make_so): Use non-Cygwin 1.7 specific function.
1023 (windows_create_inferior): Make sure that cygallargs points to
1024 original args in non Cygwin 1.7. case.
1028 * i386-tdep.c (i386_record_lea_modrm_addr): Use extract_signed_int
1029 after target_read_memory to get host byte order.
1030 (i386_process_record): Ditto.
1035 * c-typeprint.c (cp_type_print_method_args): For non-static methods,
1036 print out const or volatile qualifiers, too.
1037 (c_type_print_args): Add parameters show_artificial and language.
1038 Skip artificial parameters when requested.
1039 Use the appropriate language printer.
1040 (c_type_print_varspec): Tell c_type_print_args to skip artificial
1041 parameters and pass language_c.
1042 * dwarf2read.c (die_list): New file global.
1043 (struct partial_die_info): Update comments for name field.
1044 (pdi_needs_namespace): Renamed to ...
1045 (die_needs_namespace): ... this. Rewrite.
1046 (dwarf2_linkage_name): Remove.
1047 (add_partial_symbol): Do not predicate the call to
1048 partial_die_full_name based on pdi_needs_namespace.
1049 Remove call to cp_check_possible_namespace_symbols and associated
1051 (guess_structure_name): Do not inspect child subprogram DIEs.
1052 (dwarf2_fullname): Update comments.
1053 Use die_needs_namespace to assist in computing the name.
1054 (read_func_scope): Use dwarf2_name to get the DIE's name.
1055 Use dwarf2_physname to get the "linkage name" of the DIE.
1056 (dwarf2_add_member_field): Use dwarf2_physname instead of
1057 dwarf2_linkage_name.
1058 (read_structure_type): For structs and classes, set TYPE_NAME, too.
1059 (determine_class): Remove.
1060 (read_partial_die): Ignore DW_AT_MIPS_linkage_name for all languages
1062 (new_symbol): Unconditionally call dwarf2_name.
1063 Compute the "linkage name" using dwarf2_physname.
1064 Use dwarf2_name instead of dwarf2_full_name for enumerator DIEs.
1065 When determining to scan for anonymous C++ namespaces, ignore
1067 (dwarf2_physname): New function.
1068 (dwarf2_full_name): Move content to new function and call
1070 (dwarf2_compute_name): "New" function.
1071 (_initialize_dwarf2_read): Initialize die_list.
1072 * gnu-v3-eabi.c (gnu_v3_find_method_in): Remove unused variable
1074 (gnu_v3_print_method_ptr): Use the physname for virtual methods
1075 without a demangled name.
1076 Print out type information for non-virtual methods.
1077 * linespec.c (decode_line_1): Force ANY string using "::" (or
1078 "." for java) to use decode_compound, and clean up any stray quoting.
1079 If we found a file symtab, re-evaluate whether the remainder is_quoted.
1080 (decode_compound): Stop consuming at an open parenthesis.
1081 Keep template parameters.
1082 Keep any overload information.
1083 Keep keywords like "const".
1084 Remove paren_pointer.
1085 Move is_quoted check from set_flags to here.
1086 Remove #if 0 code from 2000. Ten years is long enough.
1087 (find_method): Before comparing symbol names, canonicalize the string
1089 If a specific overload is requested, find it. Otherwise throw an error.
1090 (find_method_overload_end): New function.
1091 (set_flags): Remove.
1092 (decode_compound): Assume that parentheses are matched.
1094 * symtab.c (symbol_find_demangled_name): Add DMGL_VERBOSE flag
1096 * linespec.c (decode_line_1): Keep important keywords like
1097 "const" and "volatile".
1098 * symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): Remove.
1099 * typeprint.h (c_type_print_args): Add declaration.
1100 * ui-file.c (do_ui_file_obsavestring): New function.
1101 (ui_file_obsavestring): New function.
1102 * ui-file.h (ui_file_obsavestring): Add declaration.
1103 * valops.c (find_overload_match): Resolve the object to
1105 If the object is a data member, search the object for the member
1106 and return with staticp set.
1107 Use SYMBOL_NATURAL_NAME instead of SYMBOL_CPLUS_DEMANGLED_NAME.
1108 Do not attempt to extract a function name from non-function types.
1109 If the extracted function name and the original name are the same,
1110 we don't have a C++ method.
1113 * dwarf2read.c (new_symbol <DW_TAG_enumerator>): Call dwarf2_full_name.
1115 * ada-lang.c (ada_lookup_symbol): Remove linkage_name parameters
1116 and arguments from symbol lookups.
1117 * ax-gdb.c (gen_expr): Likewise.
1118 * cp-namespace.c (cp_lookup_symbol_nonlocal, lookup_namespace_scope,
1119 cp_lookup_symbol_namespace, lookup_symbol_file, lookup_nested_type,
1120 lookup_possible_namespace_symbol): Likewise.
1121 * cp-support.c (read_in_psymtabs): Likewise.
1122 * cp-support.h (cp_lookup_symbol_nonlocal): Likewise.
1123 * language.h (la_lookup_symbol_nonlocal): Likewise.
1124 * scm-valprint.c (scm_inferior_print): Likewise.
1125 * solib-darwin.c (darwin_relocate_section_addresses): Likewise.
1126 * solib-svr.c (elf_lookup_lib): Likewise.
1127 * solib.c (show_auto_solib_add): Likewise.
1128 * solist.h (lookup_lib_global, solib_global_lookup): Likewise.
1129 * symmisc.c (maintenance_check_symtabs): Likewise.
1130 * symtab.c (lookup_symbol_in_language, lookup_symbol_aux,
1131 lookup_symbol_aux_local, lookup_symbol_aux_block,
1132 lookup_symbol_from_objfile, lookup_symbol_aux_symtabs,
1133 lookup_symbol_aux_psymtabs,basic_lookup_symbol_nonlocal,
1134 lookup_symbol_static, lookup_symbol_global, symbol_matches_domain,
1135 basic_lookup_transparent_type, find_main_psymtab,
1136 lookup_block_symbol): Likewise.
1137 * symtab.h (basic_lookp_symbol_nonlocal, lookup_symbol_static,
1138 lookup_symbol_global, lookup_symbol_aux_block,
1139 lookup_symbol_partial_symbol, lookup_block_symbol,
1140 lookup_global_symbol, value_maybe_namespace_elt): Likewise.
1144 * python/python-internal.h: Include symtab.h.
1149 * p-lang.c (is_pascal_string_type): Remove unneeded parentheses.
1150 * p-valprint.c (pascal_val_print): Remove undeed block and fix
1155 * breakpoint.c (breakpoint_1): Add "QUIT".
1160 * solib.c (solib_find): Replace extension if
1161 solib_symbols_extension is set in the target gdbarch.
1162 * arm-symbian-tdep.c (arm_symbian_init_abi): Set
1163 solib_symbols_extension to "sym".
1164 * gdbarch.sh (solib_symbols_extension): New variable.
1165 (pstring): New function.
1166 * gdbarch.h, gdbarch.c: Regenerate.
1172 * utils.c: Include main.h.
1173 (fputs_maybe_filtered): Don't paginate if `batch_flag'.
1174 (defaulted_query): Use default answer if `batch_flag'.
1175 * main.h (batch_flag): Declare.
1176 * main.c (batch_flag): New global.
1177 (captured_main): Remove 'batch'. Update.
1181 From Richard Sandiford, Martin M. Hunt, Corinna Vinschen,
1184 * remote-mips.c (rockhopper_ops): New target_ops struct.
1185 (MON_ROCKHOPPER): New mips_monitor_type.
1186 (read_hex_value): New function.
1187 (mips_request): Send 8-byte values with a 'T' packet. Read the
1188 packet argument as a string and use read_hex_value to parse it.
1189 (mips_exit_debug): Wait for response when using MON_ROCKHOPPER.
1190 (rockhopper_open): New function.
1191 (mips_wait): Read the PC, FP and SP fields as strings. Use
1192 read_hex_value to parse them and mips_set_register to commit them.
1193 (mips_set_register): New function.
1194 (mips_fetch_registers): Do not cast register value to "unsigned"
1195 when reading a MON_ROCKHOPPER 't' packet. Use mips_set_register.
1196 (mips_store_registers): Use a 'T' packet to set registers when
1197 using MON_ROCKHOPPER.
1198 (pmon_end_download): Don't run initEther if using MON_ROCKHOPPER
1199 and expect the total to be printed before the entry address.
1200 (_initialize_remote_mips): Initialize and add rockhopper_ops.
1204 * remote-mips.c (mips_fetch_word): Add new parameter, `valp'.
1205 Change return value to int. Store value fetched in location
1206 addressed by `val'. Use function's return value as success
1207 or failure indicator. Adjust all callers.
1211 * p-lang.c (is_pascal_string_type): Check that TYPE arg is non NULL.
1216 * record.c (record_open_1): Check tmp_to_stopped_by_watchpoint and
1217 tmp_to_stopped_data_address.
1218 (record_open): Reset tmp_to_stopped_by_watchpoint and
1219 tmp_to_stopped_data_address.
1220 * target.c (init_dummy_target): Add to_stopped_by_watchpoint and
1221 to_stopped_data_address.
1225 * i386-tdep.c (i386_process_record): Initialize regnum.
1229 * symfile.c (addr_info_make_relative): New variable sect_name, use it.
1230 Do not warn on ".gnu.liblist" and ".gnu.conflict".
1234 Memory error when reading wrong core file.
1235 * solib-svr4.c (solib_svr4_r_map): catch and print all exception
1236 errors while reading the inferior memory, and return zero if
1237 an exception was raised.
1241 * record.c (record_restore): Rename tmpu8 to rectype.
1243 * i386-tdep.c (i386_record_lea_modrm_addr): Rename local variables
1244 tmpu8, tmpi16, tmpi32, tmpulongest to addr8, addr16, addr32, addr64.
1246 (i386_record_push): Rename local tmpulongest to addr.
1248 (i386_process_record): Rename local tmpulongest to addr.
1250 Rename local variables tmpu16, tmpu32, tmpu64 to addr16, addr32,
1253 Rename local variable tmpu8 to opcode8 and regnum.
1257 * remote.c (remote_get_ada_task_ptid): New function.
1258 (init_remote_ops): Set remote_ops.to_get_ada_task_ptid.
1262 * windows-nat.c: Reorganize #ifdef __CYGWIN__ considerations into one
1263 block. Define helper macros to reduce ifdefs in code.
1264 (get_module_name): Use cygwin_buf_t for buffer and __PMAX for buffer
1265 size. Call unadorned GetModuleFileNameEx rather than
1266 GetModuleFileNameEx*.
1267 (windows_make_so): Use __PMAX to denote maximum buffer size and
1268 cygwin_buf_t for buffer type. Use GetSystemDirectory{W,A} as
1270 (get_image_name): Use __PMAX to denote maximum buffer size.
1271 (handle_load_dll): Likewise.
1272 (windows_pid_to_exec_file): Likewise.
1273 (windows_create_inferior): Add many accommodations for older Cygwin and
1275 (bad_GetModuleFileNameExW): Control inclusion of this function based on
1276 __USEWIDE conditional.
1277 (bad_GetModuleFileNameExA): Likewise.
1278 (_initialize_loadable): Just use real function names without the dyn_
1279 part since they are defined earlier.
1284 * utils.c (host_char_to_target): Add 'gdbarch' argument.
1285 (parse_escape): Likewise.
1286 * python/py-utils.c (unicode_to_target_string): Update.
1287 (unicode_to_target_python_string): Update.
1288 (target_string_to_unicode): Update.
1289 * printcmd.c (printf_command): Update.
1290 * p-exp.y (yylex): Update.
1291 * objc-exp.y (yylex): Update.
1292 * mi/mi-parse.c: Include charset.h.
1293 (mi_parse_escape): New function.
1294 (mi_parse_argv): Use it.
1295 * jv-exp.y (yylex): Update.
1296 * i386-cygwin-tdep.c (i386_cygwin_auto_wide_charset): New
1298 (i386_cygwin_init_abi): Call set_gdbarch_auto_wide_charset.
1299 * gdbarch.sh (auto_charset, auto_wide_charset): New.
1300 * gdbarch.c: Rebuild.
1301 * gdbarch.h: Rebuild.
1302 * defs.h (parse_escape): Update.
1303 * cli/cli-setshow.c: Include arch-utils.h.
1304 (do_setshow_command): Update.
1305 * cli/cli-cmds.c (echo_command): Update.
1306 * charset.h (target_charset, target_wide_charset): Update.
1307 * charset.c: Include arch-utils.h.
1308 (target_charset_name): Default to "auto".
1309 (target_wide_charset_name): Likewise.
1310 (show_target_charset_name): Handle "auto".
1311 (show_target_wide_charset_name): Likewise.
1312 (be_le_arch): New global.
1313 (set_be_le_names): Add 'gdbarch' argument.
1314 (validate): Likewise. Don't call set_be_le_names.
1315 (set_charset_sfunc, set_host_charset_sfunc)
1316 (set_target_charset_sfunc, set_target_wide_charset_sfunc):
1318 (target_charset): Add 'gdbarch' argument.
1319 (target_wide_charset): Likewise. Remove 'byte_order' argument.
1320 (auto_target_charset_name): New global.
1321 (default_auto_charset, default_auto_wide_charset): New functions.
1322 (_initialize_charset): Set auto_target_charset_name. Allow "auto"
1323 for target charsets. Copy result of nl_langinfo. Use GetACP if
1325 * c-lang.c (charset_for_string_type): Add 'gdbarch' argument,
1326 remove 'byte_order' argument. Update.
1327 (classify_type): Likewise.
1328 (c_emit_char): Update.
1329 (c_printchar): Update.
1330 (c_printstr): Update.
1331 (c_get_string): Update.
1332 (evaluate_subexp_c): Update.
1333 * arch-utils.h (default_auto_charset, default_auto_wide_charset):
1335 * python/python.c (gdbpy_target_charset): New function.
1336 (gdbpy_target_wide_charset): Likewise.
1337 (GdbMethods): Update.
1342 * symfile.c (build_section_addr_info_from_objfile): Do not mask
1343 off high address bits.
1347 * python/py-lazy-string.c (gdbpy_extract_lazy_string): Extract
1348 address as UnsignedLongLong, not LongLong.
1353 * remote-mips.c (gdbthread.h): Include.
1354 (remote_mips_ptid): Declare.
1355 (mips_error): Only mourn the inferior when inferior_ptid is non-null.
1356 (common_open): Set inferior_ptid, add it as an inferior, and
1357 as a thread too. Delete FIXME comment regarding start_remote().
1358 (mips_close): Invoke generic_mourn_inferior().
1359 (mips_kill): Make sure that target_mourn_inferior is invoked.
1360 (mips_mourn_inferior): Don't invoke generic_mourn_inferior, as
1361 it's now invoked from mips_close().
1362 (mips_load): Don't null out inferior_ptid. Don't call
1363 clear_symtab_users().
1364 (mips_thread_alive, mips_pid_to_str): New functions.
1365 (_initialize_remote_mips): Initialize remote_mips_ptid. Initialize
1366 to_thread_alive and to_pid_to_str operations.
1370 * dwarf2read.c (skip_one_die) <DW_FORM_ref_addr>: Use offset size
1371 in DWARF 3 and later.
1372 (read_attribute_value) <DW_FORM_ref_addr>: Likewise.
1376 * linespec.c (decode_line_1): Update comments for is_quote_enclosed.
1377 If the filename portion of the linespec was quoted, recheck the
1378 remainder for additional quoting.
1379 (locate_first_half): Skip over completer chars, too.
1383 * printcmd.c (printf_command): Pass dummy argument to
1388 * arm-tdep.c (arm_make_stub_cache): Delete unused locals reg,
1391 * arm-tdep.c (arm_stub_unwind_sniffer): Add comment.
1395 * breakpoint.c (update_watchpoint): Create a sentinel location if
1396 the software watchpoint isn't watching any memory.
1397 (breakpoint_address_bits): Skip dummy software watchpoint locations.
1401 * utils.c (fputs_maybe_filtered): Check if there's already a top
1402 level interpreter before dereferencing it. If there isn't one,
1403 don't paginate either.
1407 * arm-tdep.c (arm_pc_is_thumb): Add heuristic that tries to get
1408 the state right when single stepping.
1409 (arm_get_next_pc_raw, thumb_get_next_pc_raw): New functions.
1410 Get the next PC along with the instruction state.
1411 (thumb_get_next_pc): Remove.
1412 (arm_get_next_pc): Modified to use arm_get_next_pc_raw.
1416 * i386-tdep.c (i386_process_record): Change "addr" to "tmpu64".
1420 * utils.c (fputs_maybe_filtered): Always disable pagination if the
1421 top level interpreter is MI.
1425 * remote.c (remote_download_tracepoint): Iterate over locations.
1426 * tracepoint.c (validate_actionline): Ditto.
1427 (encode_actions): Add location argument.
1428 (trace_dump_command): Check all locations to see if stepping
1434 * NEWS: Add X86 general purpose registers section.
1439 * varobj.c (install_new_value): Handle case where new print_value
1445 * printcmd.c (printf_command): Print end of format string using
1450 * mi/mi-cmd-break.c (mi_read_next_line): Add missing 'void'.
1451 * defs.h (read_command_lines_1): Add missing 'void'.
1452 * cli/cli-script.c (recurse_read_control_structure): Add missing
1454 (read_next_line): Likewise.
1455 (read_command_lines_1): Likewise.
1459 * spu-tdep.c (spu_analyze_prologue): Track instruction to
1460 store backchain as part of prologue.
1464 * progspace.c (update_address_spaces): Update inferior address spaces
1469 * dwarf2read.c (add_partial_subprogram): Add missing baseaddr to
1470 lowpc,highpc args to addrmap_set_empty.
1474 * amd64-tdep.c (amd64_byte_names): New.
1475 (amd64_word_names): Likewise.
1476 (amd64_dword_names): Likewise.
1477 (amd64_pseudo_register_name): Likewise.
1478 (amd64_pseudo_register_read): Likewise.
1479 (amd64_pseudo_register_write): Likewise.
1480 (amd64_init_abi): Set num_byte_regs, num_word_regs, num_dword_regs
1481 and num_mmx_regs. Call set_gdbarch_pseudo_register_read,
1482 set_gdbarch_pseudo_register_write and
1483 set_tdesc_pseudo_register_name. Don't call
1484 set_gdbarch_num_pseudo_regs. Don't set mm0_regnum.
1486 * i386-tdep.c (i386_num_mmx_regs): Removed.
1487 (i386_num_pseudo_regs): Likewise.
1488 (i386_byte_names): New.
1489 (i386_word_names): Likewise.
1490 (i386_byte_regnum_p): Likewise.
1491 (i386_word_regnum_p): Likewise.
1492 (i386_mmx_regnum_p): Updated.
1493 (i386_pseudo_register_name): Make it global. Handle byte and
1494 word pseudo-registers.
1495 (i386_pseudo_register_read): Likewise.
1496 (i386_pseudo_register_write): Likewise.
1497 (i386_pseudo_register_type): Handle byte, word and dword
1499 (i386_register_reggroup_p): Don't include pseudo
1500 registers, except for MXX, in any register groups. Don't
1501 include pseudo byte, word, dword registers in general_reggroup.
1502 (i386_gdbarch_init): Set num_byte_regs, num_word_regs,
1503 num_dword_regs, al_regnum, ax_regnum and eax_regnum. Put MMX
1504 pseudo-registers after word pseudo-registers. Call
1505 set_gdbarch_num_pseudo_regs after calling gdbarch_init_osabi.
1507 * i386-tdep.h (gdbarch_tdep): Add num_mmx_regs, num_byte_regs,
1508 al_regnum, num_word_regs, ax_regnum, num_dword_regs and
1510 (i386_byte_regnum_p): New.
1511 (i386_word_regnum_p): Likewise.
1512 (i386_dword_regnum_p): Likewise.
1513 (i386_pseudo_register_name): Likewise.
1514 (i386_pseudo_register_read): Likewise.
1515 (i386_pseudo_register_write): Likewise.
1519 * target-descriptions.c (tdesc_type): Remove
1520 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
1521 (tdesc_predefined_types): Likewise.
1522 (tdesc_gdb_type): Likewise. Pass NULL to append_flags_type_flag
1523 if flag name is empty.
1524 (maint_print_c_tdesc_cmd): Handle TDESC_TYPE_FLAGS.
1526 * features/i386/32bit-core.xml: Define i386_eflags.
1527 * features/i386/64bit-core.xml: Likewise.
1529 * features/i386/32bit-sse.xml: Define i386_mxcsr.
1530 * features/i386/64bit-sse.xml: Likewise.
1532 * features/i386/amd64-linux.c: Regenerated.
1533 * features/i386/amd64.c: Likewise.
1534 * features/i386/i386-linux.c: Likewise.
1535 * features/i386/i386.c: Likewise.
1539 * gdbtypes.c (append_composite_type_field_raw): New.
1540 (append_composite_type_field_aligned): Use the new function.
1541 * gdbtypes.h (append_composite_type_field_raw): Declare.
1542 * target-descriptions.c (struct tdesc_type_field): Add start and end.
1543 (struct tdesc_type_flag): New type.
1544 (struct tdesc_type): Add TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS to
1545 kind. Add size to u.u. Add u.f for flags.
1546 (tdesc_gdb_type): Handle TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS.
1547 (tdesc_free_type): Likewise.
1548 (tdesc_create_struct, tdesc_set_struct_size, tdesc_create_flags): New.
1549 (tdesc_add_field): Handle TDESC_TYPE_STRUCT.
1550 (tdesc_add_bitfield, tdesc_add_flag): New.
1551 * target-descriptions.h (tdesc_create_struct, tdesc_set_struct_size)
1552 (tdesc_create_flags, tdesc_add_bitfield, tdesc_add_flag): Declare.
1553 * xml-tdesc.c (struct tdesc_parsing_data): Rename current_union to
1554 current_type. Add current_type_size and current_type_is_flags.
1555 (tdesc_start_union): Clear the new fields.
1556 (tdesc_start_struct, tdesc_start_flags): New.
1557 (tdesc_start_field): Handle struct fields, including bitfields.
1558 (field_attributes): Make type optional. Add start and end.
1559 (union_children): Rename to struct_union_children.
1560 (union_attributes): Rename to struct_union_attributes. Add optional
1562 (flags_attributes): New.
1563 (feature_children): Add struct and flags.
1564 * features/gdb-target.dtd: Add flags and struct to features.
1565 Make field type optional. Add field start and end.
1569 * amd64-linux-nat.c (AMD64_LINUX_USER64_CS): New.
1570 (amd64_linux_read_description): Likewise.
1571 (_initialize_amd64_linux_nat): Set to_read_description to
1572 amd64_linux_read_description.
1574 * amd64-linux-tdep.c: Include "features/i386/amd64-linux.c".
1575 (amd64_linux_register_name): Removed.
1576 (amd64_linux_register_type): Likewise.
1577 (amd64_linux_core_read_description): New.
1578 (amd64_linux_init_abi): Set target description to
1579 tdesc_amd64_linux if needed. Support orig_rax in target
1580 description. Don't call set_gdbarch_register_name nor
1581 set_gdbarch_register_type. Call
1582 set_gdbarch_core_read_description.
1583 (_initialize_amd64_linux_tdep): Call
1584 initialize_tdesc_amd64_linux.
1586 * amd64-linux-tdep.h (tdesc_amd64_linux): New.
1588 * amd64-tdep.c: Include "features/i386/amd64.c".
1589 (amd64_register_names): Removed.
1590 (amd64_register_name): Likewise.
1591 (amd64_register_type): Likewise.
1592 (amd64_init_abi): Set num_core_regs and register_names. Set
1593 target description to tdesc_amd64 if needed. Don't call
1594 set_gdbarch_register_name nor set_gdbarch_register_type.
1595 (_initialize_amd64_tdep): New.
1597 * i386-linux-nat.c (i386_linux_read_description): New.
1598 (_initialize_i386_linux_nat): Set to_read_description to
1599 i386_linux_read_description.
1601 * i386-linux-tdep.c: Include "features/i386/i386-linux.c".
1602 (i386_linux_register_name): Removed.
1603 (i386_linux_core_read_description): New.
1604 (i386_linux_read_description): Likewise.
1605 (i386_linux_init_abi): Don't call set_gdbarch_register_name.
1606 Set target description to tdesc_i386_linux if needed. Support
1607 orig_eax. Set register_reggroup_p. Call
1608 set_gdbarch_core_read_description.
1609 (_initialize_i386_linux_tdep): Call initialize_tdesc_i386_linux.
1611 * i386-linux-tdep.h (tdesc_i386_linux): New.
1613 * i386-nto-tdep.c (i386nto_regset_id): Replace I386_NUM_FREGS
1616 * i386-tdep.c: Include "features/i386/i386.c".
1617 (i386_register_names): Make it const.
1618 (i386_mmx_names): Likewise.
1619 (i386_num_register_names): Removed.
1620 (i386_register_name): Likewise.
1621 (i386_eflags_type): Likewise.
1622 (i386_mxcsr_type): Likewise.
1623 (i386_sse_type): Likewise.
1624 (i386_register_type): Likewise.
1625 (i387_ext_type): Call tdesc_find_type instead of arch_float_type.
1626 (i386_pseudo_register_name): New.
1627 (i386_pseudo_register_type): Likewise.
1628 (i386_mmx_type): Make it static.
1629 (i386_gdbarch_init): Check arch. Replace I386_NUM_FREGS with
1630 I387_NUM_REGS. Set num_core_regs and register_names. Don't
1631 call set_gdbarch_register_name nor set_gdbarch_register_type.
1632 Set register_reggroup_p. Set target description to tdesc_i386
1633 if needed. Call set_tdesc_pseudo_register_type,
1634 set_tdesc_pseudo_register_name and tdesc_use_registers.
1635 (_initialize_i386_tdep): Call initialize_tdesc_i386.
1636 initialize_tdesc_x86_64.
1638 * i386-tdep.h (gdbarch_tdep): Remove i386_eflags_type,
1639 i386_mxcsr_type and i386_sse_type. Add num_core_regs,
1640 register_names, tdesc and register_reggroup_p.
1641 (I386_NUM_FREGS): Removed.
1642 (i386_eflags_type): Likewise.
1643 (i386_mxcsr_type): Likewise.
1644 (i386_mmx_type): Likewise.
1645 (i386_sse_type): Likewise.
1646 (i386_register_name): Likewise.
1647 (i386_regnum): Add I386_MXCSR_REGNUM.
1648 (I386_SSE_NUM_REGS): Defined with I386_MXCSR_REGNUM.
1650 * i387-tdep.h (I387_NUM_REGS): New.
1652 * regformats/i386/i386-linux.dat: Generated.
1653 * regformats/i386/i386.dat: Likewise.
1654 * regformats/i386/amd64-linux.dat: Likewise.
1655 * regformats/i386/amd64.dat: Likewise.
1657 * regformats/reg-i386-linux.dat: Removed.
1658 * regformats/reg-i386.dat: Likewise.
1659 * regformats/reg-x86-64-linux.dat: Likewise.
1660 * regformats/reg-x86-64.dat: Likewise.
1664 * remote-fileio.c (remote_fileio_func_rename): Use Cygwin 1.7
1665 cygwin_conv_path API rather than the deprecated
1666 cygwin_conv_to_full_posix_path.
1668 (GetModuleFileNameExA): Undefine for Cygwin.
1669 (GetModuleFileNameExW): Define for Cygwin.
1670 (get_module_name): Change size of pathbuf to PATH_MAX for Cygwin.
1671 Call GetModuleFileNameExW and convert path to POSIX using
1673 (windows_make_so): Always define p. Drop unused variable m.
1674 Don't use Win32 functions to check file existance, rather use
1675 access on Cygwin. Fetch system directory using GetSystemDirectoryW.
1676 Use canonicalize_file_name to get full path.
1677 (get_image_name): Use wcstombs, rather than WideCharToMultiByte
1678 to convert Unicode pathname to multibyte on Cygwin. Otherwise,
1679 use correct target buffer size in call to WideCharToMultiByte.
1680 (handle_load_dll): Change size of dll_buf to PATH_MAX for Cygwin.
1681 (windows_pid_to_exec_file): Change size of path to PATH_MAX for Cygwin.
1682 (windows_create_inferior): Convert all paths and arguments to wchar_t
1683 and use CreateProcessW on Cygwin.
1684 (_initialize_windows_nat): Disable DOS-style path warning on Cygwin.
1685 (bad_GetModuleFileNameExA): Undefine for Cygwin.
1686 (bad_GetModuleFileNameExW): Define for Cygwin.
1687 (_initialize_loadable): Load GetModuleFileNameExW into
1688 dyn_GetModuleFileNameExW on Cygwin. Don't load ANSI function on Cygwin.
1693 * python/py-frame.c (frapy_read_var): Add block argument and logic
1694 to cope with user provided blocks.
1698 * infcall.c (call_function_by_hand): Remove gdb_assert on sp and old_sp.
1703 * Makefile.in (SUBDIR_MI_OBS): Move mi-common.o from here...
1704 (COMMON_OBS): ... to here since it's used unconditionally.
1705 (SUBDIR_MI_SRCS): Move mi/mi-common.c from here...
1710 * mips-linux-tdep.c: Update struct sigframe comments.
1711 (SIGFRAME_CODE_OFFSET): Delete macro.
1712 (mips_linux_o32_sigframe_init): Calculate sigcontext_base using
1714 (mips_linux_n32n64_sigframe_init): Same.
1718 * remote-mips.c (mips_load): Don't use pseudo-register when
1719 invalidating regcache.
1723 * arm-tdep.c (thumb_get_next_pc): Correct conditional branch opcode.
1727 * NEWS: Add "New targets" section, and mention ARM Symbian
1732 * dwarf2loc.c (struct piece_closure): Remove ARCH member,
1733 add ADDR_SIZE member.
1734 (allocate_piece_closure): Update.
1735 (copy_pieced_value_closure): Likewise.
1736 (dwarf2_evaluate_loc_desc): Likewise.
1737 (read_pieced_value): Use DWARF address size instead of
1738 GDB's gdbarch_addr_bit as size of values on the DWARF stack.
1743 * python/py-type.c (typy_lookup_typename): Add in block argument.
1744 If provided restrict lookup to specified blocks.
1745 (gdbpy_lookup_type): Likewise.
1746 (typy_lookup_type): Likewise.
1753 * arm-symbian-tdep.c: New.
1754 * configure.tgt (arm*-*-symbianelf*): New target.
1755 (*-*-symbianelf*): New OS.
1756 * osabi.c (gdb_osabi_names): Add Symbian.
1757 * defs.h (gdb_osabi): Add GDB_OSABI_SYMBIAN.
1758 * Makefile.in (ALL_TARGET_OBJS): Add arm-symbian-tdep.o.
1759 (ALLDEPFILES): Add arm-symbian-tdep.c.
1763 * symfile.c (find_lowest_section): Include SEC_ALLOC sections.
1767 * mi/mi-main.c (mi_cmd_execute): Fix typo.
1773 * python/python.c (_initialize_python): Call
1774 gdbpy_initialize_symtabs, gdbpy_initialize_symbols and
1775 gdbpy_initialize_blocks.
1776 * python/python-internal.h: Declare struct symbol, block and
1777 symtab_and_line. Declare block_object_type and
1779 (gdbpy_lookup_symbol gdbpy_block_for_pc)
1780 (symtab_and_line_to_sal_object, symtab_to_symtab_object)
1781 (symbol_to_symbol_object, block_to_block_object)
1782 (gdbpy_initialize_symtabs,gdbpy_initialize_symbols)
1783 (gdbpy_initialize_blocks ): Declare.
1784 * python/py-frame.c (frapy_block, frapy_function, frapy_find_sal)
1785 (frapy_select): Add methods.
1786 (frapy_read_var): Add symbol branch.
1787 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-symbol, py-symtab,
1789 (SUBDIR_PYTHON_SRCS): Likewise.
1790 (py-symbol.o): New rule.
1791 (py-symtab.o): Likewise.
1792 (py-block.o): Likewise.
1793 * python/py-symbol.c: New file.
1794 * python/py-symtab.c: Likewise.
1795 * python/py-block.c: Likewise.
1801 * inferior.h (prepare_for_detach): Declare.
1802 (struct inferior) <detaching>: New field.
1803 * infrun.c (prepare_for_detach): New.
1804 (handle_inferior_event) <random signal>: Don't stop if detaching.
1805 * target.c (target_detach): Call prepare_for_detach.
1809 Per-process displaced stepping queue.
1811 * infrun.c (displaced_step_ptid, displaced_step_request_queue)
1812 (displaced_step_gdbarch, displaced_step_closure,
1813 (displaced_step_original, displaced_step_copy): Move globals to
1815 (struct displaced_step_inferior_state): ... new structure.
1816 (displaced_step_inferior_states): New global.
1817 (get_displaced_stepping_state, add_displaced_stepping_state)
1818 (remove_displaced_stepping_state, infrun_inferior_exit): New
1820 (displaced_step_clear): Add displaced_step_inferior_state
1821 parameter, and adjust to handle it.
1822 (displaced_step_clear_cleanup): Parameter is now a
1823 displaced_step_inferior_state. Adjust.
1824 (displaced_step_prepare): Adjust.
1825 (displaced_step_fixup, displaced_step_fixup)
1826 (infrun_thread_ptid_changed, resume): Adjust.
1827 (init_wait_for_inferior): Don't call displaced_step_clear.
1828 (infrun_thread_stop_requested): Rewrite.
1829 (_initialize_infrun): Install infrun_inferior_exit as
1830 inferior_exit observer.
1834 * inferior.h (ptid_match): Declare.
1835 * infrun.c (ptid_match): New.
1836 * remote.c (queued_stop_reply): Rewrite and use ptid_match.
1837 (handle_notification): Add debug output.
1838 * linux-nat.c (ptid_match): Delete.
1842 * gdb_ptrace.h (PT_SYSCALL): If PTRACE_SYSCALL is available, use it.
1843 * syscalls/sparc-linux.xml: New.
1844 * syscalls/sparc64-linux.xml: New.
1845 * Makefile.in (XML_SYSCALL_FILES): Add new syscall XML files.
1846 * sparc-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC32): Define.
1847 (sparc32_linux_get_syscall_number): New function.
1848 (sparc32_linux_init_abi): Set syscall XML file name and hook up
1849 syscall number fetcher.
1850 * sparc64-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC64): Define.
1851 (sparc64_linux_get_syscall_number): New function.
1852 (sparc64_linux_init_abi): Set syscall XML file name and hook up
1853 syscall number fetcher.
1859 * breakpoint.c (clear_syscall_counts): Take struct inferior*.
1860 * inferior.c (add_inferior_silent): Notify inferior_added
1862 (delete_inferior_1): Notify inferior_removed observer.
1863 (exit_inferior_1): Pass inferior, not pid, to observer.
1864 (inferior_appeared): Likewise.
1865 (add_inferior_with_spaces): New.
1866 (add_inferior_command): Use the above.
1867 * inferior.h (delete_inferior_1, add_inferior_with_spaces):
1870 * inflow.c (inflow_inferior_exit): Likewise.
1871 * jit.c (jit_inferior_exit_hook): Likewise.
1873 * mi/mi-cmds.c (mi_cmds): Register add-inferior and
1875 * mi/mi-cmds.h (mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
1876 * mi/mi-interp.c (mi_inferior_added, mi_inferior_removed): New.
1877 (report_initial_inferior): New.
1878 (mi_inferior_removed): Register the above. Make sure
1879 inferior_added observer is called on the first inferior.
1880 (mi_new_thread, mi_thread_exit): Thread group is now identified by
1881 inferior number, not pid.
1882 (mi_solib_loaded, mi_solib_unloaded): Report which inferiors are
1884 * mi/mi-main.c (current_context): New.
1885 (proceed_thread_callback): Use typed closure.
1886 Proceed everything if pid is 0. Most implementation split into
1887 (proceed_thread): ... this.
1888 (run_one_inferior): New.
1889 (mi_cmd_exec_continue, mi_cmd_exec_interrupt, mi_cmd_exec_run):
1890 Adjust for multiexec behaviour.
1891 (mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
1892 (mi_cmd_execute): Handle the 'thread-group' option here.
1893 Do some extra checks.
1894 * mi-parse.c (mi_parse): Handle the --all and --thread-group
1896 * mi-parse.h (struct mi_parse): New fields all and thread_group.
1900 Make -exec-run a proper MI commands.
1902 * mi/mi-cmds.h (mi_cmd_exec_run): Declare.
1903 * mi/mi-cmds.c (mi_cmds): Adjust.
1904 * mi/mi-main.c (mi_cmd_exec_run): New.
1909 * tracepoint.h (set_traceframe_number)
1910 (cleanup_restore_current_traceframe): Declare.
1911 * tracepoint.c (set_traceframe_number): New.
1912 (struct current_traceframe_cleanup): New.
1913 (do_restore_current_traceframe_cleanup)
1914 (restore_current_traceframe_cleanup_dtor)
1915 (make_cleanup_restore_current_traceframe): New.
1916 * infrun.c: Include tracepoint.h.
1917 (fetch_inferior_event): Switch out and in of tfind mode.
1921 * breakpoint.c (breakpoint_init_inferior): Also delete
1922 bp_shlib_event breakpoints.
1923 * solib-frv.c (enable_break): Remove call to
1924 remove_solib_event_breakpoints.
1925 * solib-svr4.c (enable_break): Ditto.
1926 * solib-darwin.c (darwin_solib_create_inferior_hook): Ditto.
1927 * solib-pa64.c (pa64_solib_create_inferior_hook): Ditto.
1928 * solib-som.c (som_solib_create_inferior_hook): Ditto.
1929 * solib-spu.c (spu_enable_break): Ditto.
1933 * c-exp.y (token_and_value): s/union YYSTYPE/YYSTYPE.
1937 * varobj.c (varobj_update): Avoid non-constants in initializers.
1941 * dwarf2loc.c (read_pieced_value) <DWARF_VALUE_STACK>: Correctly
1942 handle big-endian values.
1943 (dwarf2_evaluate_loc_desc) <DWARF_VALUE_STACK>: Likewise.
1950 * breakpoint.c (insert_bp_location): If inserting the read
1951 watchpoint failed, fallback to an access watchpoint.
1952 (bpstat_check_watchpoint): Stop for read watchpoint triggers even
1953 if the value changed, if not watching the same memory for writes.
1954 (watchpoint_locations_match): Add comment.
1955 (update_global_location_list): Copy the location's watchpoint type.
1956 * i386-nat.c (i386_length_and_rw_bits): It's an internal error to
1957 handle read watchpoints here.
1958 (i386_insert_watchpoint): Read watchpoints aren't supported.
1959 * remote.c (remote_insert_watchpoint): Return 1 for unsupported
1961 * target.h (target_insert_watchpoint): Update description.
1965 * p-typeprint.c (pascal_type_print_varspec_prefix): Update.
1966 * m2-typeprint.c (m2_print_type): Update.
1967 * gdbtypes.c (recursive_dump_type): Update.
1968 (copy_type_recursive): Update.
1969 * c-typeprint.c (c_type_print_varspec_prefix): Update.
1970 (c_type_print_base): Update.
1971 * gdbtypes.h (TYPE_CODE_TEMPLATE, TYPE_CODE_TEMPLATE_ARG):
1973 (struct cplus_struct_type) <ntemplate_args>: Remove.
1974 <struct template_arg>: Remove.
1975 <is_dynamic>: Move earlier.
1976 (TYPE_TEMPLATE_ARGS): Remove.
1977 (TYPE_NTEMPLATE_ARGS): Remove.
1978 (TYPE_TEMPLATE_ARG): Remove.
1982 PR c++/8693, PR c++/9496:
1983 * cp-namespace.c (cp_lookup_nested_type): Handle TYPE_CODE_UNION.
1984 * c-exp.y (lex_one_token): Rename from yylex. Don't call
1985 write_dollar_variable. Don't try to classify NAME tokens.
1986 (token_and_value): New type.
1987 (token_fifo, popping, name_obstack): New globals.
1988 (classify_name): New function.
1989 (classify_inner_name): Likewise.
1991 (VARIABLE): Now has type sval.
1992 (exp : VARIABLE): Call write_dollar_variable.
1993 (qualified_name): Use TYPENAME, not typebase. Add production for
1994 multiple "::" instances.
1995 (variable): Use name_not_typename.
1996 (qualified_type): Remove.
2001 * symfile.c (addr_info_make_relative): Extend comment. Move SECT to
2002 a more inner block. Initialize ADDR by LOWER_OFFSET only if it was
2003 found by bfd_get_section_by_name.
2004 * symfile.h (struct section_addr_info) <sectindex>: New comment.
2008 * NEWS: Add new "[...] since 7.1" section. Rename the "[...] since
2009 7.0 section" into "Changes in 7.1".
2013 GDB 7.1 branch created (branch timestamp: 2010-02-18 20:00 UTC)
2014 * version.in: Bump version to 7.1.50.20100219-cvs.
2018 * mi/mi-main.c (mi_cmd_exec_jump): Drop unneeded `return'.
2019 * symfile.c (symfile_map_offsets_to_segments): Fix assertion.
2023 * NEWS: Add Python API Improvements section.
2027 * NEWS: Correct typo.
2031 * objfiles.c (gdb_bfd_ref): Handle abfd==NULL.
2035 * symfile.c (build_section_addr_info_from_objfile): Include sections
2036 only if they are SEC_ALLOC or SEC_LOAD.
2041 * solib-svr4.c (enable_break): Check size of CORE_ADDR instead
2042 of ULONGEST for address size.
2046 * NEWS: Add C++ improvements section.
2050 * python/python-internal.h [!WITH_THREAD] (PyGILState_Release,
2051 PyThreadState_Swap): Avoid "statement with no effect" warning.
2055 * solib-svr4.c (enable_break <target_auxv_search>): New variable
2056 addr_bit. Adjust LOAD_ADDR sign for cross-arch inferiors.
2061 * avr-tdep.c (avr_scan_prologue): Convert an if statement to a
2062 gdb_assert. Fix info->size for SIG prologue.
2066 * infcmd.c (show_inferior_tty_command): Check for NULL.
2067 Correct output message.
2071 * linespec.c (decode_line_1): Handle FILE:FUNCTION even if
2072 FUNCTION contains parentheses. Improve removal of a trailing
2077 * gcore.c (do_bfd_delete_cleanup): New function.
2078 (gcore_command): Use it. Discard the cleanup after success.
2079 (gcore_copy_callback): Delete dead code.
2083 * symfile.c (addr_info_make_relative): Always use
2084 find_lowest_section.
2088 * NEWS: Added entry for namespace fixes.
2092 * dwarf2read.c (guess_structure_name): Allocate name on the
2097 * c-typeprint.c (c_type_print_base): Reverse order of test.
2101 * solib-svr4.c (LM_ADDR_CHECK): New variable minpagesize. Optionally
2102 initialize it from ELF BFD. Extend the prelink condition by it.
2106 * defs.h (parse_pid_to_attach): New.
2107 * utils.c (parse_pid_to_attach): New.
2108 * darwin-nat.c (darwin_attach): Replace ARGS parsing by parse_pid.
2109 * gnu-nat.c (gnu_attach): Likewise.
2110 * nto-procfs.c (procfs_attach): Likewise.
2111 * procfs.c (procfs_attach): Likewise.
2112 * windows-nat.c (windows_attach): Likewise.
2113 * inf-ptrace.c (inf_ptrace_attach): Likewise. Remove variable dummy.
2114 * inf-ttrace.c (inf_ttrace_attach): Likewise.
2115 * remote.c (extended_remote_attach_1): Likewise. New comment on getpid
2120 * MAINTAINERS: Add myself for write after approval privileges.
2124 * solib-svr4.c: (LM_ADDR_CHECK): Move variable align to a more inner
2129 * solib-svr4.c: (LM_ADDR_CHECK): Print successful prelink adjustment
2130 only if INFO_VERBOSE.
2134 * mi/mi-main.c: Added the --reverse flag to the following MI
2135 commands: exec-continue, exec-finish, exec-next, exec-step,
2136 exec-next-instruction, exec-step-instruction. This is to
2137 support reverse execution over the MI interface to gdb.
2141 * tracepoint.c (_initialize_tracepoint): Specify that the address
2142 range of `tfind outsize' is exclusive, and that the address range
2143 of `tfind range' is inclusive, in the commands' help strings.
2147 Spurious "dll not found" error messages on x64-windows.
2148 * windows-nat.c: Add include of complaints.h.
2149 (handle_unload_dll): Change dll-not-found error into a complaint.
2153 * breakpoint.c (allocate_bp_location): Use bp_loc_other for
2154 bp_tracepoint and bp_fast_tracepoint, not
2155 bp_loc_software_breakpoint.
2156 (update_global_location_list): Tracepoints are never duplicates of
2161 * breakpoint.c (break_command_really): Change return type to int.
2162 Return false if no breakpoint was created, true otherwise.
2163 (trace_command): Don't set the tracepoint count if no tracepoint
2165 (ftrace_command): Ditto.
2166 (create_tracepoint_from_upload): Bail out if the tracepoint wasn't
2167 created in the breakpoints table.
2172 * solib-svr4.c (LM_ADDR_CHECK): New comment on PPC-aware condition.
2176 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out if
2177 the offset value isn't of integral type.
2181 * breakpoint.c (delete_breakpoint) <bpt->related_breakpoint != NULL>:
2186 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out on
2187 non-subscriptable types.
2188 * valarith.c (binop_types_user_defined_p): New, abstracted out
2190 (binop_user_defined_p): ... this.
2191 * value.h (binop_types_user_defined_p): Declare.
2195 * tracepoint.c (tfile_open): Remove spurious discard_cleanups.
2196 Merge uploaded TSVs before merging uploaded tracepoints.
2200 * ax-gdb.c (gen_deref): Don't allow dereferencing void pointers.
2204 * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Add extra
2205 whitespace character after a dot in comment.
2206 (mi_cmd_stack_list_arguments, mi_cmd_stack_list_variables):
2208 (list_args_or_locals): For the 'all' (that is
2209 -stack-list-variables) case, always output list of tuples.
2210 Output 'arg' field if variable is argument.
2214 * parser-defs.h (parser_debug): Declare.
2215 * parse.c (_initialize_parse): Install "debug parser" set/show
2217 (parser_debug): New global.
2218 (show_parserdebug): New function.
2219 * c-exp.y (c_parse): Set yydebug.
2223 * target-descriptions.c (tdesc_type): Add TDESC_TYPE_I387_EXT,
2224 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
2225 (tdesc_predefined_types): Add i387_ext, i386_eflags and
2227 (tdesc_find_type): New.
2228 (tdesc_gdb_type): Use tdesc_find_type. Handle TDESC_TYPE_I387_EXT,
2229 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
2231 * target-descriptions.h (tdesc_find_type): New.
2235 * gdb-gdb.py: Comment fix.
2239 * machoread.c (macho_symfile_relocate): New function.
2240 (macho_sym_fns): Use macho_symfile_relocate instead of
2241 default_symfile_relocate.
2242 (macho_oso_data): New type.
2243 (current_oso): New variable.
2244 (macho_add_oso_symfile): Do not compute section_addr_info, but
2245 instead set vma of sections.
2246 Do not set SYMFILE_VERBOSE to call symbol_file_add_from_bfd.
2247 Set and clear current_oso.
2251 Wrong type description for tagged type parameter.
2252 * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: When noside is
2253 EVAL_AVOID_SIDE_EFFECTS, also handle the case when type is a
2254 reference to a tagged type.
2258 * objfiles.c (objfile_separate_debug_iterate): Do not iterate on
2259 brothers of the parent.
2265 * valops.c (search_struct_field): Make 'name' const.
2266 (search_struct_method): Likewise.
2267 (find_method_list): Make 'method' const.
2268 (value_struct_elt): Make 'name' and 'err' const.
2269 (value_find_oload_method_list): Make 'method' const.
2270 (find_overload_match): Make 'name' const.
2271 * eval.c (evaluate_subexp_standard): New locals function,
2273 <OP_FUNCALL>: Handle OP_SCOPE specially.
2277 * infrun.c (handle_inferior_event): Do not look up regcache
2278 for exited processes.
2283 * valarith.c (value_ptrdiff): Added a test for a zero type length,
2284 warn if found, and assume length = 1.
2289 * cp-valprint.c (cp_print_value_fields) Fix use of obstacks.
2290 cp_print_static_field) Fix use of obstacks.
2294 * linux-nat.c (linux_nat_resume): In non-stop, also only tag
2295 resumed LWPs as resumed.
2296 (linux_nat_wait_1): If there's no resumed LWP in the set of LWPs
2297 we're waiting for, bail out with TARGET_WAITKIND_IGNORE, instead
2298 of throwing an internal error. If an LWP of a process we're not
2299 waiting for reports a signal, don't force collecting a SIGSTOP,
2300 and if it was breakpoint hit in non-stop mode, cancel it. Don't
2301 go through all LWPs cancelling breakpoints in non-stop mode.
2302 (resume_stopped_resumed_lwps): New.
2303 (linux_nat_wait): Use it.
2307 * features/Makefile (WHICH): Add i386/i386, i386/i386-linux,
2308 i386/amd64 and i386/amd64-linux.
2309 (i386/i386-expedite): New.
2310 (i386/i386-linux-expedite): Likewise.
2311 (i386/amd64-expedite):Likewise.
2312 (i386/amd64-linux-expedite): Likewise.
2313 ($(outdir)/i386/i386-linux.dat): Likewise.
2314 ($(outdir)/i386/amd64.dat): Likewise.
2315 ($(outdir)/i386/amd64-linux.dat): Likewise.
2317 * features/i386/32bit-core.xml: New.
2318 * features/i386/32bit-linux.xml: Likewise.
2319 * features/i386/32bit-sse.xml: Likewise.
2320 * features/i386/64bit-core.xml: Likewise.
2321 * features/i386/64bit-linux.xml: Likewise.
2322 * features/i386/64bit-sse.xml: Likewise.
2323 * features/i386/i386-linux.xml: Likewise.
2324 * features/i386/i386.xml: Likewise.
2325 * features/i386/amd64-linux.xml: Likewise.
2326 * features/i386/amd64.xml: Likewise.
2327 * features/i386/i386-linux.c: Likewise.
2328 * features/i386/i386.c: Likewise.
2329 * features/i386/amd64-linux.c: Likewise.
2330 * features/i386/amd64.c: Likewise.
2335 * cp-support.h: Added char* alias element to using_direct data
2337 (cp_add_using): Added char* alias argument.
2338 (cp_add_using_directive): Ditto.
2339 * cp-namespace.c: Updated with the above changes.
2340 (cp_lookup_symbol_imports): Check for aliases.
2341 * dwarf2read.c (read_import_statement): Figure out local alias
2342 for the import and pass it on to cp_add_using.
2343 (read_namespace): Pass alias argument to cp_add_using.
2347 * defs.h (gdb_bfd_errmsg): New extern.
2348 * exec.c (exec_file_attach): Change bfd_errmsg to
2350 * utils.c (AMBIGUOUS_MESS1): New macro.
2351 (AMBIGUOUS_MESS2): New macro.
2352 (gdb_bfd_errmsg): New function.
2356 * solib-svr4.c (enable_break): Add comment.
2360 * moxie-tdep.c (moxie_analyze_prologue): Fail protocol analysis
2365 * valops.c (search_struct_field): Account for
2366 value_embedded_offset. Fix check for virtual base past the end of
2367 the object. Use value_copy when making a slice of the value.
2372 * tui/tui-interp.c (tui_init): Call tui_initialize_readline
2373 only if gdb_stdout is a tty.
2377 * target-descriptions.c: Include "osabi.h".
2378 (maint_print_c_tdesc_cmd): Generate set_tdesc_osabi for valid
2383 * machoread.c (macho_add_oso): Renamed to macho_register_oso.
2384 (macho_symtab_read): Adjust calls to macho_add_oso.
2385 (macho_oso_symfile): Renamed to macho_symfile_read_all_oso.
2386 (macho_symfile_read): Adjust call to macho_oso_symfile.
2387 (macho_new_init): Move this function after declarations.
2388 (macho_symfile_init): Ditto.
2389 * darwin-nat-info.c (darwin_lib_gdb_ports): Remove.
2390 * darwin-nat.c (darwin_lookup_task): Remove unused prototype.
2394 Include MI command in remotelog.
2396 * mi/mi-main.c (mi_execute_command): Call target_log_command.
2400 * remote.c (remote_state): Remove gdbarch.
2401 (init_remote_state): Don't set gdbarch.
2402 (remote_query_supported): Pass target_gdbarch instead of
2403 rs->gdbarch to gdbarch_qsupported.
2407 * gdbarch.sh: Add qsupported.
2409 * gdbarch.c: Regenerated.
2410 * gdbarch.h: Likewise.
2412 * remote.c (remote_state): Add gdbarch.
2413 (init_remote_state): Set gdbarch.
2414 (remote_query_supported): Support gdbarch_qsupported.
2418 * amd64fbsd-nat.c (amd64fbsd_supply_pcb): Also check for
2419 __FreeBSD_kernel_version.
2423 * symfile.h (struct sym_fns): Add sym_relocate field.
2424 (default_symfile_relocate): New prototype.
2425 (symfile_relocate_debug_section): First argument is now an objfile.
2426 * symfile.c (default_symfile_relocate): Rename from
2427 symfile_relocate_debug_section, first argument is now an objfile.
2428 (symfile_relocate_debug_section): New function.
2429 * coffread.c (coff_sym_fns): Set sym_relocate field.
2430 * somread.c (som_sym_fns): Ditto.
2431 * mipsread.c (ecoff_sym_fns): Ditto.
2432 * machoread.c (macho_sym_fns): Ditto.
2433 * elfread.c (elf_sym_fns): Ditto.
2434 * dwarf2read.c (dwarf2_read_section): Ditto.
2435 * xcoffread.c (xcoff_sym_fns): Ditto.
2436 * dbxread.c (aout_sym_fns): Ditto.
2437 (dbx_psymtab_to_symtab): Adjust call to symfile_relocate_debug_section.
2438 (elfstab_build_psymtabs): Ditto.
2442 * defs.h (MAX_REGISTER_SIZE): Increase to 32.
2446 * valops.c (value_cast_structs): Try downcasting using the RTTI
2451 * gnu-v2-abi.c: Don't include gnu-v2-abi.h.
2452 (gnuv2_baseclass_offset): Now static.
2453 * Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h.
2454 * gnu-v2-abi.h: Remove.
2458 * m2-typeprint.c (m2_record_fields): Don't use
2460 * gdbtypes.h (TYPE_DECLARED_CLASS): New macro.
2461 (struct main_type) <flag_declared_class>: New field.
2462 (struct cplus_struct_type) <declared_type>: Remove.
2463 <ntemplate_args>: Move earlier.
2464 (DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT)
2465 (DECLARED_TYPE_TEMPLATE): Remove.
2466 (TYPE_DECLARED_TYPE): Remove.
2467 * gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE.
2468 * dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS.
2469 * c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not
2474 PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
2475 * valops.c (search_struct_field): Compute nbases after calling
2477 (check_field): Call CHECK_TYPEDEF.
2478 * cp-valprint.c (cp_print_value): Pass correct address to
2479 baseclass_offset. Fix check for virtual base past the end of the
2480 object. Don't offset address passed to cp_print_value_fields or
2481 apply_val_pretty_printer.
2482 (cp_print_value_fields): Fix call to val_print.
2483 (cp_print_value_fields_rtti): New function.
2484 * c-valprint.c (c_val_print): Use cp_print_value_fields_rtti.
2485 * p-valprint.c (pascal_object_print_value_fields): Fix call to
2487 * python/py-prettyprint.c (apply_val_pretty_printer): Add embedded
2489 * language.h (struct language_defn) <la_val_print>: Document.
2490 * c-lang.h (cp_print_value_fields_rtti): Declare.
2495 * linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New.
2496 (linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU].
2497 (linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New.
2502 * i386-tdep.c (i386_frame_cache): Assume valid anonymous
2503 functions use a frame pointer.
2507 * solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert
2508 by a conditional setting DYN_ADDR. Use DYN_ADDR.
2509 * config/djgpp/fnchange.lst: Add translations for
2510 symbol-without-target_section.exp and symbol-without-target_section.c.
2514 * gdbarch.sh: Set LANG and LC_ALL to C, not c.
2515 (remote_breakpoint_for_pc): Correct invalid_p check.
2516 * gdbarch.c: Regenerated.
2520 * arm-tdep.c (arm_find_mapping_symbol): New function, from
2522 (arm_pc_is_thumb): Use arm_find_mapping_symbol.
2523 (extend_buffer_earlier): New function.
2524 (MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants.
2525 (arm_adjust_breakpoint_address): New function.
2526 (arm_gdbarch_init): Register arm_adjust_breakpoint_address.
2530 * arm-linux-tdep.c (arm_linux_thumb2_be_breakpoint)
2531 (arm_linux_thumb2_le_breakpoint): New constants.
2532 (arm_linux_init_abi): Set thumb2_breakpoint and
2533 thumb2_breakpoint_size.
2534 * arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions.
2535 (thumb_get_next_pc): Add a comment. Rename IT to ITSTATE.
2536 Implement support for single stepping through IT blocks if
2537 a 32-bit Thumb breakpoint instruction is available.
2538 (arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction
2539 is available, use it when needed.
2540 (arm_remote_breakpoint_from_pc): New function.
2541 (arm_gdbarch_init): Register arm_remote_breakpoint_from_pc.
2542 * arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint
2543 comment. Add thumb2_breakpoint and thumb2_breakpoint_size.
2547 * arch-utils.c (default_remote_breakpoint_from_pc): New function.
2548 * arch-utils.h (default_remote_breakpoint_from_pc): Declare.
2549 * gdbarch.c, gdbarch.h: Regenerated.
2550 * gdbarch.sh (remote_breakpoint_from_pc): New architecture method.
2551 * remote.c (remote_insert_breakpoint, remote_insert_hw_breakpoint): Use
2552 gdbarch_remote_breakpoint_from_pc.
2556 * infrun.c (prepare_to_proceed): Handle other signals which might
2558 (handle_inferior_event): Move the check for unusual breakpoint
2563 amd64 - function returning record with field straddling 2 registers.
2564 * amd64-tdep.c (amd_classify_aggregate): Handle the case of
2565 a record of length <= 16 in which a field straddles the two
2570 Implement return values on amd64-windows.
2571 * amd64-windows-tdep.c: #include gdbcore.h and regcache.h.
2572 (amd64_windows_return_value): New function.
2573 (amd64_windows_init_abi): Call set_gdbarch_return_value with
2574 amd64_windows_return_value.
2578 amd64-windows: 32 bytes allocated on stack by caller for integer
2579 parameter registers.
2580 * i386-tdep.h (struct gdbarch_tdep): Add new field
2581 integer_param_regs_saved_in_caller_frame.
2582 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
2583 tdep->integer_param_regs_saved_in_caller_frame to 1.
2584 * amd64-tdep.c (amd64_push_dummy_call): Allocate some memory on
2585 stack if tdep->integer_param_regs_saved_in_caller_frame is set.
2589 amd64-windows: memory args passed by pointer during function calls.
2590 * i386-tdep.h (gdbarch_tdep): Add field memory_args_by_pointer.
2591 * amd64-tdep.c (amd64_push_arguments): Add handling of architectures
2592 where tdep->memory_args_by_pointer is non-zero.
2593 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
2594 tdep->memory_args_by_pointer to 1.
2598 amd64-windows: Integer parameters in function calls.
2599 * i386-tdep.h (enum amd64_reg_class): New, moved here from
2601 (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs,
2602 call_dummy_integer_regs, and classify.
2603 * amd64-tdep.h (amd64_classify): Add declaration.
2604 * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant.
2605 (amd64_reg_class): Delete, moved to i386-tdep.h.
2606 (amd64_classify): Make non-static. Move declaration to amd64-tdep.h.
2607 Replace call to amd64_classify by call to tdep->classify.
2608 (amd64_push_arguments): Get the list of registers to use for
2609 passing integer parameters from the gdbarch tdep structure,
2610 rather than using a hardcoded one. Replace calls to amd64_classify
2611 by calls to tdep->classify.
2612 (amd64_push_dummy_call): Get the register number used for
2613 the "hidden" argument from tdep->call_dummy_integer_regs.
2614 (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs
2615 and tdep->call_dummy_integer_regs. Set tdep->classify.
2616 * amd64-windows-tdep.c: Add include of gdbtypes.h.
2617 (amd64_windows_dummy_call_integer_regs): New static global.
2618 (amd64_windows_classify): New function.
2619 (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs
2620 tdep->call_dummy_integer_regs and tdep->classify.
2624 * regcache.c (regcache_xmalloc): Add aspace argument. Use it
2625 for the new regcache. All callers updated.
2626 (regcache_cpy, regcache_cpy_no_passthrough): Do not set aspace here.
2627 (get_thread_arch_regcache): Do not set aspace here.
2628 * regcache.h (regcache_xmalloc): Update declaration.
2630 * frame.c, infcall.c, ppc-linux-tdep.c: Calls to
2631 regcache_xmalloc updated.
2635 Another -Wunused-function error in procfs.c (sparc-solaris)
2636 * procfs.c (insert_dbx_link_breakpoint): Delete declaration. Move up.
2637 Only define if SYS_syssgi is defined.
2638 (remove_dbx_link_breakpoint): Delete declaration. Move up.
2639 (dbx_link_addr, insert_dbx_link_bpt_in_file)
2640 (insert_dbx_link_bpt_in_region): Move up. Only define if SYS_syssgi
2645 * windows-nat.c (windows_initialization_done): New variable.
2646 (get_windows_debug_event): Issue error when process dies before
2647 completely initializing.
2648 (do_initial_windows_stuff): Set flag to indicate when we are done with
2649 the initial steps of attaching to the child.
2653 * symtab.h (struct symbol <symtab>): New comment on NULL values.
2657 * solib-svr4.c (solib_break_names): Add __dl_rtld_db_dlactivity.
2659 * breakpoint.c (bpstat_stop_status): Delete useless code.
2663 * printcmd.c (display_uses_solib_p): Remove variable section. Access
2664 objfile via SYMBOL_SYMTAB.
2669 * eval.c (evaluate_subexp_for_address) <UNOP_IND>: Call
2670 coerce_array on result.
2674 * cp-namespace.c (cp_lookup_symbol_namespace): Added
2675 search_parent argument.
2676 (cp_add_using): Initialize 'searched' field.
2677 (reset_directive_searched): New function.
2678 * cp-support.h: Add 'searched' field to using_direct struct.
2679 (cp_lookup_symbol_imports): Ditto.
2680 * cp-namespace.c (cp_lookup_symbol_imports): Ditto.
2681 Perform recursive search.
2682 Implement non parent search.
2683 * valops.c (value_maybe_namespace_elt): Updated.
2688 * dwarf2read.c (read_lexical_block_scope): Create blocks for
2689 scopes which contain using directives even if they contain no
2691 * symtab.c (lookup_symbol_aux): Pass lowest level block to
2692 la_lookup_symbol_nonlocal.
2693 * cp-namespace.c (cp_lookup_symbol_nonlocal): call
2694 cp_lookup_symbol_namespace.
2695 (cp_lookup_symbol_namespace): Perform an import lookup at every
2697 (cp_lookup_symbol_imports): New function.
2698 (cp_lookup_symbol_in_namespace): New function.
2703 * c-valprint.c (c_val_print): Fix test of extract_unsigned_integer
2708 * configure.ac: Only use host_os part when disabling TUI on osf.
2709 Use test to check variables, prefix strings with x.
2710 * configure: Regenerate.
2712 * solib-osf.c (osf_current_sos): Initialize tail.
2716 * windows-nat.c (windows_continue): Use %x to print thread id.
2717 (get_windows_debug_event): Ditto.
2722 * dwarf2read.c (quirk_gcc_member_function_pointer): Change return
2723 type and arguments. Use smash_to_methodptr_type.
2724 (read_structure_type): Call quirk_gcc_member_function_pointer
2726 * gdbtypes.h (smash_to_methodptr_type): Declare.
2727 * gdbtypes.c (smash_to_methodptr_type): New function.
2728 (lookup_methodptr_type): Use it.
2733 * symtab.h (lookup_minimal_symbol_and_objfile): Declare.
2734 * minsyms.c (lookup_minimal_symbol_and_objfile): New function.
2735 * glibc-tdep.c (find_minsym_and_objfile): Remove.
2736 (glibc_skip_solib_resolver): Use
2737 lookup_minimal_symbol_and_objfile.
2741 * inflow.c (check_syscall): Guard by #if clause for GO32 and
2747 * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and
2748 BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case.
2749 * dwarf2expr.c (new_dwarf_expr_context): Allocate
2750 dwarf_stack_values, not CORE_ADDRs.
2751 (execute_stack_op): Change DW_OP_div and comparison operators to
2752 use signed operands.
2756 Per-inferior args and tty and environment.
2758 * infcmd.c (inferior_args): Rename to ...
2759 (inferior_args_scratch): ... this.
2760 (inferior_io_terminal): Rename to ...
2761 (inferior_io_terminal_scratch): ... this.
2762 (inferior_argc, inferior_argv): Remove.
2763 (set_inferior_io_terminal, get_inferior_io_terminal): Store
2764 inside current_inferior().
2765 (set_inferior_tty_command, show_inferior_tty_command): New.
2766 (get_inferior_args, set_inferior_args): Store inside
2768 (notice_args_set): Likewise and rename to...
2769 (set_args_command): ... this.
2770 (set_inferior_args_vector): Likewise.
2771 (notice_args_read): Rename to...
2772 (show_args_command): ...new.
2773 (tty_command): Remove.
2774 (run_command_1): Don't free old args, as they are freed by
2775 set_inferior_arg now.
2776 (run_no_args_command): Likewise.
2777 (inferior_environ): Remove.
2778 (run_command_1): Use environment of the current inferior.
2779 (environment_info, set_environment_command)
2780 (unset_environment_command, path_info, path_command): Likewise.
2781 (_initialize_infcmd): Adjust for function and variable renames.
2782 Do not init inferior_environ.
2783 * inferior.h (set_inferior_arg): Adjust prototype.
2784 (struct inferior): New fields args, argc, argv, terminal, environment.
2785 (inferior_environ): Remove declaration.
2786 * inferior.c (free_inferior): Free new fields.
2787 (add_inferior_silent): Initialize 'environment' field.
2788 * main.c (captured_main): Set arguments only after the initial
2789 inferior has been created. Set set_inferior_io_terminal,
2791 * mi/mi-main.c (mi_cmd_env_path): Use environment of the current
2793 (_initialize_mi_cmd_env): Adjust for disappearance of global
2795 * solib.c (solib_find): Use environment of the current inferior.
2799 * varobj.c (varobj_add_child, install_dynamic_child): Wrap into #if
2801 (instantiate_pretty_printer): Move HAVE_PYTHON outside of the function.
2805 Get rid of ada-lang.c:function_name_from_pc.
2806 * ada-lang.c: Add "stack.h" #include.
2807 (function_name_from_pc): Delete.
2808 (is_known_support_routine): Replace call to function_name_from_pc
2809 by call to find_frame_funname.
2810 (ada_unhandled_exception_name_addr_from_raise): Likewise.
2815 * dwarf2read.c (read_partial_die): Allocate partial DIE's name on
2820 * top.c (stop_sig, float_handler, do_nothing): Remove.
2824 * breakpoint.c (watchpoint_check): Check the call
2825 gdbarch_in_function_epilogue_p before calling frame_find_by_id.
2827 * config/djgpp/fnchange.lst: Add translations for
2828 watchpoint-cond-gone.exp, watchpoint-cond-gone.c and
2829 watchpoint-cond-gone-stripped.c.
2834 * dwarf2read.c (partial_die_parent_scope): Put enumeration type
2835 into parent scope, and enumerator into grandparent scope.
2839 * NEWS: Add entry for "set/show ada trust-PAD-over-XVS" commands.
2843 * configure.host: Make x86_64-*-solaris2.1[0-9]* an alias of
2844 i[34567]86-*-solaris2.1[0-9]*.
2845 * configure.tgt: Likewise.
2849 * NEWS: Document the source command enhancement allowing it
2850 to load Python scripts. Document the "set/show script-extension"
2855 Add -Wunused-function to compile flags.
2856 * configure.ac: Add -Wunused-function to build_warnings.
2857 * configure: Regenerate.
2861 "delete" ada-lex.c:input function, not used.
2862 * ada-lex.l: #define YY_NO_INPUT.
2866 Delete free_named_symtabs and associated cleanup.
2867 * symfile.h (free_named_symtabs): Delete declaration.
2868 * symfile.c: Remove some commented out code (clear_symtab_users_once).
2869 (cashier_psymtab): Comment function out.
2871 (free_named_symtabs): Delete.
2872 * coffread.c (coff_end_symtab): Remove call to free_named_symtabs.
2873 * dbxread.c (end_psymtab): Likewise.
2874 * dwarf2read.c (process_psymtab_comp_unit): Ditto.
2875 * exec.c (exec_close_1): Ditto.
2876 * xcoffread.c (xcoff_end_psymtab): Likewise.
2880 * stack.c (print_block_frame_labels): Comment function out.
2884 Delete unused or undefined functions.
2885 * breakpoint.c (ep_parse_optional_filename): Delete.
2886 * dcache.c (dcache_write_line): Remove declaration.
2887 * infrun.c (build_infrun): Remove declaration.
2888 * tracepoint.c (tracepoint_save_command): Remove declaration.
2889 * linux-nat.c (init_lwp_list): Delete. No longer used.
2890 * event-loop.c (check_async_signal_handlers): Delete declaration.
2891 * infrun.c (init_execution_control_state): Delete.
2892 (proceed): Update comment to avoid mentioning
2893 init_execution_control_state.
2894 * target.c (kill_or_be_killed, nosupport_runtime): Delete.
2895 * ada-lang.c (ada_to_static_fixed_value): Delete.
2896 * scm-lang.c (evaluate_subexp_scm): Delete declaration.
2897 * cp-namespace.c (cp_copy_usings): Delete.
2898 * xml-syscall.c (xml_number_of_syscalls): Delete.
2899 * progspace.c (find_program_space_by_num): Delete.
2900 * inflow.c (handle_sigio): Delete declaration.
2901 * hppa-tdep.c (hppa_alignof): Delete.
2902 * mipsnbsd-tdep.c (mipsnbsd_sigtramp_offset)
2903 (mipsnbsd_core_osabi_sniffer): Delete.
2908 * c-exp.y (REINTERPRET_CAST, DYNAMIC_CAST, STATIC_CAST)
2909 (CONST_CAST): New tokens.
2910 (exp): Add new productions.
2911 (ident_tokens): Add const_cast, dynamic_cast, static_cast, and
2913 (is_cast_operator): New function.
2914 (yylex): Handle cast operators specially.
2915 * eval.c (evaluate_subexp_standard) <UNOP_DYNAMIC_CAST,
2916 UNOP_REINTERPRET_CAST>: New cases.
2917 * expprint.c (print_subexp_standard): Likewise.
2918 (op_name_standard): Likewise.
2919 (dump_subexp_body_standard): Likewise.
2920 * parse.c (operator_length_standard): Likewise.
2921 * expression.h (enum exp_opcode): New constants UNOP_DYNAMIC_CAST,
2922 UNOP_REINTERPRET_CAST.
2923 * gdbtypes.c (class_types_same_p): New function.
2924 (is_ancestor): Use it.
2925 (is_public_ancestor): New function.
2926 (is_unique_ancestor_worker): Likewise.
2927 (is_unique_ancestor): Likewise.
2928 * gdbtypes.h (class_types_same_p, is_public_ancestor)
2929 (is_unique_ancestor): Declare.
2930 * valops.c (value_reinterpret_cast): New function.
2931 (dynamic_cast_check_1): Likewise.
2932 (dynamic_cast_check_2): Likewise.
2933 (value_dynamic_cast): Likewise.
2934 * value.h (value_reinterpret_cast, value_dynamic_cast): Declare.
2938 Fix build failure when building without Python support.
2939 * python/python.c: Always include exceptions.h, even when HAVE_PYTHON
2944 Use XVS field type instead of doing a parallel lookup.
2945 * ada-lang.c (ada_get_base_type): Follow the XVS field type
2946 if it is a reference type instead of doing a type lookup using
2951 Trust PAD types instead of using PAD___XVS.
2952 * ada-lang.c (trust_pad_over_xvs): New static variable.
2953 (ada_is_aligner_type): If !trust_pad_over_xvs and there is a
2954 parallel XVS type, follow the XVS type instead of the PAD type.
2955 (unwrap_value): Make sure that there is no parallel XVE type
2956 before returning the value as is.
2957 (set_ada_list, show_ada_list): New static variables.
2958 (set_ada_command, show_ada_command): New functions.
2959 (_initialize_ada_language): Add new "set/show ada" prefix commands.
2960 Add new "set/show ada trust-PAD-over-XVS" setting.
2965 Allow "source" to load python scripts.
2966 * exceptions.h (enum errors): Add UNSUPPORTED_ERROR.
2967 * python/python.c (source_python_script): New function.
2968 * python/python.h (source_python_script): Add declaration.
2969 * cli/cli-cmds.c: #include exceptions.h and python/python.h.
2970 (script_ext_off, script_ext_soft, script_ext_strict)
2971 (script_ext_enums, script_ext_mode): New static constants.
2972 (show_script_ext_mode, find_and_open_script): New functions.
2973 (source_script): Enhance to handle Python scripts.
2974 (init_cli_cmds): Add set/show script-extension commands.
2978 * tracepoint.h (struct trace_status): Use unsigned long long
2980 * tracepoint.c (trace_status_command): Fix printf directive.
2981 (trace_save_command): Check fwrite returns, fix printf directive.
2982 (trace_filename): New global.
2983 (tfile_open): Set it, check read returns.
2984 (tfile_close): Free trace_filename.
2985 (tfile_get_traceframe_address): Check read returns.
2986 (tfile_trace_find): Ditto.
2987 (tfile_fetch_registers): Ditto.
2988 (tfile_xfer_partial): Ditto.
2989 (tfile_get_trace_state_variable_value): Ditto.
2993 Add trace file support.
2994 * tracepoint.h (enum trace_stop_reason): New enum.
2995 (struct trace_status): New struct.
2996 (parse_trace_status): Declare.
2997 (struct uploaded_tp): Move here from remote.c,
2998 add fields for actions.
2999 (struct uploaded_tsv): New struct.
3000 * tracepoint.c (tfile_ops): New target vector.
3001 (trace_fd): New global.
3002 (tfile_open): New function.
3003 (tfile_close): New function.
3004 (tfile_files_info): New function.
3005 (tfile_get_trace_status): New function.
3006 (tfile_get_traceframe_address): New function.
3007 (tfile_trace_find): New function.
3008 (tfile_fetch_registers): New function.
3009 (tfile_xfer_partial): New function.
3010 (tfile_get_trace_state_variable_value): New function.
3011 (init_tfile_ops): New function.
3012 (_initialize_tracepoint): Call it, add tfile target.
3013 (trace_status): New global.
3014 (current_trace_status): New function.
3015 (trace_running_p): Remove, change all users to get from
3016 current_trace_status()->running.
3017 (get_trace_status): Remove.
3018 (trace_status_command): Call target_get_trace_status directly,
3019 report more detail including tracing stop reasons.
3020 (trace_find_command): Always allow tfind on a file.
3021 (trace_find_pc_command): Ditto.
3022 (trace_find_tracepoint_command): Ditto.
3023 (trace_find_line_command): Ditto.
3024 (trace_find_range_command): Ditto.
3025 (trace_find_outside_command): Ditto.
3026 (trace_frames_offset, cur_offset): Declare as off_t.
3027 (trace_regblock_size): Rename from reg_size, update users.
3028 (parse_trace_status): New function.
3029 (tfile_interp_line): New function.
3030 (disconnect_or_stop_tracing): Ensure current trace
3031 status before asking what to do.
3032 (stop_reason_names): New global.
3033 (trace_save_command): New command.
3034 (get_uploaded_tp): Move here from remote.c.
3035 (find_matching_tracepoint): Ditto.
3036 (merge_uploaded_tracepoints): New function.
3037 (parse_trace_status): Use stop_reason_names.
3038 (_initialize_tracepoint): Define tsave command.
3039 * target.h (target_ops): New fields to_save_trace_data,
3040 to_upload_tracepoints, to_upload_trace_state_variables,
3041 to_get_raw_trace_data, change to_get_trace_status
3042 to take a pointer to a status struct.
3043 (target_save_trace_data): New macro.
3044 (target_upload_tracepoints): New macro.
3045 (target_upload_trace_state_variables): New macro.
3046 (target_get_raw_trace_data): New macro.
3047 * target.c (update_current_target): Add new methods, change
3048 signature of to_get_trace_status.
3049 * remote.c (hex2bin): Make globally visible.
3051 (remote_download_trace_state_variable): Download name also.
3052 (remote_get_trace_status): Update parameter, use
3054 (remote_save_trace_data): New function.
3055 (remote_upload_tracepoints): New function.
3056 (remote_upload_trace_state_variables): New function.
3057 (remote_get_raw_trace_data): New function.
3058 (remote_start_remote): Use them.
3059 (_initialize_remote_ops): Add operations.
3060 * ax-gdb.c: Include breakpoint.h.
3061 * breakpoint.c (create_tracepoint_from_upload): Use
3062 break_command_really, return tracepoint, warn about unimplemented
3064 * NEWS: Mention trace file addition.
3068 Fix compilation warning on gcc-3.4.
3069 * exec.c (print_section_info): Move the `displacement' variable
3070 initialization to its declaration.
3074 * gdb-gdb.py (StructMainTypePrettyPrinter): Fix TYPE_CODE_RANGE
3079 "info tasks" broken by typedefs in ATCB type definitions.
3080 * ada-lang.c (ada_template_to_fixed_record_type_1): Add call to
3081 ada_check_typedef before retrieving the length of the type for
3086 Do not use name-based lookup for unconstrained packed arrays.
3087 * ada-lang.c (find_parallel_type_by_descriptive_type):
3088 Limit the fallback to name-based lookups to the case where
3089 the type is a constrained packed array.
3093 Enhance gdb-gdb.py to handle main_type.type_specific.
3094 * gdb-gdb.py: Print the type-specific part of struct main_type.
3098 * configure.ac (AC_CHECK_FUNCS): Check for setrlimit and getrlimit.
3099 * configure: Regenerate.
3100 * config.in: Regenerate.
3101 * utils.c: Include sys/resource.h.
3102 (dump_core, can_dump_core): New.
3103 (internal_vproblem): Update the comment. Check can_dump_core while
3104 setting dump_core_p. Replace two abort calls by dump_core calls.
3109 * NEWS: Document the PIE support.
3113 * linux-tdep.c: Remove includes gdbcore.h, observer.h and elf-bfd.h.
3114 (check_is_pie_binary, _initialize_linux_tdep): Remove.
3118 * solib-svr4.c (svr4_exec_displacement): New comment for entry_point.
3119 Replace exec_entry_point call by bfd_get_start_address.
3123 Support Valgrind attachments broken by the PIE support.
3124 * auxv.c: Include gdbcore.h.
3125 (procfs_xfer_auxv): Make static. Reduce its comment. Drop its
3126 parameters ops, object and annex. Remove their assertions.
3127 (ld_so_xfer_auxv, memory_xfer_auxv): New function.
3128 * auxv.h (procfs_xfer_auxv): Remove comment. Rename to ...
3129 (memory_xfer_auxv): ... here.
3130 * linux-nat.c (linux_xfer_partial): Rename procfs_xfer_auxv to
3132 * procfs.c (procfs_xfer_partial): Likewise.
3133 * solib-svr4.c (svr4_relocate_main_executable): New prototype.
3134 (svr4_special_symbol_handling): Call svr4_relocate_main_executable.
3135 (svr4_solib_create_inferior_hook): Conditionalize the
3136 svr4_relocate_main_executable call.
3140 * solib-svr4.c (scan_dyntag): Remove variable dyn_addr. New variable
3141 target_section. Find SECT in current_target_sections, gdb_assert it.
3142 (elf_lookup_lib_symbol): Pass the binary file if given symfile_objfile.
3144 * symtab.c (lookup_objfile_from_block): Return the binary file instead
3145 of separate debug info file.
3149 Support PIEs with no symfile_objfile.
3150 * exec.c (print_section_info <abfd == exec_bfd>): Relocate Entry point.
3151 * solib-svr4.c (svr4_relocate_main_executable <exec_bfd>): New block.
3155 * solib-svr4.c (svr4_relocate_main_executable): Move the static exec
3157 (svr4_static_exec_displacement): ... a new function.
3158 (svr4_exec_displacement): New function.
3159 (svr4_relocate_main_executable): Call svr4_exec_displacement. Allocate
3160 new_offsets using alloca now. Remove variable old_chain and changed.
3161 Call objfile_relocate unconditionally now.
3165 * gdbtypes.c (arch_flags_type): Fix comment.
3166 * gdbtypes.h (arch_composite_type): Fix comment.
3170 * machoread.c (macho_add_oso_symfile): Add symfile_flags parameter.
3171 Call xstrdup for abfd->filename. Pass symfile_flags and objfile flags
3172 to symbol_file_add_from_bfd. Add OSO as separate objfile.
3173 (macho_oso_symfile): Add symfile_flags parameter. Pass it to
3174 macho_add_oso_symfile.
3175 (macho_symfile_read): Pass symfile_flags to macho_oso_symfile.
3179 Tru64: Dead threads are never deleted.
3180 * dec-thread.c (dec_thread_ptid_is_alive): New function.
3181 (dec_thread_count_gdb_threads): Fix counter increment.
3182 (dec_thread_add_gdb_thread): Fix *listp increment.
3183 (resync_thread_list): Fix bug in deletion of dead threads that
3184 caused all threads to be deleted, instead of just the dead ones.
3190 * python/python-internal.h: Add lazy_string_object_type
3192 (create_lazy_string_object, gdbpy_initialize_lazy_string)
3193 (gdbpy_is_lazystring, gdbpy_extract_lazy_string): Define.
3194 * python/py-value.c (valpy_lazy_string): New function.
3195 (convert_value_from_python): Add lazy string conversion.
3196 * python/py-prettyprint.c (pretty_print_one_value): Check if
3197 return is also a lazy string.
3198 (print_string_repr): Add lazy string printing branch.
3199 (print_children): Likewise.
3200 * python/py-lazy-string.c: New file. Implement lazy strings.
3201 * python/python.c (_initialize_python): Call
3202 gdbpy_initialize_lazy_string.
3203 * varobj.c (value_get_print_value): Add lazy string printing
3204 branch. Account for encoding.
3205 * c-lang.c (c_printstr): Account for new encoding argument. If
3206 encoding is NULL, find encoding suited for type, otherwise use
3208 * language.h (language_defn): Add encoding argument.
3209 (LA_PRINT_STRING): Likewise.
3210 * language.c (unk_lang_printstr): Update to reflect new encoding
3211 argument to language_defn.
3212 * ada-lang.h (ada_printstr): Likewise.
3213 * c-lang.h (c_printstr): Likewise.
3214 * p-lang.h (pascal_printstr);
3215 * f-lang.c (f_printstr): Likewise.
3216 * m2-lang.c (m2_printstr): Likewise.
3217 * objc-lang.c (objc_printstr): Likewise.
3218 * p-lang.c (pascal_printstr): Likewise.
3219 * scm-lang.c (scm_printstr): Likewise.
3220 * c-valprint.c (c_val_print): Update LA_PRINT_STRING call for
3222 * ada-valprint.c (ada_printstr): Likewise.
3223 * f-valprint.c (f_val_print): Likewise
3224 * m2-valprint.c (m2_val_print): Likewise.
3225 * p-valprint.c (pascal_val_print): Likewise.
3226 * expprint.c (print_subexp_standard): Likewise.
3227 * valprint.c (val_print_string): Likewise.
3228 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-lazy-string.
3229 (SUBDIR_PYTHON_SRCS): Likewise.
3230 (py-lazy-string.o): New rule.
3234 * mi/mi-main.c (list_available_thread_groups): Avoid "may be used
3235 uninitialized" warning from gcc on local `tree'.
3239 Implement core awareness.
3241 * bcache.c (compare_ints): Remove
3242 (print_percentage): Use compare_positive_ints.
3243 * defs.h (compare_positive_ints): Declare.
3244 * linux-nat.h (struct lin_lwp): New field core.
3245 (linux_nat_core_of_thread_1): Declare.
3246 * linux-nat.c (add_lwp): Init the 'core' field.
3247 (linux_nat_wait_1): Record the core.
3248 (linux_nat_core_of_thread_1, linux_nat_core_of_thread): New.
3249 (linux_nat_add_target): Register the above.
3250 * linux-thread-db.c (update_thread_core): New.
3251 (thread_db_find_new_threads): Update core information for
3253 * remote.c (struct private_thread_info): New.
3254 (free_private_thread_info, demand_private_info): New.
3255 (PACKET_qXfer_threads, use_osdata_threads): New.
3256 (struct thread_item, threads_parsing_context
3257 (start_thread, end_thread, thread_attributes)
3258 (thread_children, threads_children, threads_elements): New.
3259 (remote_threads_info): Try qXfer:threads before anything
3261 (remote_protocol_packets): Register qXfer:threads.
3262 (remote_open_1): Init use_osdata_threads.
3263 (struct stop_reply): New field 'core'.
3264 (remote_parse_stop_reply): Parse core number.
3265 (process_stop_reply): Record core number.
3266 (remote_xfer_partial): Handle qXfer:threads.
3267 (remote_core_of_thread): New.
3268 (init_remote_ops): Register remote_core_of_thread.
3269 (_initialize_remote): Register qXfer:read.
3270 * target.c (target_core_of_thread): New
3271 * target.h (enum target_object): New value TARGET_OBJECT_THREADS.
3272 (struct target_ops): New field to_core_of_threads.
3273 (target_core_of_thread): Declare.
3274 * gdbthread.h (struct thread_info): New field private_dtor.
3275 * thread.c (print_thread_info): Report the core.
3276 * ui-out.c (MAX_UI_OUT_LEVELS): Increase.
3277 * utils.c (compare_positive_ints): New.
3278 * features/threads.dtd: New.
3279 * mi/mi-interp.c (mi_on_normal_stop): Report the core.
3280 * mi/mi-main.c (struct collect_cores_data, collect_cores)
3281 (do_nothing, free_vector_of_osdata_items)
3282 (splay_tree_int_comparator, free_splay_tree): New.
3283 (print_one_inferior_data): Implemented printing of selected
3284 inferiors. Collect and print cores.
3285 (output_cores): New.
3286 (mi_cmd_list_thread_groups): Support --recurse. Permit specifying
3287 thread groups together with --available.
3291 * configure: Regenerate (for _STRUCTURED_PROC).
3295 Delete dead function.
3296 * ada-lang.c (extract_string): Delete. No longer used.
3300 Fix -Wunused warning in dec-thread.c.
3301 * dec-thread.c (dec_thread_count_gdb_threads)
3302 (dec_thread_add_gdb_thread): Prevent -Wunused warning.
3306 * ada-valprint.c (ada_print_floating): Remove trailing space.
3310 Add support for DW_AT_GNAT_descriptive_type.
3311 * gdbtypes.h (enum type_specific_kind): New enum.
3312 (struct main_type) [type_specific_field]: New component.
3313 [type_specific]: Add new component "gnat_stuff".
3314 (struct gnat_aux_type): New type.
3315 (INIT_CPLUS_SPECIFIC): Also set TYPE_SPECIFIC_FIELD (type).
3316 (HAVE_CPLUS_STRUCT): Also check TYPE_SPECIFIC_FIELD (type).
3317 (gnat_aux_default, allocate_gnat_aux_type): Add declaration.
3318 (INIT_GNAT_SPECIFIC, ALLOCATE_GNAT_AUX_TYPE, HAVE_GNAT_AUX_INFO)
3319 (TYPE_SPECIFIC_FIELD): New macros.
3320 (TYPE_CPLUS_SPECIFIC): Return cplus_struct_default if the given
3321 type does not hold any cplus-specific data.
3322 (TYPE_RAW_CPLUS_SPECIFIC): New macro.
3323 (TYPE_GNAT_SPECIFIC, TYPE_DESCRIPTIVE_TYPE): New macros.
3324 (TYPE_IS_OPAQUE): Use HAVE_CPLUS_STRUCT to check if type has
3325 cplus-specific data.
3326 * gdbtypes.c (allocate_cplus_struct_type): Minor stylistic rewrite.
3327 Set new component TYPE_SPECIFIC_FIELD (type).
3328 (gnat_aux_default): New constant.
3329 (allocate_gnat_aux_type): New function.
3330 (init_type): Add initialization the type-specific stuff for
3331 TYPE_CODE_FLT and TYPE_CODE_FUNC types.
3332 (print_gnat_stuff): New function.
3333 (recursive_dump_type): Use HAVE_CPLUS_STRUCT to check for cplus-
3334 specific data. Adjust code that prints the contents of the
3335 type-specific union using the TYPE_SPECIFIC_FIELD value.
3336 * dwarf2read.c (dwarf2_attach_fields_to_type): Do not allocate
3337 the type cplus stuff for Ada types.
3338 (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
3339 Error out if these routines are called with an Ada type.
3340 (read_structure_type, read_array_type, read_subrange_type):
3341 Add call to set_descriptive_type.
3342 (set_die_type): Initialize the gnat-specific data if necessary.
3343 (need_gnat_info, die_descriptive_type, set_descriptive_type):
3345 * ada-lang.c (decode_constrained_packed_array_type): Use
3346 decode_constrained_packed_array_type instead of doing a standard
3347 lookup to locate a parallel type.
3348 (find_parallel_type_by_descriptive_type): New function.
3349 (ada_find_parallel_type_with_name): New function.
3350 (ada_find_parallel_type): Reimplement using
3351 ada_find_parallel_type_with_name.
3352 * ada-valprint.c (print_field_values): Use HAVE_CPLUS_STRUCT
3353 to check if type has a cplus stuff.
3354 * linespec.c (total_number_of_methods): Likewise.
3355 * mdebugread.c (new_type): Likewise.
3359 * NEWS: Document the 0b binary number prefix parsing.
3363 * objfiles.c (objfile_relocate1): Change the return type to int.
3364 Describe the new return value. Return non-zero if data changed.
3365 (objfile_relocate): New variable changed. Set it. Call
3366 breakpoint_re_set depending on CHANGED.
3370 Implement binary numbers parsing.
3371 * c-exp.y (parse_number): New case 'b' and 'B'.
3376 * solib.c (info_sharedlibrary_command): Replace
3377 objfile_has_partial_symbols and objfile_has_full_symbols calls by
3378 objfile_has_symbols.
3382 * NEWS: Document the improvements made to the mips-irix port.
3386 Fix the documentation of valprint.c:value_print.
3387 * valprint.c (value_print): Update the function description to
3388 mention that the syntax of the output follows the current_language,
3393 Fix displacement of separate debug info files.
3394 * objfiles.c (objfile_relocate): Rename to ...
3395 (objfile_relocate1): ... here and make it static. Extend the comment.
3396 (objfile_relocate): New function.
3397 * solib-spu.c (spu_relocate_main_executable): Explicitly check if
3398 SYMFILE_OBJFILE is NULL. Remove variables objfile and old_chain.
3399 Remove following of SEPARATE_DEBUG_OBJFILE. new_offsets is now
3400 allocated using alloca.
3401 * symfile.c (copy_section_addr_info): Remove.
3402 (build_section_addr_info_from_objfile): Make it global. New variables
3403 addr_bit and mask, use them.
3404 * symfile.h (build_section_addr_info_from_objfile): New prototype.
3405 (copy_section_addr_info): Remove.
3409 Signal unwinder for mips-irix N32.
3410 * mips-irix-tdep.c: #include mips-tdep.h, trad-frame.h, and
3412 (SIGTRAMP_FRAME_SIZE, SIGCONTEXT_PC_OFF, SIGCONTEXT_REGS_OFF)
3413 (SIGCONTEXT_FPREGS_OFF, SIGCONTEXT_FPCSR_OFF, SIGCONTEXT_HI_OFF)
3414 (SIGCONTEXT_LO_OFF): New macros.
3415 (mips_irix_n32_tramp_frame_init): New function.
3416 (mips_irix_n32_tramp_frame): New static constant.
3417 (mips_irix_init_abi): Prepend the mips_irix_n32_tramp_frame unwinder.
3421 Breakpoint in shared library does not work on mips-irix.
3422 * procfs.c: #include "observer.h".
3423 (procfs_inferior_created): New function, moving here the code
3424 which unsets the syssgi syscall-exit notifications.
3425 (procfs_create_inferior): Remove the code which unsets the syssgi
3426 syscall-exit notifications. It is too early to do this here.
3427 (_initialize_procfs): Attach the procfs_inferior_created observer.
3431 Wrong return convention for arrays (mips-irix).
3432 * mips-tdep.c (mips_n32n64_return_value): Arrays whose size is
3433 128 bits or smaller are returned the same way as structs
3434 and unions of the the same size.
3438 Cannot set the PC on mips-irix.
3439 * irix5-nat.c (fill_gregset): Check regno against the raw PC
3440 register number, no the cooked one.
3444 Error while loading core file on mips-irix.
3445 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing
3446 if debugging from a core file.
3450 GDB hangs when attaching to process on mips-irix.
3451 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if
3452 attaching to a process.
3456 Use the correct breakpoint instruction on mips-irix.
3457 * mips-tdep.c (mips_breakpoint_from_pc): Add new static variable
3458 containing the correct breakpoint instruction to use on mips-irix.
3459 Use it when the osabi is GDB_OSABI_IRIX.
3463 -Wunused warning in procfs.c (mips-irix only).
3464 * procfs.c (gdb_praddset, gdb_prdelset): New macros. Use them
3465 throughout instead of using praddset and prdelset respectively.
3469 GDB crash while stepping into function.
3470 * infrun.c (handle_inferior_event): Refetch the current frame
3471 after handling what.main_action, in case that pointer became
3476 Fix build failure of solaris-hosted cross debuggers.
3477 * ada-valprint.c, parse.c: Include defs.h before including ctype.h.
3481 Fix build failure on sparc-solaris.
3482 * procfs.c: (procfs_do_thread_registers) Use elfcore_write_lwpstatus.
3486 Move some symfile code into subroutines.
3487 * symfile.h (relative_addr_info_to_section_offsets)
3488 (addr_info_make_relative): New prototypes.
3489 * symfile.c (default_symfile_offsets): Move a part to ...
3490 (relative_addr_info_to_section_offsets): ... this new function.
3491 (default_symfile_offsets): Call it.
3492 (syms_from_objfile <!mainline && addrs && addrs->other[0].name>): Move
3494 (addr_info_make_relative): ... this new function.
3498 Add from_tty to solib_create_inferior_hook.
3499 * infcmd.c (post_create_inferior): Move solib_add after
3500 solib_create_inferior_hook. Pass from_tty to
3501 solib_create_inferior_hook. Call solib_add and SOLIB_ADD with
3502 0 from_tty and comment why.
3503 * infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0.
3504 * linux-nat.c (linux_child_follow_fork): Likewise.
3505 * nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise.
3506 * solib-darwin.c (darwin_solib_create_inferior_hook): New parameter
3508 * solib-frv.c (frv_solib_create_inferior_hook): Likewise.
3509 * solib-irix.c (irix_solib_create_inferior_hook): Likewise.
3510 * solib-null.c (null_solib_create_inferior_hook): Likewise.
3511 * solib-osf.c (osf_solib_create_inferior_hook): Likewise.
3512 * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
3513 * solib-som.c (som_solib_create_inferior_hook): Likewise.
3514 * solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty.
3515 Pass it to svr4_so_ops.solib_create_inferior_hook.
3516 * solib-sunos.c (sunos_solib_create_inferior_hook): New parameter
3518 * solib-svr4.c (enable_break): New parameter from_tty. Pass it to
3520 (svr4_solib_create_inferior_hook): New parameter from_tty. Pass it to
3522 * solib-target.c (solib_target_solib_create_inferior_hook): New
3524 * solib.c (solib_create_inferior_hook): New parameter from_tty. Pass
3525 it to ops->solib_create_inferior_hook.
3526 (reload_shared_libraries): Pass from_tty to solib_create_inferior_hook.
3527 Move solib_add after solib_create_inferior_hook, call it now with
3528 from_tty as 0. New comment there.
3529 * solib.h (solib_create_inferior_hook): New parameter from_tty.
3530 * solist.h (struct target_so_ops <solib_create_inferior_hook>):
3536 * infrun.c (handle_inferior_event): Use get_thread_regcache
3537 with events ptid, not get_current_regcache.
3541 GDB crash with empty executable name (MinGW).
3542 * source.c (openp): Add assert that parameter string is not NULL.
3543 if parameter string is an empty string, then return with a failure
3548 Get rid of support for VAX Floats.
3549 * ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix)
3550 (ada_vax_float_print_function): Delete.
3551 * ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix)
3552 (ada_vax_float_print_function): Delete.
3553 * ada-typeprint.c (print_vax_floating_point_type): Delete.
3554 (ada_print_type): Remove support for VAX floats.
3555 * ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
3559 * stabsread.c (read_args): Handle zero arguments.
3563 Cannot find in-tree libiconv.a after reconfigure.
3564 * acinclude.m4 (AM_ICONV): If we find an in-tree libiconv.a
3565 that we can use, then cache the path to this archive.
3566 * configure: Regenerate.
3570 Make tracepoint operations go through target vector.
3571 * target.h (enum trace_find_type): New enum.
3572 (struct target_ops): New fields to_trace_init,
3573 to_download_tracepoint, to_download_trace_state_variable,
3574 to_trace_set_readonly_regions, to_trace_start, to_get_trace_status,
3575 to_trace_stop, to_trace_find, to_get_trace_state_variable_value,
3576 to_set_disconnected_tracing.
3577 (target_trace_init): New macro.
3578 (target_download_tracepoint): New macro.
3579 (target_download_trace_state_variable): New macro.
3580 (target_trace_start): New macro.
3581 (target_trace_set_readonly_regions): New macro.
3582 (target_get_trace_status): New macro.
3583 (target_trace_stop): New macro.
3584 (target_trace_find): New macro.
3585 (target_get_trace_state_variable_value): New macro.
3586 (target_set_disconnected_tracing): New macro.
3587 * target.c (update_current_target): Inherit and set defaults for
3588 tracepoint operations.
3589 * tracepoint.c (default_collect): Make globally visible.
3590 (target_is_remote): Remove, along with all calls.
3591 (tvariables_info): Call target_get_trace_state_variable_value.
3592 (remote_set_transparent_ranges): Remove.
3593 (trace_start_command): Call target_trace_init,
3594 target_download_tracepoint, etc.
3595 (download_tracepoint): Remove.
3596 (trace_stop_command): Simplify.
3597 (stop_tracing): Call target_trace_stop.
3598 (get_trace_status): Call target_get_trace_status.
3599 (trace_status_command): Add case for targets that cannot trace.
3600 (finish_tfind_command): Change to take numerical arguments, call
3602 (trace_find_command): Update call to finish_tfind_command.
3603 (trace_find_pc_command): Ditto.
3604 (trace_find_tracepoint_command): Ditto.
3605 (trace_find_line_command): Ditto.
3606 (trace_find_range_command): Ditto.
3607 (trace_find_outside_command): Ditto.
3608 (set_disconnected_tracing_value): Call
3609 target_set_disconnected_tracing.
3610 * remote.c: Add protocol encoding bits from tracepoint.c.
3611 (trace_error): Move from tracepoint.c.
3612 (remote_get_noisy_reply): Ditto.
3613 (free_actions_list_cleanup_wrapper): Ditto.
3614 (free_actions_list): Ditto.
3615 (remote_trace_init): New function.
3616 (remote_download_tracepoint): New function.
3617 (remote_download_trace_state_variable): New function.
3618 (remote_trace_set_readonly_regions): New function.
3619 (remote_trace_start): New function.
3620 (remote_get_trace_status): New function.
3621 (remote_trace_stop): New function.
3622 (remote_trace_find): New function.
3623 (remote_download_trace_state_variable): New function.
3624 (remote_set_disconnected_tracing): New function.
3625 (init_remote_ops): Add tracepoint operations.
3627 * tracepoint.c (trace_dump_command): Don't decr_pc_after_break.
3631 * symfile.c (build_section_addr_info_from_objfile): New function.
3632 (symbol_file_add_separate): Don't use offsets from objfile but
3637 Support disconnected tracing.
3638 * infcmd.c (detach_command): Ask whether to stop tracing.
3639 * cli/cli-cmds.c (quit_command): Ditto.
3640 * breakpoint.h (struct breakpoint): New field number_on_target.
3641 * breakpoint.c (create_tracepoint_from_upload): New function.
3642 (get_tracepoint_by_number_on_target): New function.
3643 * remote.c (struct remote): New field disconnected_tracing.
3644 (remote_disconnected_tracing_feature): New function.
3645 (remote_protocol_features): Add DisconnectedTracing.
3646 (struct uploaded_tp): New struct.
3647 (uploaded_tps): New global.
3648 (get_uploaded_tp): New function.
3649 (find_matching_tracepoint): New function.
3650 (remote_get_tracing_state): New function.
3651 (remote_start_remote): Call it.
3652 * tracepoint.c (disconnected_tracing): New global.
3653 (trace_start_command): Initialize number_on_target.
3654 (stop_tracing): New function, split out from...
3655 (trace_stop_command): Call stop_tracing.
3656 (get_trace_status): New function, split out from...
3657 (trace_status_command): Call get_trace_status, add info on
3658 disconnection behavior.
3659 (disconnect_or_stop_tracing): New function.
3660 (finish_tfind_command): Translate from number on target.
3661 (trace_find_tracepoint_command): Translate to number on target.
3662 (send_disconnected_tracing_value): New function.
3663 (set_disconnected_tracing): New function.
3664 (_initialize_tracepoint): Add disconnected-tracing variable.
3665 * NEWS: Mention disconnected tracing.
3669 * symtab.c (lookup_global_symbol_from_objfile): Rename objfile
3670 parameter to main_objfile. Iterate on all separate debug objfiles.
3671 * symfile.h (symbol_file_add_separate)
3672 (find_separate_debug_file_by_debuglink): Remove parameter names.
3673 * symfile.c (symbol_file_add_separate): Use add_separate_objfile.
3674 (reread_symbols): Use free_objfile_separate_debug.
3675 * objfiles.h (struct objfile): Add separate_debug_objfile_link.
3677 (objfile_separate_debug_iterate, add_separate_debug_objfile)
3678 (free_objfile_separate_debug): New prototypes.
3679 * objfiles.c (objfile_separate_debug_iterate): New function.
3680 (add_separate_debug_objfile, free_objfile_separate_debug): New
3682 (free_objfile): Use free_objfile_separate_debug. Adjust for
3683 multiple separate debug objfile.
3684 (objfile_has_symbols): Adjust comment. Iterate on all separate
3686 * minsyms.c (lookup_minimal_symbol): Adjust for multiple separate
3688 (lookup_minimal_symbol_text): Ditto.
3689 (lookup_minimal_symbol_by_pc_name): Ditto.
3690 (lookup_minimal_symbol_solib_trampoline): Ditto.
3691 (lookup_minimal_symbol_by_pc_section_1): Iterate on all separate
3696 Add fast tracepoints.
3697 * arch-utils.h (default_fast_tracepoint_valid_at): Declare.
3698 * arch-utils.c (default_fast_tracepoint_valid_at): New function.
3699 * breakpoint.h (enum bptype): Add bp_fast_tracepoint.
3700 * breakpoint.c (tracepoint_type): New function.
3701 (ALL_TRACEPOINTS): Use it.
3702 (should_be_inserted): Ditto.
3703 (bpstat_check_location): Ditto.
3704 (print_one_breakpoint_location): Ditto.
3705 (user_settable_breakpoint): Ditto.
3706 (set_breakpoint_location_function): Ditto.
3707 (disable_breakpoints_in_shlibs): Ditto.
3708 (delete_trace_command): Ditto.
3709 (print_it_typical): Add bp_fast_tracepoint case.
3710 (bpstat_what): Ditto.
3711 (print_one_breakpoint_location): Ditto.
3712 (allocate_bp_location): Ditto.
3714 (breakpoint_re_set_one): Ditto.
3715 (disable_command): Ditto.
3716 (enable_command): Ditto.
3717 (check_fast_tracepoint_sals): New function.
3718 (break_command_really): Call it.
3719 (ftrace_command): New function.
3720 (_initialize_breakpoint): Add ftrace command.
3721 * gdbarch.sh (fast_tracepoint_valid_at): New.
3722 * gdbarch.h, gdbarch.c: Regenerate.
3723 * i386-tdep.c (i386_fast_tracepoint_valid_at): New function.
3724 (i386_gdbarch_init): Use it.
3725 * remote.c (struct remote_state): New field fast_tracepoints.
3726 (PACKET_FastTracepoints): New packet config type.
3727 (remote_fast_tracepoint_feature): New function.
3728 (remote_protocol_features): Add FastTracepoints.
3729 (remote_supports_fast_tracepoints): New function.
3730 (_initialize_remote): Add FastTracepoints.
3731 * tracepoint.c (download_tracepoint): Add fast tracepoint option.
3732 * NEWS: Mention fast tracepoints.
3736 * gdb-gdb.py: New file.
3740 * infrun.c (handle_inferior_event): Fix typo in comment.
3744 * symfile.c (syms_from_objfile): Remove the !MAINLINE conditional.
3748 * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
3750 (s390-linux32-expedite): Define.
3751 (s390-linux64-expedite): Define.
3752 (s390x-linux64-expedite): Define.
3753 * features/s390-acr.xml: New file.
3754 * features/s390-fpr.xml: New file.
3755 * features/s390-core32.xml: New file.
3756 * features/s390-core64.xml: New file.
3757 * features/s390x-core64.xml: New file.
3758 * features/s390-linux32.xml: New file.
3759 * features/s390-linux64.xml: New file.
3760 * features/s390x-linux64.xml: New file.
3761 * features/s390-linux32.c: New generated file.
3762 * features/s390-linux64.c: New generated file.
3763 * features/s390x-linux64.c: New generated file.
3765 * regformats/s390-linux32.dat: New generated file.
3766 * regformats/s390-linux64.dat: New generated file.
3767 * regformats/s390x-linux64.dat: New generated file.
3768 * regformats/reg-s390.dat: Remove.
3769 * regformats/reg-s390x.dat: Remove.
3771 * s390-nat.c: Include "auxv.h" and <elf.h>.
3772 (HWCAP_S390_HIGH_GPRS): Define if undefined.
3773 (s390_target_wordsize): New function.
3774 (s390_auxv_parse): Likewise.
3775 (s390_get_hwcap): Likewise.
3776 (s390_read_description): Likewise.
3777 (_initialize_s390_nat): Install s390_auxv_parse and
3778 s390_read_description.
3780 * s390-tdep.c: Include "features/s390-linux32.c",
3781 "features/s390-linux64.c", and "features/s390x-linux64.c".
3782 (struct gdbarch_tdep): Add gpr_full_regnum, pc_regnum, and cc_regnum.
3783 (s390_register_call_saved): New function.
3784 (s390_register_name): Remove.
3785 (s390_register_type): Remove.
3786 (s390_dwarf_regmap): Add lower half GPR pseudo DWARF CFI regnums.
3787 (s390_dwarf_reg_to_regnum): Remap GPR regnums to full GPRs.
3788 (s390_adjust_frame_regnum): Remap GPR regnums to lower halves for CFI.
3789 (s390_pseudo_register_name): New function.
3790 (s390_pseudo_register_type): New function.
3791 (s390_pseudo_register_read): Handle both 32-bit and 64-bit cases.
3792 Handle full GPR pesudos and varying pseudo register numbers.
3793 (s390_pseudo_register_write): Likewise
3794 (s390x_pseudo_register_read): Remove.
3795 (s390x_pseudo_register_write): Likewise.
3796 (s390_register_group): Remove.
3797 (s390_pseudo_register_group): New function.
3798 (s390_regmap_gregset): Add GPR upper halves.
3799 (s390x_regmap_gregset): Likewise.
3800 (s390_regmap_fpregset): Likewise.
3801 (s390_regmap_upper): New global variable.
3802 (s390_upper_regset): New global variable.
3803 (s390_upper_regset_sections): New global variable.
3804 (s390_regset_from_core_section): Handle GPR upper halves.
3805 (s390_core_read_description): New function.
3806 (s390_prologue_frame_unwind_cache): Set up ABI call-saved/clobbered
3807 register information. Handle varying pseudo register numbers.
3808 (s390_backchain_frame_unwind_cache): Likewise.
3809 (s390_frame_prev_register): Unwind full GPRs to show lower halves.
3810 (s390_stub_frame_unwind_cache): Handle varying pseudo register numbers.
3811 (s390_sigtramp_frame_unwind_cache): Unwind PSWM and PSWA as well as
3812 PC and CC pseudos. Unwind upper halves and full GPRs as appropriate.
3813 Handle varying pseudo register numbers.
3814 (s390_unwind_pc): Handle varying pseudo register numbers.
3815 (s390_dwarf2_prev_register): New function.
3816 (s390_dwarf2_frame_init_reg): Set up ABI call-saved/clobbered
3817 register information. Handle varying pseudo register numbers.
3818 Install s390_dwarf2_prev_register to unwind full GPRs.
3819 (s390_gdbarch_init): Handle target descriptions. Assign varying
3820 pseudo register numbers. Install s390_adjust_frame_regnum.
3821 (_initialize_s390_tdep): Initialize target descriptions.
3823 * s390-tdep.h (S390_R0_UPPER_REGNUM .. S390_R15_UPPER_REGNUM): Define.
3824 (S390_NUM_REGS): Redefine to include upper half registers.
3825 (S390_PC_REGNUM, S390_CC_REGNUM): Remove.
3826 (S390_NUM_PSEUDO_REGS, S390_NUM_TOTAL_REGS): Likewise.
3827 (tdesc_s390_linux32): Add declaration.
3828 (tdesc_s390_linux64): Likewise.
3829 (tdesc_s390x_linux64): Likewise.
3833 * regset.h (struct core_regset_section): Add HUMAN_NAME.
3834 * i386-linux-tdep.c (i386_linux_regset_sections): Fill in HUMAN_NAME.
3835 * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
3836 (ppc_linux_vmx_regset_sections): Likewise.
3837 (ppc_linux_fp_regset_sections): Likewise.
3839 * corelow.c (get_core_register_section): Constify arguments.
3840 (get_core_registers): Use gdbarch_core_regset_sections instead
3841 of hard-coded platform-specific register section names.
3845 * dwarf2loc.c (read_pieced_value): If a piece occupies part of
3846 a register, assume the least-significant part is used.
3847 (write_pieced_value): Likewise.
3851 * printcmd.c: Include "arch-utils.h".
3852 (do_one_display): Re-parse expression if current architecture changed.
3857 * gdbtypes.c (check_typedef): New comment on type length.
3858 * value.c (allocate_value_lazy): Remove the unused atype variable. New
3859 comment on type length.
3860 (value_primitive_field): Keep the original TYPE value, new comment.
3864 * cli/cli-script.c (process_next_line): Rename p1 as p_end and p2 as
3865 p_start. Change != comparisons to > and < comparisons.
3869 * cli/cli-script.c (process_next_line): Check P2 overrun.
3873 Update the copyright hearder to add year 2010 for most GDB files.
3877 Fix build failure in inf-ptrace.c.
3878 * inf-ptrace.c (inf_ptrace_follow_fork): Fix typo.
3882 * top.c (print_gdb_version): Update copyright year.
3886 Fix break *FUN'address thread NUM.
3887 * ada-lex.l (task): Expand rule to also match the thread keyword.
3891 Fix break *FUN'address task NUM.
3892 * ada-lex.l (task): New rule.
3893 * ada-lang.c (valid_task_id): Make sure the Ada task list has
3894 been built before using it.
3896 For older changes see ChangeLog-2009.
3902 version-control: never