3 * linux-nat.c (lin_lwp_attach_lwp): For !WIPSTOPPED case,
4 adding missing call to restore_child_signals_mask.
8 * inferior.h (wait_for_inferior): Remove `thread_exec_as_sigtrap'
10 * infrun.c (proceed, start_remote): Adjust.
11 (wait_for_inferior): Remove `thread_exec_as_sigtrap' parameter,
12 and adjust to not handle it.
13 * solib-irix.c (irix_solib_create_inferior_hook): Adjust.
14 * solib-osf.c (osf_solib_create_inferior_hook): Adjust.
15 * solib-sunos.c (sunos_solib_create_inferior_hook): Adjust.
16 * solib-svr4.c (svr4_solib_create_inferior_hook): Adjust.
17 * windows-nat.c (do_initial_windows_stuff): Adjust.
18 * infcmd.c (attach_command): Adjust.
19 (notice_new_inferior): Adjust.
23 * ppc-linux-tdep.c (ppu2spu_prev_register): Handle pseudo registers.
24 (ppu2spu_unwind_register): Mark pseudo registers unavailable.
25 * spu-tdep.c (op_selb): Use correct value.
29 * spu-linux-nat.c (spu_symbol_file_add_from_memory): Add NULL
30 "parent" parameter to symbol_file_add_from_bfd call.
35 Implement support for PowerPC BookE masked watchpoints.
36 * NEWS: Mention masked watchpoint support. Create "Changed commands"
38 * breakpoint.h (struct breakpoint_ops) <works_in_software_mode>: New
39 method. Initialize to NULL in all existing breakpoint_ops instances.
40 (struct breakpoint) <hw_wp_mask>: New field.
41 * breakpoint.c (is_masked_watchpoint): Add prototype.
42 (update_watchpoint): Don't set b->val for masked watchpoints. Call
43 breakpoint's breakpoint_ops.works_in_software_mode if available.
44 (watchpoints_triggered): Handle the case of a hardware masked
46 (watchpoint_check): Likewise.
47 (works_in_software_mode_watchpoint): New function.
48 (insert_masked_watchpoint, remove_masked_watchpoint)
49 (resources_needed_masked_watchpoint)
50 (works_in_software_mode_masked_watchpoint, print_it_masked_watchpoint)
51 (print_one_detail_masked_watchpoint, print_mention_masked_watchpoint)
52 (print_recreate_masked_watchpoint, is_masked_watchpoint): New
54 (masked_watchpoint_breakpoint_ops): New structure.
55 (watch_command_1): Check for the existence of the `mask' parameter.
56 Set b->ops according to the type of hardware watchpoint being created.
57 * ppc-linux-nat.c (ppc_linux_insert_mask_watchpoint)
58 (ppc_linux_remove_mask_watchpoint)
59 (ppc_linux_masked_watch_num_registers): New functions.
60 (_initialize_ppc_linux_nat): Initialize to_insert_mask_watchpoint,
61 to_remove_mask_watchpoint and to_masked_watch_num_registers.
62 * target.c (update_current_target): Mention to_insert_mask_watchpoint,
63 to_remove_mask_watchpoint, and to_masked_watch_num_registers.
64 (target_insert_mask_watchpoint, target_remove_mask_watchpoint)
65 (target_masked_watch_num_registers): New functions.
66 * target.h (struct target_ops) <to_insert_mask_watchpoint>,
67 <to_remove_mask_watchpoint>, <to_masked_watch_num_registers>: New
69 (target_insert_mask_watchpoint, target_remove_mask_watchpoint)
70 (target_masked_watch_num_registers): Add prototypes.
75 * dwarf2read.c (struct dwarf2_cu): New field has_loclist.
76 (producer_is_gcc_ge_4_0): New function.
77 (process_full_comp_unit): Set also symtab->locations_valid. Move the
78 symtab->language code.
79 (var_decode_location): Set cu->has_loclist.
80 * symtab.c (skip_prologue_sal): New variables saved_pc, force_skip and
81 skip. Intialize force_skip from locations_valid. Move the prologue
82 skipping code into two passes.
83 * symtab.h (struct symtab): Make the primary field a bitfield. New
84 field locations_valid.
88 * c-exp.y (qualified_name): Call destructor_name_p with $1.type.
89 (classify_inner_name): Call cp_lookup_nested_type with
91 * cp-namespace.c (cp_lookup_nested_type): New variable
92 saved_parent_type. Call CHECK_TYPEDEF for parent_type. Call
93 type_name_no_tag_or_error with saved_parent_type.
94 * dwarf2read.c (load_partial_dies): Read in any children of
95 DW_TAG_typedef with complaint in such case.
96 * gdbtypes.c (type_name_no_tag_or_error): New function.
97 * gdbtypes.h (type_name_no_tag_or_error): New prototype.
98 * valops.c (destructor_name_p): New comment for parameter type. Remove
99 type const. Make dname and cp const. Call type_name_no_tag_or_error.
100 * value.h (destructor_name_p): Remove type const.
104 * symtab.c (compare_symbol_name): New function.
105 (completion_list_add_name, expand_partial_symbol_name): Call it,
106 remove the variable ncmp.
107 (default_make_symbol_completion_list_break_on): Reduce SYM_TEXT_LEN,
112 Demote to sw watchpoint only in update_watchpoint.
113 * breakpoint.c (update_watchpoint): Change between software and
114 hardware watchpoint for all kinds of watchpoints, not just
115 read/write ones. Determine b->exact value here instead of
116 in watch_command_1. Error out if there are not enough resources
117 for a read or access hardware watchpoint.
118 (watch_command_1): Remove logic of checking whether there are
119 enough resources available, since update_watchpoint will do that
120 work now. Don't set b->exact here. Catch exceptions thrown by
121 update_watchpoint and delete the watchpoint.
122 (can_use_hardware_watchpoint): Remove exact_watchpoints argument.
123 Use target_exact_watchpoints instead.
124 (delete_breakpoint): Notify observers only if deleted watchpoint
125 has a breakpoint number assigned to it.
129 * MAINTAINERS: Add myself as a write-after-approval maintainer.
133 * i386-tdep.c (i386_in_stack_tramp_p, i386_stack_tramp_frame_sniffer):
135 (i386_stack_tramp_frame_unwind): New static global.
136 (i386_match_pattern): New function, extracted from i386_match_insn.
137 (i386_match_insn): Use i386_match_pattern.
138 (i386_match_insn_block): New function.
139 (i386_tramp_chain_in_reg_insns)
140 (i386_tramp_chain_on_stack_insns): New static variables.
141 (i386_gdbarch_init): Add i386_stack_tramp_frame_unwind to list
146 * configure.host (xscale*): Don't handle target.
147 * configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
152 * gdb_wait.h: remove WAITTYPE and WCOREDUMP.
158 | * elfread.c (elf_symtab_read): Stop memory leak.
162 * nto-tdep.c (nto_target): Replace deprecated call to
163 cygwin_conv_to_posix_path functions by cygwin_conv_path calls.
167 Fix false GCC warning.
168 * breakpoint.c (do_enable_breakpoint): Initialize orig_enable_state.
172 * breakpoint.c (update_watchpoint): Move code to change
173 the enable state of breakpoint from here ...
174 (do_enable_breakpoint): ... to here.
178 * valprint.c (val_print_array_elements): Fixed poor performance
179 of printing very large arrays with repeat_count_threshold set
180 to unlimited. New comment.
184 * mi/mi-parse.c (mi_parse): Remove incorrect sizeof.
185 (mi_parse): Likewise.
186 * breakpoint.c (break_range_command): Use sizeof char*, not
188 (create_breakpoint): Likewise.
189 (parse_breakpoint_sals): Likewise.
193 * linux-nat.c (linux_child_remove_fork_catchpoint)
194 (linux_child_remove_vfork_catchpoint)
195 (linux_child_remove_exec_catchpoint): New functions.
196 (linux_target_install_ops): Install them.
202 * varobj.c (install_default_visualizer): Do not install a
203 visualizer if the varobj is CPLUS_FAKE_CHILD.
204 (construct_visualizer): Likewise.
208 * symtab.c (expand_partial_symbol_name): New variable NCMP. Support
209 case insensitive comparison.
213 * infrun.c (proceed): Revert previous change.
214 (resume): Instead, handle the case of signal delivery while stepping
215 off a breakpoint location here, and only if software single-stepping
216 is used. Handle nested signals.
220 * arm-tdep.c (copy_unmodified): Rename to ...
221 (arm_copy_unmodified): .. this. New.
222 (copy_preload): Move common part to ...
223 (install_preload): .. this. New.
224 (arm_copy_preload): New.
225 (copy_preload_reg): Move common part to ...
226 (install_preload_reg): ... this. New.
227 (arm_copy_preload_reg): New.
228 (copy_b_bl_blx): Move common part to ...
229 (install_b_bl_blx): .. this. New.
230 (arm_copy_b_bl_blx): New.
231 (copy_bx_blx_reg): Move common part to ...
232 (install_bx_blx_reg): ... this. New.
233 (arm_copy_bx_blx_reg): New.
234 (copy_alu_reg): Move common part to ...
235 (install_alu_reg): ... this. New.
236 (arm_copy_alu_reg): New.
237 (copy_alu_shifted_reg): Move common part to ...
238 (install_alu_shifted_reg): ... this. New.
239 (copy_ldr_str_ldrb_strb): Move common part to ...
240 (install_ldr_str_ldrb_strb): ... this. New.
241 (arm_copy_ldr_str_ldrb_strb): New.
242 (copy_copro_load_store): Move some common part to ...
243 (install_copy_copro_load_store): ... this. New.
244 (arm_copy_copro_load_store): New.
246 (arm_copy_svc): Renamed from copy_svc.
247 (copy_undef): Delete.
248 (arm_copy_undef): Renamed from copy_undef.
249 (decode_ext_reg_ld_st): Delete.
250 (arm_decode_ext_reg_ld_st): Renamed from decode_ext_reg_ld_st.
251 (decode_svc_copro): Delete.
252 (arm_decode_svc_copro): Renamed from decode_svc_copro.
253 (copy_copro_load_store, copy_alu_imm): update callers.
254 (copy_extra_ld_st, copy_block_xfer): Likewise.
255 (decode_misc_memhint_neon, decode_unconditional): Likewise.
256 (decode_miscellaneous, decode_dp_misc): Likewise.
257 (decode_ld_st_word_ubyte, decode_media): Likewise.
258 (decode_b_bl_ldmstm, decode_ext_reg_ld_st): Likewise.
259 (decode_svc_copro, decode_misc_memhint_neon): Likewise.
260 (decode_unconditional, decode_miscellaneous): Likewise.
261 (decode_media, decode_b_bl_ldmstm): Likewise.
262 (arm_process_displaced_insn): Likewise..
263 (decode_misc_memhint_neon): Delete.
264 (arm_decode_misc_memhint_neon): Renamed from decode_misc_memhint_neon.
265 (decode_miscellaneous): Delete.
266 (arm_decode_miscellaneous): Renamed from decode_miscellaneous.
267 (decode_dp_misc): Delete.
268 (arm_decode_dp_misc): Renamed from decode_dp_misc.
269 (decode_ld_st_word_ubyte): Delete.
270 (arm_decode_ld_st_word_ubyte): Renamed from decode_ld_st_word_ubyte.
271 (decode_media): Delete.
272 (arm_decode_media): Renamed from decode_media.
273 (decode_b_bl_ldmstm): Delete.
274 (arm_decode_b_bl_ldmstm): Renamed from decode_b_bl_ldmstm.
275 (decode_ext_reg_ld_st): Delete.
276 (arm_decode_ext_reg_ld_st): Renamed from decode_ext_reg_ld_st.
277 (decode_unconditional): Delete.
278 (arm_decode_unconditional): Renamed from decode_unconditional.
282 Case insensitive lookups implementation.
283 * dwarf2read.c: Include ctype.h.
284 (struct mapped_index): New field version.
285 (mapped_index_string_hash): New parameter index_version. New comment
286 for it. Call tolower appropriately.
287 (find_slot_in_mapped_hash): New variable cmp, initialize it, use it.
288 Choose the right index version for mapped_index_string_hash.
289 (dwarf2_read_index): Support also the index version 5. Initialize the
290 new struct mapped_index field version.
291 (hash_strtab_entry): Pass INT_MAX for the new parameter, explain why.
292 (find_slot): Explain the version needs. Pass INT_MAX for the new
294 (write_psymtabs_to_index): Produce version 5.
295 * minsyms.c (lookup_minimal_symbol): New variable cmp, initialize it,
296 use it. New comment for SYMBOL_MATCHES_SEARCH_NAME.
297 * psymtab.c (lookup_partial_symbol): Find the
298 SYMBOL_MATCHES_SEARCH_NAME start of the found block of matching
300 * symtab.c (lookup_symbol_in_language): Remove the case_sensitive_off
302 (search_symbols): Pass REG_ICASE to regcomp for case_sensitive_off.
303 (completion_list_add_name): New variable ncmp, initialize it, use it.
304 * symtab.h (SYMBOL_HASH_NEXT): Always call tolower.
305 * utils.c (strcmp_iw): Support case_sensitive_off.
306 (strcmp_iw_ordered): Sort in a way compatible with case_sensitive_off.
307 New function comment part. New variables saved_string1,
308 saved_string2 and case_pass. Add a proper second pass.
312 Replace re_comp/re_exec by regcomp/regexec.
313 * symtab.c (struct search_symbols_data): New fields preg, preg_p.
314 (search_symbols_name_matches): Use them, use regexec.
315 (search_symbols): New variable retval_chain, adjust the use of
316 old_chain against it. Replace re_comp by regcomp. Use the new struct
317 search_symbols_data fields, use regexec instead of re_exec.
321 Format the code for the next patch.
322 * dwarf2read.c (struct mapped_index): Include delimiting newlines.
323 * utils.c (strcmp_iw_ordered): Reformat the code for the next patch.
324 New variables c1 and c2.
328 * infrun.c (proceed): Do not single-step into signal delivery
329 when stepping off a breakpoint location.
330 (insert_step_resume_breakpoint_at_frame): Move prototype earlier.
331 (insert_step_resume_breakpoint_at_caller): Likewise.
332 (insert_step_resume_breakpoint_at_sal): Likewise.
333 (insert_longjmp_resume_breakpoint): Likewise.
337 * common/linux-ptrace.h: Remove include <sys/wait.h>.
341 * procfs.c (procfs_pass_signals): Fix advance declaration.
345 * target.h (struct target_ops): Remove to_notice_signals;
347 (target_notice_signals): Remove.
348 (target_pass_signals): Add prototype.
349 * target.c (update_current_target): Remove to_notice_signals;
350 mention to_pass_signals.
351 (target_pass_signals): New function.
352 (debug_to_notice_signals): Remove.
353 (setup_target_debug): Do not install debug_to_notice_signals.
355 * infrun.c (signal_pass): New global.
356 (resume): Call target_pass_signals.
357 (handle_inferior_event): Report all signals while stepping over
358 non-steppable watchpoint. Reset trap_expected to ensure breakpoints
359 are re-inserted when stepping over a signal handler.
360 (signal_cache_update): New function.
361 (signal_stop_update): Call it.
362 (signal_print_update): Likewise.
363 (signal_pass_update): Likewise.
364 (handle_command): Call signal_cache_update and target_pass_signals
365 instead of target_notice_signals.
366 (_initialize_infrun): Initialize signal_pass.
368 * linux-nat.c (pass_mask): New global.
369 (linux_nat_pass_signals): New function.
370 (linux_nat_create_inferior): Report all signals initially.
371 (linux_nat_attach): Likewise.
372 (linux_nat_resume): Use pass_mask to decide whether to directly
373 handle an inferior signal.
374 (linux_nat_wait_1): Likewise.
375 (linux_nat_add_target): Install to_pass_signals callback.
377 * nto-procfs.c (notice_signals): Remove.
378 (procfs_resume): Do not call notice_signals.
379 (procfs_notice_signals): Remove.
380 (procfs_pass_signals): New function.
381 (init_procfs_ops): Install to_pass_signals callback instead of
382 to_notice_signals callback.
383 (_initialize_procfs): Report all signals initially.
385 * procfs.c (procfs_notice_signals): Remove.
386 (procfs_pass_signals): New function.
387 (procfs_target): Install to_pass_signals callback instead of
388 to_notice_signals callback.
389 (register_gdb_signals): Remove.
390 (procfs_debug_inferior): Report all signals initially.
391 (procfs_init_inferior): Remove redundant register_gdb_signals call.
393 * remote.c (remote_pass_signals): Add numsigs and pass_signals
394 parameters; use them instead of calling signal_..._state routines.
395 (remote_notice_signals): Remove.
396 (remote_start_remote): Report all signals initially.
397 (remote_resume): Do not call remote_pass_signals.
398 (_initialize_remote): Install to_pass_signals callback instead of
399 to_notice_signals callback.
403 * breakpoint.c (user_settable_breakpoint): Delete.
404 (user_breakpoint_p): Remove check on user_settable_breakpoint.
405 (delete_command): Check user_breakpoint_p instead of looking at
406 the breakpoint's type.
407 (disable_command): Ditto.
408 (enable_command): Ditto.
409 (delete_trace_command): Use user_breakpoint_p instead of looking
410 at the breakpoint number directly. When checking if there are
411 user visible tracepoints, in order to know whether to ask the user
412 for confirmation, check whether the breakpoint is actually a
417 * python/py-breakpoint.c (gdbpy_breakpoint_created): Fix
422 MI breakpoint notifications.
424 * annotate.c (breakpoint_changed): Adjust parameter type.
425 * breakpoint.c (set_breakpoint_condition): Adjust to change
426 in breakpoint_modified type.
427 (breakpoint_set_commands): Likewise.
428 (do_map_commands_command): Likewise.
429 (bpstat_check_breakpoint_conditions): Notify that breakpoint has
430 changed after bumping hit count.
431 (bpstat_stop_status): Likewise.
432 (print_one_breakpoint_location): Don't wrap in tuple here.
433 (print_one_breakpoint): Always print individual locations.
434 For locations, use unnamed tuple.
435 (disable_breakpoints_in_unloaded_shlib): Notify that breakpoint
437 (create_catchpoint, create_syscall_event_catchpoint): Call
438 breakpoint_created obsever.
439 (mention): Don't call breakpoint_created observer.
440 (create_breakpoint_sal): Call breakpoint_created observer.
441 (create_breakpoint, watch_command_1): Likewise.
442 (create_ada_exception_breakpoint): Likewise.
443 (delete_breakpoint): Call breakpoint_deleted breakpoint.
444 (locations_are_equal): New.
445 (update_breakpoint_locations): If locations were changed, notify.
446 (set_ignore_count, disable_breakpoint, do_enable_breakpoint):
447 Call breakpoint_modified observer.
449 * mi/mi-cmd-break.c (breakpoint_notify): Adjust.
450 (mi_cmd_break_insert): Don't set observers for modify and delete.
451 * mi/mi-interp.c (mi_suppress_breakpoint_notifications): New.
452 (mi_breakpoint_created, mi_breakpoint_deleted)
453 (mi_breakpoint_modified): New.
454 (mi_interpreter_init): Hook the above.
455 * mi/mi-main.c (mi_cmd_execute): Disable breakpoint notifications
456 while -break-* commands are executing.
457 * mi/mi-main.h (mi_suppress_breakpoint_notifications): New.
458 * mi/mi-out.c (struct ui_out_data): New field original_buffer.
460 (mi_ui_out_impl): Hook in mi_redirect.
461 (mi_field_skip): True to the name, skip the field, don't output
462 a field with an empty value.
464 * python/py-breakpoint.c (gdbpy_breakpoint_created)
465 (gdbpy_breakpoint_deleted): Adjust.
466 * tui/tui-hooks.c (tui_event_create_breakpoint)
467 (tui_event_delete_breakpoint, tui_event_modify_breakpoint): Adjust.
471 * nto-procfs.c (procfs_insert_hw_watchpoint): Fix prototype.
472 (procfs_remove_hw_watchpoint): Likewise.
476 * remote.c (remote_start_remote): Ack packet after sending the
481 * linux-nat.c: Move common macros to ...
482 Include linux-ptrace.h.
483 * common/linux-ptrace.h: ... here. New.
487 * elfread.c (elf_symfile_read): Protect dwarf2_initialize_objfile by
488 !objfile_has_partial_symbols. New comment.
489 * objfiles.c (objfile_has_partial_symbols): Call HAS_SYMBOLS if
490 SYM_READ_PSYMBOLS is not present. Extend the comment.
491 * symfile.h (struct sym_fns): Extend the sym_read_psymbols comment.
495 * defs.h (ENUM_BITFIELD): Remove.
500 * NEWS: Document the new gdbserver --once option.
504 * MAINTAINERS: Update my email address.
508 * gdb_wchar.h (USE_INTERMEDIATE_ENCODING_FUNCTION): New macro.
509 (INTERMEDIATE_ENCODING): Change value to intermediate_encoding
510 function call if __STDC_ISO_10646__ macro is defined.
511 (intermediate_encoding): New prototype.
512 * charset.c (your_gdb_wchar_t_is_bogus): New extern test variable
513 to generate compile time error for unsupported gdb_wchar_t size.
514 (ENDIAN_SUFFIX): New macro.
515 (intermediate_encoding): New function.
519 * ada-lang.c (struct add_partial_datum): Update the comment for
520 expand_partial_symbol_name.
521 (ada_add_partial_symbol_completions): Rename to ...
522 (ada_expand_partial_symbol_name): ... here, change return type, update
523 function comment, call symbol_completion_match instead of
524 symbol_completion_add.
525 (ada_make_symbol_completion_list): Use now expand_partial_symbol_names
526 and ada_expand_partial_symbol_name.
527 * dwarf2read.c (dw2_expand_symtabs_matching): Support NULL
529 (dw2_map_symbol_names): Remove.
530 (dwarf2_gdb_index_functions): Unlist dw2_map_symbol_names.
531 * psymtab.c (map_symbol_names_psymtab): Remove.
532 (expand_symtabs_matching_via_partial): Support NULL FILE_MATCHER.
533 Support KIND == ALL_DOMAIN. Exchange the NAME_MATCHER and KIND check
535 (psym_functions): Unlist map_symbol_names_psymtab.
536 (map_partial_symbol_names): Rename to ...
537 (expand_partial_symbol_names): ... here, change the FUN type, call
538 expand_symtabs_matching with ALL_DOMAIN and NULL FILE_MATCHER now.
539 * psymtab.h (map_partial_symbol_names): Rename to ...
540 (expand_partial_symbol_names): ... here, change the FUN type.
541 * symfile.h (struct quick_symbol_functions): Update the description of
542 expand_symtabs_matching. Remove map_symbol_names.
543 * symtab.c (search_symbols): Add ALL_DOMAIN to the function comment.
544 (struct add_name_data): Update the comment for
545 expand_partial_symbol_name.
546 (add_partial_symbol_name): Rename to ...
547 (expand_partial_symbol_name): ... here. Replace
548 completion_list_add_name call by strncmp.
549 (default_make_symbol_completion_list_break_on): Use now
550 expand_partial_symbol_names and expand_partial_symbol_name.
551 * symtab.h (enum search_domain): New element ALL_DOMAIN.
555 * dwarf2read.c (save_gdb_index_command): Replace format
556 documentation with a pointer to the manual.
560 * regcache.c: Include remote.h.
561 (enum regcache_dump_what) <regcache_dump_remote>: New enum value.
562 (regcache_dump): Handle regcache_dump_remote.
563 (maintenance_print_remote_registers): New function.
564 (_initialize_regcache): Install "maint print remote-registers"
566 * remote.c (map_regcache_remote_table): New function, factored out
568 (init_remote_state): ... here.
569 (remote_register_number_and_offset): New.
570 * remote.h (remote_register_number_and_offset): Declare.
574 * regcache.c (get_thread_arch_regcache): If creating a regcache for
575 null_ptid, assume and allow a NULL address space, instead of
576 asking the target for the ptid's address space.
577 * infrun.c (ptid_is_pid): Remove assertion.
581 * windows-tdep.c (windows_xfer_shared_library):
582 * windows-nat.c (get_module_name, windows_make_so):
583 * v850-tdep.c (v850_handle_pushm):
584 * utils.c (null_cleanup, gdb_realpath):
585 * ui-out.c (get_next_header):
586 * tracepoint.c (clear_traceframe_info):
587 * symtab.c (lookup_symtab):
588 * serial.h (struct serial_ops):
589 * mipsread.c (read_alphacoff_dynamic_symtab):
590 * infcmd.c (print_return_value):
591 * ia64-linux-tdep.c (ia64_linux_sigcontext_register_address):
592 * f-exp.y (parse_number):
593 * exceptions.c (catch_exceptions):
594 * dummy-frame.c (dummy_frame_this_id):
595 * defs.h (struct cleanup):
596 * breakpoint.c (disable_breakpoints_in_unloaded_shlib):
597 * arm-tdep.c (arm_push_dummy_call):
598 * amd64-tdep.h (amd64_collect_xsave):
599 * amd64-tdep.c (amd64_collect_xsave):
600 * alpha-tdep.c (alpha_heuristic_frame_unwind_cache):
601 * README (typing): Remove duplicate words.
602 * cli/cli-decode.c (lookup_cmd_composition): Add comma.
603 * infrun.c (siginfo_value_read): Fix typo.
604 * solib-frv.c (frv_fdpic_find_global_pointer): Likewise.
605 * top.c (source_line_number): Add comma.
609 * thread.c (any_live_thread_of_process): Prioritize threads
610 that are not executing.
611 * gdbthread.h (any_live_thread_of_process): Update comment
616 * xcoffread.c (process_xcoff_symbol): Remove useless cast.
617 (scan_xcoff_symtab): Likewise.
621 * xcoffread.c (process_xcoff_symbol): ARI fix: Avoid assignment
627 * xstormy16-tdep.c (xstormy16_push_dummy_call): Add local
628 variables to simplify code and avoid == operator at end of
629 line as this is against GNU coding standards.
633 * solib-svr4.c (svr4_keep_data_in_core): Rename local variable
634 lm_name to name_lm to avoid conflict with lm_name function.
638 ARI fixes: Use only lowercase function name for static functions.
639 * nto-tdep.c (LM_ADDR): Rename to...
640 (lm_addr): New function name.
641 (nto_relocate_section_addresses): Adapt to change above.
642 * solib-sunos.c (LM_ADDR): Rename to...
643 (lm_addr): New function name.
644 (LM_NEXT): Rename to...
645 (lm_next): New function name.
646 (sunos_current_sos, sunos_relocate_section_addresses): Adapt to
647 function name changes above.
648 * solib-svr4.c (LM_ADDR_FROM_LINK_MAP): Rename to...
649 (lm_addr_from_link_map): New function name.
650 (HAS_LM_DYNAMIC_FROM_LINK_MAP): Rename to...
651 (has_lm_dynamic_from_link_map): New function name.
652 (LM_DYNAMIC_FROM_LINK_MAP): Rename to...
653 (lm_dynamic_from_link_map): New function name.
654 (LM_ADDR_CHECK): Rename to...
655 (lm_addr_check): New function name.
656 (LM_NEXT): Rename to...
657 (lm_next): New function name.
658 (LM_PREV): Rename to...
659 (lm_prev): New function name.
660 (LM_NAME): Rename to...
661 (lm_name): New function name.
662 (IGNORE_FIRST_LINK_MAP_ENTRY): Rename to...
663 (ignore_first_link_map_entry): New function name.
664 (svr4_keep_data_in_core): Adapt to function name changes above.
665 (svr4_current_sos): Likewise.
666 (enable_break): Likewise.
667 (svr4_relocate_section_addresses): Likewise.
672 * xtensa-tdep.c (xtensa_register_type): Use xstrprintf instead of
673 sprintf. Simplify code and avoid loosing memory.
674 (xtensa_register_reggroup_p): Extract assignment out of IF clause.
675 (call0_frame_cache): Remove && operator from end of line.
679 Fix libraries displacement if they change whether they were prelinked.
680 * solib-svr4.c (LM_ADDR_CHECK): Set L_ADDR even if the DYNAMIC pointer
681 does not match. Comment why.
685 * corelow.c: Include wrapper.h.
686 (core_open): Call now gdb_target_find_new_threads.
687 * wrapper.c: Include target.h.
688 (gdb_target_find_new_threads): New.
689 * wrapper.h (gdb_target_find_new_threads): New declaration.
693 * linux-thread-db.c (find_new_threads_callback): Exit on zero TI_TID
694 even if !TARGET_HAS_EXECUTION.
698 Fix convert_code_addr_to_desc_addr for ppc64 files after eu-strip.
699 * elfread.c (elf_symfile_read): New variable synth_abfd, pass it to
700 bfd_get_synthetic_symtab.
701 * jit.c (jit_register_code): Pass NULL to the new parameter parent.
702 * machoread.c (macho_add_oso_symfile): Pass main_objfile to the new
703 parameter parent, remove the call to add_separate_debug_objfile.
704 * solib.c (solib_read_symbols): Pass NULL to the new parameter parent.
705 * symfile-mem.c (symbol_file_add_from_memory): Likewise.
706 * symfile.c (symbol_file_add_with_addrs_or_offsets): New parameter
707 parent, new comment for it, call add_separate_debug_objfile for it.
708 (symbol_file_add_separate): Pass objfile as the parameter parent,
709 remove the call to add_separate_debug_objfile.
710 (symbol_file_add_from_bfd): New parameter parent, pass it.
711 (symbol_file_add): Pass NULL to the new parameter parent.
712 * symfile.h (symbol_file_add_from_bfd): New parameter parent.
716 * elfread.c (elf_symtab_read): Do not ignore .L symbols if they are
721 Fix Python access to inlined frames.
722 * python/py-frame.c (frapy_read_var): Find BLOCK using get_frame_block.
723 * python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
727 * dwarf2read.c (add_index_entry): Use VEC_last, not VEC_length.
731 * MAINTAINERS: Add myself to write-after-approval section.
735 * remote-sim.c (sim_command_completer): New function.
736 (_initialize_remote_sim): Set completer to sim_command_completer.
740 * breakpoint.c (print_exception_catchpoint): Rename to ...
741 (print_it_exception_catchpoint): ... this.
742 (gnu_v3_exception_catchpoint_ops): Update with new name
743 for print_it_exception_catchpoint.
747 * MAINTAINERS: Add myself for write after approval privileges.
751 * MAINTAINERS: Add myself as a write-after-approval maintainer.
755 * breakpoint.c (watch_command_1): Remove colon from exp_string.
759 * breakpoint.c (save_breakpoints): Verify whether
760 breakpoint_ops.print_recreate is defined before calling it.
764 Fix failure with --enable-maintainer-mode.
765 * Makefile.in (aclocal_m4_deps): Updated gnulib dependencies.
770 * symtab.c (search_symbols): Reorder the KIND description in the
771 function comment. Remove the unused 4th element of types, types2,
772 types3 and types4. New gdb_assert on KIND.
773 (symtab_symbol_info): Remove the unused 4th element of classnames.
774 New gdb_assert on KIND.
775 * symtab.h (enum search_domain): New warning in the enum comment.
776 Assign numbers to the elements VARIABLES_DOMAIN, FUNCTIONS_DOMAIN and
781 Fix crash of gdb save-index on a STABS file.
782 * dwarf2read.c (write_psymtabs_to_index): Return also on no
787 Fix DW_AT_accessibility compatibility with gcc-4.6+.
788 * dwarf2read.c: Include ctype.h.
789 (producer_is_gxx_lt_4_6, dwarf2_default_access_attribute): New
791 (dwarf2_add_field): Fix new_field->accessibility by calling
792 dwarf2_default_access_attribute. Restructure setting accessibility
794 (dwarf2_add_member_fn): New variable accessibility. Fix fnp
795 is_private and is_protected by calling
796 dwarf2_default_access_attribute.
800 * rx-tdep.c (rx_frame_unwind): Add default_frame_unwind_stop_reason
801 to the initialization.
805 * Add default_frame_unwind_stop_reason value to libunwind_frame_unwind
810 Remove support for old Cygwin 1.5 versions.
811 * remote-fileio.c: Remove macros used to emulate new cygwin_conv_path
812 function on old Cygwin version.
813 * windows-nat.c: Remove cygwin version check and always define
814 __USEWIDE for Cygwin compilation.
818 * arm-linux-tdep.c (arm_linux_copy_svc): Remove parameters INSN
820 * arm-tdep.c (cleanup_svc): Handle variable instruction size.
821 (arm_copy_svc): Remove parameters INSN and TO.
822 (decode_svc_copro): Update caller.
823 * arm-tdep.h (struct displaced_step_closure): Remove parameters
824 from function pointer `copy_svc_os'.
828 * arm-tdep.c (cleanup_branch): Set a correct return address in
829 LR for ARM and Thumb.
834 * dictionary.c (dict_hash): Use SYMBOL_HASH_NEXT.
835 * dwarf2read.c (mapped_index_string_hash): Refer to SYMBOL_HASH_NEXT
836 in the function comment, a new note on values compatibility.
837 * minsyms.c (msymbol_hash_iw, msymbol_hash): Use SYMBOL_HASH_NEXT.
838 * symtab.h (SYMBOL_HASH_NEXT): New.
842 * ppc-linux-nat.c (check_condition): Add len output parameter.
843 Set it based on the memory region referenced in the condition
844 expression. Update all callers.
848 Fix crash regression on systems featuring .gdb_index.
849 * objfiles.c (free_objfile): Move the
850 forget_cached_source_info_for_objfile call earlier. Comment it.
851 Extend the comment for objfile_free_data.
855 Fix regression of displaying the debug format.
856 * buildsym.c (end_symtab): Set symtab's debugformat and producer from
861 * cli/cli-interp.c (struct captured_execute_command_args):
863 (do_captured_execute_command): Remove.
864 (safe_execute_command): Use TRY_CATCH.
865 * cli/cli-script.c (struct wrapped_read_command_file_args):
867 (wrapped_read_command_file): Remove.
868 (script_from_file): Use TRY_CATCH.
869 * exceptions.c (catch_exception): Remove.
870 * exceptions.h (catch_exception): Remove.
871 (deprecated_throw_reason): Update comment.
872 * mi/mi-main.c (captured_mi_execute_command): Change 'data'
873 argument to 'context'.
874 (mi_execute_command): Use TRY_CATCH.
875 * remote.c (struct start_remote_args): Remove.
876 (remote_start_remote): Update; change arguments.
877 (remote_open_1): Use TRY_CATCH.
881 * tracepoint.c (scope_info): Update.
882 * symtab.c (decode_line_spec): Update.
883 * python/python.c (gdbpy_decode_line): Update.
884 * linespec.h (decode_line_1): Update.
885 * linespec.c (decode_line_1): Remove 'not_found_ptr' argument.
886 (decode_compound, find_method, symtab_from_filename)
887 (decode_variable): Likewise.
888 * cli/cli-cmds.c (edit_command): Update.
889 (list_command): Update.
890 * breakpoint.c (parse_breakpoint_sals): Remove 'not_found_ptr'
892 (create_breakpoint): Update.
893 (until_break_command): Update.
894 (addr_string_to_sals): Update.
895 (decode_line_spec_1): Update.
899 * breakpoint.c (struct captured_parse_breakpoint_args): Remove.
900 (do_captured_parse_breakpoint): Remove.
901 (create_breakpoint): `e' is now volatile. Remove `parse_args'.
902 Use TRY_CATCH directly.
906 * symtab.h (free_symtab): Remove.
907 (forget_cached_source_info_for_objfile): Declare.
908 * symmisc.c (free_symtab): Remove.
909 * source.c (forget_cached_source_info_for_objfile): New function.
910 (forget_cached_source_info): Use it.
911 * objfiles.c (free_objfile): Simplify check before calling
912 clear_current_source_symtab_and_line. Call
913 forget_cached_source_info_for_objfile.
917 * mdebugread.c (psymtab_to_symtab_1): Copy linetable to obstack.
918 (new_symtab): Don't set `free_code' on symtab.
919 (new_linetable): Properly handle size==0.
920 * symtab.h (struct symtab) <free_code, free_func>: Remove.
921 * symmisc.c (free_symtab): Don't free the linetable. Don't call
923 * jv-lang.c (struct jv_per_objfile_data): New.
924 (jv_per_objfile_free): Free the data.
925 (get_dynamics_objfile): Allocate a jv_per_objfile_data.
926 (get_java_class_symtab): Set the `dict' field on the
928 (free_class_block): Remove.
929 * buildsym.c (end_symtab): Don't set `free_code' or `free_func' on
934 * symfile.c (reread_symbols): Update.
935 * objfiles.h (struct objfile) <cp_namespace_symtab>: Remove
937 * objfiles.c (allocate_objfile): Update.
938 * cp-support.h (cp_check_possible_namespace_symbols): Don't
940 * cp-namespace.c (lookup_symbol_file): Don't call
941 lookup_possible_namespace_symbol.
942 (initialize_namespace_symtab, get_possible_namespace_block)
943 (free_namespace_block, cp_check_possible_namespace_symbols)
944 (check_possible_namespace_symbols_loop)
945 (check_one_possible_namespace_symbol)
946 (lookup_possible_namespace_symbol): Remove.
947 (maintenance_cplus_namespace): Replace with notice.
948 (_initialize_cp_namespace): Deprecate `maint cplus namespace'.
952 * xcoffread.c (read_xcoff_symtab): Make `debugfmt' const.
953 * symtab.h (struct symtab) <producer, debugformat>: Now const.
954 * symmisc.c (free_symtab): Don't free debugformat.
955 * buildsym.h (struct subfile) <producer, debugformat>: Now const.
956 (record_debugformat, record_producer): Document.
957 * buildsym.c (end_symtab): Don't save debugformat and producer
959 (end_symtab): Don't free debugformat and producer fields.
960 (record_debugformat): Don't call xstrdup.
961 (record_producer): Likewise.
965 * source.c (find_source_lines): Remove LSEEK_NOT_LINEAR code.
966 (source_line_charpos, source_charpos_line): Remove.
970 * symtab.h (domain_enum): Split in two...
971 (enum search_domain): New.
972 (search_symbols): Update.
973 * symtab.c (print_symbol_info, symtab_symbol_info): Remove
974 redundant declarations.
975 (search_symbols): Change 'kind' argument to search_domain.
977 (print_symbol_info): Likewise.
978 (symtab_symbol_info): Likewise.
979 * symfile.h (struct quick_symbol_functions)
980 <pre_expand_symtabs_matching>: Change type of 'kind' argument.
981 <expand_symtabs_matching>: Likewise.
982 * psymtab.c (pre_expand_symtabs_matching_psymtabs): Update.
983 (expand_symtabs_matching_via_partial): Update.
984 * dwarf2read.c (dw2_pre_expand_symtabs_matching): Update.
985 (dw2_expand_symtabs_for_function): Update.
986 * block.h: Moved anonymous enum...
987 * defs.h (enum block_enum): ... here. Now named.
991 GDB 7.3 branch created (branch timestamp: 2011-04-01 01:00 UTC)
992 * version.in: Bump version to 7.3.50.20110403-cvs.
996 * NEWS: Create a new section for the next release branch.
997 Rename the section of the current branch, now that it has
1002 * arm-tdep.c (arm_gdbarch_init): Enfore correct register number
1003 for "fpscr" in target description.
1007 * dwarf2read.c (find_slot_in_mapped_hash): New variable back_to,
1008 initialize it. Delay HASH initialization. Strip the part after open
1009 parenthesis for languages with qualifiers. Call do_cleanups.
1013 * utils.c (report_command_stats): Don't print `-' for negative
1018 * ada-lang.c (ada_is_simple_array_type, ada_value_slice_from_ptr)
1019 (ada_value_slice, empty_array, to_fixed_array_type): Deal with
1024 * breakpoint.h (bpdisp_text): Add declaration.
1025 * breakpoint.c (bpdisp_text): Make non-static.
1026 * ada-lang.c: #include "mi/mi-common.h".
1027 (print_it_exception): Rewrite to improve GDB/MI output.
1031 * arm-tdep.h (struct address_space): Add forward declaration.
1035 * arm-tdep.h (arm_insert_single_step_breakpoint): Add prototype.
1036 * arm-tdep.c (arm_override_mode): New global.
1037 (arm_pc_is_thumb): Respect arm_override_mode. Remove single-step
1038 execution mode heuristics.
1039 (thumb_get_next_pc_raw): Remove INSERT_BKTP argument; always insert
1040 second single-step breakpoint if needed, using
1041 arm_insert_single_step_breakpoint.
1042 (arm_get_next_pc_raw): Remove INSERT_BKTP argument. Only handle
1043 ARM execution mode, do not call thumb_get_next_pc_raw.
1044 (arm_get_next_pc): Encode execution mode in return value. Call
1045 either arm_get_next_pc_raw or thumb_get_next_pc_raw.
1046 (arm_insert_single_step_breakpoint): New function.
1047 (arm_software_single_step): Call it.
1048 * arm-linux-tdep.c (arm_linux_sigreturn_return_addr): Add IS_THUMB
1049 argument to return execution mode of sigreturn target.
1050 (arm_linux_syscall_next_pc): Use it.
1051 (arm_linux_copy_svc): Update call.
1052 (arm_linux_software_single_step): Call
1053 arm_insert_single_step_breakpoint.
1057 * dwarf2read.c (dwarf2_read_index): Fix .gdb_index version number in
1062 * varobj.c (update_dynamic_varobj_children): Properly handle
1063 errors from iterator.
1067 * dwarf2read.c (dwarf2_name): Initialize DEMANGLED. Avoid demangling
1068 struct linkage name twice.
1072 * python/py-prettyprint.c (print_stack_unless_memory_error): Add
1073 missing ">" to message.
1077 * varobj.c (instantiate_pretty_printer): Remove duplicate
1082 * i386-tdep.c (i386_frame_prev_register): Unwind SP from memory
1083 if neither saved value nor register available (e.g. signal frame).
1087 * macroexp.c (expand): Avoid uninitialized variable
1092 * breakpoint.c (break_range_command): Fix typo in comment.
1097 Implement support for PowerPC BookE ranged breakpoints.
1098 * NEWS: Mention support for ranged breakpoints on embedded PowerPC.
1099 * breakpoint.h (struct bp_target_info) <length>: New member
1101 (struct breakpoint_ops) <breakpoint_hit>: Take struct bp_location
1102 instead of struct breakpoint as argument, and also add ASPACE
1103 and BP_ADDR arguments. Update all callers.
1104 (struct breakpoint_ops) <print_one_detail>: New method.
1105 (struct breakpoint) <addr_string_range_end>: New member variable.
1106 * breakpoint.c (breakpoint_location_address_match): Add function
1108 (insert_bp_location): Set bl->target_info.length.
1109 (breakpoint_here_p): Call breakpoint_location_address_match.
1110 (moribund_breakpoint_here_p): Likewise.
1111 (regular_breakpoint_inserted_here_p): Likewise.
1112 (breakpoint_thread_match): Likewise.
1113 (bpstat_stop_status): Likewise.
1114 (bpstat_check_location): Move call to
1115 breakpoint_ops.breakpoint_hit to the top.
1116 (print_one_breakpoint_location): Call
1117 breakpoint_ops.print_one_detail if available.
1118 (breakpoint_address_match_range): New function.
1119 (breakpoint_location_address_match): Likewise.
1120 (breakpoint_locations_match): Compare the length field of the
1122 (hw_breakpoint_used_count): Count resources used by all locations
1123 in a breakpoint, and use breakpoint_ops.resources_needed if
1125 (breakpoint_hit_ranged_breakpoint): New function.
1126 (resources_needed_ranged_breakpoint): Likewise.
1127 (print_it_ranged_breakpoint): Likewise.
1128 (print_one_ranged_breakpoint): Likewise.
1129 (print_one_detail_ranged_breakpoint): Likewise.
1130 (print_mention_ranged_breakpoint): Likewise.
1131 (print_recreate_ranged_breakpoint): Likewise.
1132 (ranged_breakpoint_ops): New structure.
1133 (find_breakpoint_range_end): New function.
1134 (break_range_command): Likewise.
1135 (delete_breakpoint): Free addr_string_range_end.
1136 (update_breakpoint_locations): Add SALS_END argument. Update
1137 all callers. Calculate breakpoint length if a non-zero SALS_END
1138 is given. Call breakpoint_locations_match instead of
1139 breakpoint_address_match.
1140 (reset_breakpoint): Find SaL of the end of the range if B is a
1142 (_initialize_breakpoint): Register break-range command.
1143 * defs.h (print_core_address): Add function prototype.
1144 * ppc-linux-nat.c (ppc_linux_ranged_break_num_registers): New
1146 (ppc_linux_insert_hw_breakpoint): Support ranged breakpoints.
1147 (ppc_linux_remove_hw_breakpoint): Likewise.
1148 (_initialize_ppc_linux_nat): Initialize
1149 to_ranged_break_num_registers.
1150 * target.c (update_current_target): Add comment about
1151 to_ranged_break_num_registers.
1152 (target_ranged_break_num_registers): New function.
1153 * target.h (struct target_ops) <to_ranged_break_num_registers>:
1155 (target_ranged_break_num_registers): Add function prototype.
1156 * ui-out.c (ui_out_field_core_addr): Move address-printing logic to ...
1157 * utils.c (print_core_address): ... here.
1161 * breakpoint.c (addr_string_to_sals): Avoid uninitialized
1162 variable compiler warning.
1166 * breakpoint.c (breakpoint_re_set_one): Factor out breakpoint-resetting
1168 (re_set_breakpoint): ... to here ...
1169 (addr_string_to_sals): ... and here.
1173 * Makefile.in (SFILES): Add missing C sources.
1174 (HFILES_NO_SRCDIR): Remove gdbserver subdirectory headers.
1175 Add missing headers.
1179 * .gitignore: New file.
1183 * NEWS: Mention new cfi device simulation.
1187 * dwarf2read.c (fixup_partial_die): Handle linkage name on
1188 otherwise anonymous types.
1189 (dwarf2_name): Likewise.
1190 * valops.c (value_struct_elt_for_reference): Refine artificial
1191 type logic. Call error if j==-1.
1195 Fix false GCC warning.
1196 * infcall.c (find_function_addr): Initialize funaddr.
1200 Fix mingw compilation with --enable-targets=all.
1201 * remote-mips.c (gdb_usleep.h): Include header.
1202 (mips_enter_debug): Use gdb_usleep instead of sleep.
1206 Support resolution of STT_GNU_IFUNC via breakpoints.
1207 * breakpoint.c (print_it_typical): Support bp_gnu_ifunc_resolver and
1208 bp_gnu_ifunc_resolver_return.
1209 (bpstat_what): Rename parameter to bs_head, new variable bs, adjust
1210 the loop. Support bp_gnu_ifunc_resolver and
1211 bp_gnu_ifunc_resolver_return. New comment after the loop. New loop
1212 for bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return
1214 (bptype_string, print_one_breakpoint_location): Support
1215 bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return.
1216 (user_settable_breakpoint): Return true also for
1217 bp_gnu_ifunc_resolver.
1218 (allocate_bp_location): Support bp_gnu_ifunc_resolver and
1219 bp_gnu_ifunc_resolver_return.
1220 (set_breakpoint_location_function): New parameter explicit_loc,
1221 describe it. Call find_pc_partial_function_gnu_ifunc with new
1222 variable IS_GNU_IFUNC and adjust the address for STT_GNU_IFUNC if
1223 EXPLICIT_LOC is not set.
1224 (set_raw_breakpoint): Set EXPLICIT_LOC for
1225 set_breakpoint_location_function.
1226 (clone_momentary_breakpoint): Use true for EXPLICIT_LOC of
1227 set_breakpoint_location_function.
1228 (mention): Support bp_gnu_ifunc_resolver and
1229 bp_gnu_ifunc_resolver_return.
1230 (add_location_to_breakpoint): Set EXPLICIT_LOC for
1231 set_breakpoint_location_function.
1232 (update_breakpoint_locations): Remove static.
1233 (breakpoint_re_set_one): Support bp_gnu_ifunc_resolver and
1234 bp_gnu_ifunc_resolver_return.
1235 * breakpoint.h (enum bptype): New fields bp_gnu_ifunc_resolver and
1236 bp_gnu_ifunc_resolver_return.
1237 (update_breakpoint_locations): New declaration.
1238 * elfread.c: Include gdbthread.h and regcache.h.
1239 (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop): New
1241 (elf_gnu_ifunc_fns): Install them.
1242 * minsyms.c (stub_gnu_ifunc_resolver_stop)
1243 (stub_gnu_ifunc_resolver_return_stop): New functions.
1244 (stub_gnu_ifunc_fns): Install them.
1245 * symtab.h (struct gnu_ifunc_fns): New fields gnu_ifunc_resolver_stop
1246 and gnu_ifunc_resolver_return_stop.
1247 (gnu_ifunc_resolver_stop, gnu_ifunc_resolver_return_stop): New.
1251 STT_GNU_IFUNC reader implementation.
1252 * elfread.c: Include gdbtypes.h, value.h and infcall.h.
1253 (SYMBOL_GOT_PLT_SUFFIX, elf_rel_plt_read)
1254 (elf_objfile_gnu_ifunc_cache_data, struct elf_gnu_ifunc_cache)
1255 (elf_gnu_ifunc_cache_hash, elf_gnu_ifunc_cache_eq)
1256 (elf_gnu_ifunc_record_cache, elf_gnu_ifunc_resolve_by_cache)
1257 (elf_gnu_ifunc_resolve_by_got, elf_gnu_ifunc_resolve_name)
1258 (elf_gnu_ifunc_resolve_addr): New.
1259 (elf_symfile_read): Call elf_rel_plt_read.
1260 (elf_gnu_ifunc_fns): New.
1261 (_initialize_elfread): Initialize elf_objfile_gnu_ifunc_cache_data.
1262 Install elf_gnu_ifunc_fns.
1263 * infcall.c (find_function_return_type): New function.
1264 (find_function_addr): Resolve TYPE_GNU_IFUNC functions, if possible.
1265 * minsyms.c (stub_gnu_ifunc_resolve_addr)
1266 (stub_gnu_ifunc_resolve_name): New functions.
1267 (stub_gnu_ifunc_fns, gnu_ifunc_fns_p): New variables.
1268 * symtab.h (struct gnu_ifunc_fns, gnu_ifunc_resolve_addr)
1269 (gnu_ifunc_resolve_name, gnu_ifunc_fns_p): New.
1273 Code cleanup for later STT_GNU_IFUNC support.
1274 * infcall.c (find_function_addr): Remove variable code, use explicit
1275 dereferences for it. Move VALUE_TYPE initialization later.
1279 GDB find_pc_partial_function support for STT_GNU_IFUNC.
1280 * blockframe.c (cache_pc_function_is_gnu_ifunc): New variable.
1281 (clear_pc_function_cache): Clear it.
1282 (find_pc_partial_function): Rename to ...
1283 (find_pc_partial_function_gnu_ifunc): ... this function. New
1284 parameter is_gnu_ifunc_p, describe it. Set *IS_GNU_IFUNC_P.
1285 (find_pc_partial_function): New wrapper for this function.
1286 * symtab.h (find_pc_partial_function_gnu_ifunc): New declaration.
1290 GDB internal type support for STT_GNU_IFUNC.
1291 * elfread.c (record_minimal_symbol): Support mst_text_gnu_ifunc.
1292 (elf_symtab_read): Set mst_text_gnu_ifunc for
1293 BSF_GNU_INDIRECT_FUNCTION.
1294 * eval.c (evaluate_subexp_standard): Support TYPE_GNU_IFUNC.
1295 * gdbtypes.c (init_type): Support TYPE_FLAG_GNU_IFUNC,
1296 builtin_func_func, nodebug_text_gnu_ifunc_symbol and
1297 nodebug_got_plt_symbol.
1298 * gdbtypes.h (enum type_flag_value): New entry TYPE_FLAG_GNU_IFUNC.
1299 (TYPE_GNU_IFUNC): New.
1300 (struct main_type): New field flag_gnu_ifunc.
1301 (struct builtin_type): New field builtin_func_func.
1302 (struct objfile_type): New fields nodebug_text_gnu_ifunc_symbol and
1303 nodebug_got_plt_symbol.
1304 * minsyms.c (lookup_minimal_symbol_text): Support mst_text_gnu_ifunc.
1305 (in_gnu_ifunc_stub): New.
1306 (prim_record_minimal_symbol, find_solib_trampoline_target): Support
1308 * parse.c (write_exp_msymbol): New variable ifunc_msym. Detect and
1309 support mst_text_gnu_ifunc. Support mst_slot_got_plt.
1310 * solib-svr4.c (svr4_in_dynsym_resolve_code): Return true also for
1312 * symmisc.c (dump_msymbols): Support mst_text_gnu_ifunc.
1313 * symtab.c (search_symbols): Likewise.
1314 * symtab.h (enum minimal_symbol_type): New fields mst_text_gnu_ifunc
1315 and mst_slot_got_plt.
1316 (in_gnu_ifunc_stub): New declaration.
1320 Support a ring of related breakpoints.
1321 * breakpoint.c (watchpoint_del_at_next_stop): New, move here code from
1322 other functions, add gdb_assert.
1323 (update_watchpoint, watchpoint_check): Add gdb_assert. Use
1324 watchpoint_del_at_next_stop.
1325 (bpstat_check_watchpoint): Use watchpoint_del_at_next_stop.
1326 (bpstat_stop_status): Handle ring in related_breakpoint.
1327 (set_raw_breakpoint_without_location): Initialize ring in
1329 (delete_breakpoint): Handle ring in related_breakpoint, use
1330 watchpoint_del_at_next_stop.
1331 (map_breakpoint_numbers): Handle ring in related_breakpoint.
1336 * dwarf2read.c (prepare_one_comp_unit): Don't call set_cu_language
1337 with `language_minimal'.
1341 * arm-tdep.c (arm_elf_make_msymbol_special): Use ARM_SYM_BRANCH_TYPE
1342 instead of checking for STT_ARM_TFUNC symbol type.
1346 * linespec.c (symbol_found): Restore line-based result for
1347 non-LOC_LABEL symbols.
1351 * tui/tui-source.c (tui_set_source_content): Use filename_cmp
1352 instead of strcmp for comparison.
1353 (tui_source_is_displayed): Likewise.
1354 * tui/tui-winsource.c (tui_update_breakpoint_info): Likewise.
1358 * dwarf2read.c (lookup_signatured_type): Use DW_FORM_ref_sig8 in
1360 (skip_one_die): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
1361 (find_partial_die_in_comp_unit): Likewise in comment.
1362 (read_attribute_value): Likewise.
1363 (lookup_die_type): Likewise.
1364 (dwarf_form_name): Likewise.
1365 (dump_die_shallow): Likewise.
1366 (follow_die_ref_or_sig): Likewise.
1370 PR breakpoints/11816:
1371 * linespec.c (decode_line_1): Parse `function:label' linespecs.
1372 (decode_compound): Update.
1373 (find_function_symbol): New function.
1374 (decode_dollar): Update.
1375 (decode_label): Add 'function_symbol' parameter. Handle
1376 function-relative labels.
1377 (decode_variable): Update.
1378 (symbol_found): Add 'function_symbol' parameter. Use label's PC,
1379 not its line. Set `special_display' and canonical name for
1384 * linespec.h (struct linespec_result) <special_display>: New
1386 * breakpoint.h (struct breakpoint) <display_canonical>: New
1388 * breakpoint.c (print_breakpoint_location): Respect
1390 (create_breakpoint_sal): Add 'display_canonical' parameter.
1391 (create_breakpoints_sal): Update.
1392 (create_breakpoint): Update.
1396 * symtab.c (decode_line_spec): Update.
1397 * linespec.c (build_canonical_line_spec): Change type of
1399 (decode_line_2, decode_line_1, decode_objc, decode_compound)
1400 (find_method, decode_all_digits, decode_dollar, decode_label)
1401 (symbol_found): Likewise.
1402 (init_linespec_result): New function.
1403 * breakpoint.c (struct captured_parse_breakpoint_args)
1404 <canonical_p>: New field, replaces addr_string_p.
1405 (create_breakpoints_sal): Add 'canonical' parameter, replacing
1407 (parse_breakpoint_sals): Likewise.
1408 (do_captured_parse_breakpoint): Update.
1409 (create_breakpoint): Use struct linespec_result.
1410 (until_break_command): Update.
1411 (breakpoint_re_set_one): Update.
1412 (decode_line_spec_1): Update.
1413 * linespec.h (struct linespec_result): New.
1414 (init_linespec_result): Declare.
1418 * regcache.c (regcache_raw_read): If the target didn't supply a
1419 given raw register, mark it as unavailable.
1423 * breakpoint.c (clear_command): Use filename_cmp
1424 instead of strcmp for comparison.
1425 * buildsym.c (watch_main_source_file_lossage): Likewise.
1426 (patch_subfile_names): Use IS_DIR_SEPARATOR instead of
1427 checking just for slash.
1428 * dbxread.c (read_dbx_symtab): Use lbasename instead of
1429 strrchr and filename_cmp instead of strcmp for filenames.
1430 (add_old_header_file): Use filename_cmp
1431 instead of strcmp for comparison.
1432 * exec.c (exec_set_section_address): Likewise.
1433 * macrotab.c (macro_lookup_inclusion): Likewise.
1434 (macro_lookup_inclusion): Likewise.
1435 * elfread.c (_initialize_elfread): Likewise.
1436 (elfstab_offset_sections): Likewise.
1437 (elfstab_offset_sections): Use lbasename instead of
1439 * mdebugread.c (parse_partial_symbols): Likewise.
1440 (arse_partial_symbols): Use filename_(n)cmp instead of
1441 str(n)cmp for comparison.
1442 * minsyms.c (lookup_minimal_symbol): Likewise.
1443 * psymtab.c (read_psymtabs_with_filename): Likewise.
1444 * solib.c (solib_read_symbols): Likewise.
1445 (reload_shared_libraries_1): Likewise.
1446 * symmisc.c (maintenance_print_symbols): Likewise.
1447 * symfile.c (separate_debug_file_exists): Likewise.
1448 (reread_symbols): Likewise.
1449 (find_separate_debug_file_by_debuglink): Likewise.
1450 * remote-fileio.c (remote_fileio_func_rename): Likewise.
1451 * source.c (add_path): Likewise.
1452 * symtab.c (filename_seen): Likewise.
1453 (file_matches): Likewise.
1454 (print_symbol_info): Likewise.
1455 (maybe_add_partial_symtab_filename): Likewise.
1456 (make_source_files_completion_list): Likewise.
1457 * xml-syscall.c (init_sysinfo): Likewise.
1458 * windows-nat.c (_initialize_check_for_gdb_ini): Use
1459 IS_DIR_SEPARATOR for checking for trailing path separator.
1463 * dwarf2expr.c (execute_stack_op): Handle DW_OP_GNU_entry_value. New
1464 label abort_expression.
1465 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Handle
1466 DWARF_VALUE_OPTIMIZED_OUT.
1471 * c-typeprint.c (c_type_print_args): Change parameter show_artificial
1472 to linkage_name. Invert its value. Update the function comment.
1473 (c_type_print_varspec_suffix): Invert it at the caller.
1474 * dwarf2read.c (dwarf2_compute_name): Invert it at the caller.
1478 * infcmd.c (post_create_inferior): Ignore NOT_AVAILABLE_ERROR
1479 errors when reading the `stop_pc'.
1480 * printcmd.c (pc_prefix): Use get_frame_pc_if_available instead of
1485 * NEWS: Document gdb.Write stream keyword.
1491 * dwarf2read.c (producer_is_gxx_lt_4_6): New function.
1492 (dwarf2_add_field): Fix new_field->accessibility for
1493 cu->header.version >= 3 while verifying also producer_is_gxx_lt_4_6.
1499 * python/py-function.c (fnpy_call): Treat GdbErrors differently to
1500 other error classes. Do not print stack trace.
1504 * dwarf2read.c (producer_is_gxx_lt_4_6): New function.
1505 (dwarf2_add_field): Fix new_field->accessibility for
1506 cu->header.version >= 3 while verifying also producer_is_gxx_lt_4_6.
1510 * arm-tdep.c (arm_analyze_prologue): Do not abort parsing when
1511 encountering a load via a non-SP register.
1515 * tramp-frame.c (tramp_frame_prepend_unwinder): Set stop_reason
1516 field in returned unwinder.
1520 * ada-lang.c (replace_operator_with_call): Copy also GDBARCH.
1524 * ada-lang.c (replace_operator_with_call): Use xzalloc instead
1529 * frame.c (frame_unwind_register): Throw an error if unwinding the
1531 * get_prev_frame_1 (get_prev_frame_1): Ask the unwinder if there's
1532 an unwind stop reason.
1533 (frame_stop_reason_string): Handle UNWIND_UNAVAILABLE.
1534 * frame.h (enum unwind_stop_reason) <UNWIND_OUTERMOST,
1535 UNWIND_UNAVAILABLE>: New.
1536 * inline-frame.c (inline_frame_unwind): Install
1537 default_frame_unwind_stop_reason.
1538 * frame-unwind.c: Include "exceptions.h".
1539 (frame_unwind_find_by_frame): Swallow NOT_AVAILABLE_ERROR errors.
1540 (default_frame_unwind_stop_reason): New.
1541 * frame-unwind.h (frame_unwind_stop_reason_ftype): New typedef.
1542 (default_frame_unwind_stop_reason): Declare.
1543 (struct frame_unwind) <stop_reason>: New function pointer.
1545 * dummy-frame.c: Install default_frame_unwind_stop_reason.
1546 * dwarf2-frame.c: Include exceptions.h.
1547 (struct dwarf2_frame_cache) <unavailable_retaddr>: New field.
1548 (dwarf2_frame_cache): Swallow NOT_AVAILABLE_ERROR errors when
1549 computing the CFA. If such an error was thrown, set
1550 unavailable_retaddr.
1551 (dwarf2_frame_unwind_stop_reason): New.
1552 (dwarf2_frame_this_id): Don't build a frame id if the CFA was
1554 (dwarf2_frame_unwind): Install dwarf2_frame_unwind_stop_reason.
1555 (dwarf2_signal_frame_unwind): Ditto.
1557 * amd64-tdep.c: Include "exceptions.h".
1558 (struct amd64_frame_cache): New field "base_p".
1559 (amd64_init_frame_cache): Clear it.
1560 (amd64_frame_cache_1): New, factored out from amd64_frame_cache.
1561 Avoid reading registers with functions that throw if the register
1562 is not necessary to compute the frame base.
1563 (amd64_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
1564 swallowing NOT_AVAILABLE_ERROR.
1565 (amd64_frame_unwind_stop_reason): New.
1566 (amd64_frame_this_id): Don't build a frame id if the frame base
1568 (amd64_frame_unwind): Install amd64_frame_unwind_stop_reason.
1569 (amd64_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
1570 base_p if the frame base was computable.
1571 (amd64_sigtramp_frame_unwind_stop_reason): New.
1572 (amd64_sigtramp_frame_this_id): Don't build a frame id if the
1573 frame base was unavailable.
1574 (amd64_sigtramp_frame_unwind): Install
1575 amd64_sigtramp_frame_unwind_stop_reason.
1576 (amd64_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
1577 base_p if the frame base was computable.
1578 (amd64_epilogue_frame_unwind_stop_reason): New.
1579 (amd64_epilogue_frame_this_id): Don't build a frame id if the
1580 frame base was unavailable.
1581 (amd64_epilogue_frame_unwind): Install
1582 amd64_epilogue_frame_unwind_stop_reason.
1583 * i386-tdep.c: Include "exceptions.h".
1584 (struct i386_frame_cache): New field "base_p".
1585 (i386_init_frame_cache): Clear it.
1586 (i386_frame_cache_1): New, factored out from amd64_frame_cache.
1587 Avoid reading registers with functions that throw if the register
1588 is not necessary to compute the frame base.
1589 (i386_frame_cache): Reimplement wrapping amd64_frame_cache_1, and
1590 swallowing NOT_AVAILABLE_ERROR.
1591 (i386_frame_unwind_stop_reason): New.
1592 (i386_frame_this_id): Don't build a frame id if the frame base was
1594 (i386_frame_prev_register): Handle unavailable SP.
1595 (i386_frame_unwind): Install i386_frame_unwind_stop_reason.
1596 (i386_epilogue_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
1597 base_p if the frame base was computable.
1598 (i386_epilogue_frame_unwind_stop_reason): New.
1599 (i386_epilogue_frame_this_id): Don't build a frame id if the frame
1600 base was unavailable.
1601 (i386_epilogue_frame_unwind): Install
1602 i386_epilogue_frame_unwind_stop_reason.
1603 (i386_sigtramp_frame_cache): Swallow NOT_AVAILABLE_ERROR, and set
1604 base_p if the frame base was computable.
1605 (i386_sigtramp_frame_unwind_stop_reason): New.
1606 (i386_sigtramp_frame_this_id): Don't build a frame id if the frame
1607 base was unavailable.
1608 (i386_sigtramp_frame_unwind): Install
1609 i386_sigtramp_frame_unwind_stop_reason.
1610 * sentinel-frame.c (sentinel_frame_prev_register): Use the value
1611 type's size, not the register's.
1612 (sentinel_frame_unwind): Install default_frame_unwind_stop_reason.
1614 * alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind): Install
1615 default_frame_unwind_stop_reason.
1616 * alpha-tdep.c (alpha_sigtramp_frame_unwind)
1617 (alpha_heuristic_frame_unwind): Ditto.
1618 * amd64obsd-tdep.c (amd64obsd_trapframe_unwind): Ditto.
1619 * arm-tdep.c (arm_prologue_unwind, arm_stub_unwind): Ditto.
1620 * avr-tdep.c (avr_frame_unwind): Ditto.
1621 * cris-tdep.c (cris_sigtramp_frame_unwind, cris_frame_unwind):
1623 * frv-linux-tdep.c (frv_linux_sigtramp_frame_unwind): Ditto.
1624 * frv-tdep.c (frv_frame_unwind): Ditto.
1625 * h8300-tdep.c (h8300_frame_unwind): Ditto.
1626 * hppa-hpux-tdep.c (hppa_hpux_sigtramp_frame_unwind): Ditto.
1627 * hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind): Ditto.
1628 * hppa-tdep.c (hppa_frame_unwind, hppa_fallback_frame_unwind)
1629 (hppa_stub_frame_unwind): Ditto.
1630 * i386obsd-tdep.c (i386obsd_trapframe_unwind): Ditto.
1631 * ia64-tdep.c (ia64_frame_unwind, ia64_sigtramp_frame_unwind)
1632 (ia64_libunwind_frame_unwind)
1633 (ia64_libunwind_sigtramp_frame_unwind): Ditto.
1634 * iq2000-tdep.c (iq2000_frame_unwind): Ditto.
1635 * lm32-tdep.c (lm32_frame_unwind): Ditto.
1636 * m32c-tdep.c (m32c_unwind): Ditto.
1637 * m32r-linux-tdep.c (m32r_linux_sigtramp_frame_unwind): Ditto.
1638 * m32r-tdep.c (m32r_frame_unwind): Ditto.
1639 * m68hc11-tdep.c (m68hc11_frame_unwind): Ditto.
1640 * m68k-tdep.c (m68k_frame_unwind): Ditto.
1641 * m68klinux-tdep.c (m68k_linux_sigtramp_frame_unwind): Ditto.
1642 * m88k-tdep.c (m88k_frame_unwind): Ditto.
1643 * mep-tdep.c (mep_frame_unwind): Ditto.
1644 * microblaze-tdep.c (microblaze_frame_unwind): Ditto.
1645 * mips-tdep.c (mips_insn16_frame_unwind, mips_insn32_frame_unwind)
1646 (mips_stub_frame_unwind): Ditto.
1647 * mn10300-tdep.c (mn10300_frame_unwind): Ditto.
1648 * moxie-tdep.c (moxie_frame_unwind): Ditto.
1649 * mt-tdep.c (mt_frame_unwind): Ditto.
1650 * ppc-linux-tdep.c (ppu2spu_unwind): Ditto.
1651 * ppcobsd-tdep.c (ppcobsd_sigtramp_frame_unwind): Ditto.
1652 * rs6000-tdep.c (rs6000_frame_unwind): Ditto.
1653 * s390-tdep.c (s390_frame_unwind, s390_stub_frame_unwind)
1654 (s390_sigtramp_frame_unwind): Ditto.
1655 * score-tdep.c (score_prologue_unwind): Ditto.
1656 * sh-tdep.c (sh_frame_unwind): Ditto.
1657 * sh64-tdep.c (sh64_frame_unwind): Ditto.
1658 * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_unwind): Ditto.
1659 * sparc-tdep.c (sparc32_frame_unwind): Ditto.
1660 * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_unwind): Ditto.
1661 * sparc64-tdep.c (sparc64_frame_unwind): Ditto.
1662 * sparc64fbsd-tdep.c (sparc64fbsd_sigtramp_frame_unwind): Ditto.
1663 * sparc64nbsd-tdep.c (sparc64nbsd_sigcontext_frame_unwind): Ditto.
1664 * sparc64obsd-tdep.c (sparc64obsd_frame_unwind)
1665 (sparc64obsd_trapframe_unwind): Ditto.
1666 * sparcnbsd-tdep.c (sparc32nbsd_sigcontext_frame_unwind): Ditto.
1667 * sparcobsd-tdep.c (sparc32obsd_sigtramp_frame_unwind): Ditto.
1668 * spu-tdep.c (spu_frame_unwind, spu2ppu_unwind): Ditto.
1669 * v850-tdep.c (v850_frame_unwind): Ditto.
1670 * vax-tdep.c (vax_frame_unwind): Ditto.
1671 * vaxobsd-tdep.c (vaxobsd_sigtramp_frame_unwind): Ditto.
1672 * xstormy16-tdep.c (frame_unwind xstormy16_frame_unwind): Ditto.
1673 * xtensa-tdep.c (xtensa_unwind): Ditto.
1677 * tui/tui-hooks.c (tui_selected_frame_level_changed_hook): Assume
1678 there's always a frame. Use get_frame_pc_if_available instead of
1679 get_frame_pc, and if there's no PC available, don't look up a
1684 * stack.c (print_frame_local_vars, print_frame_arg_vars): Handle
1689 * tracepoint.c (set_traceframe_context): Handle unavailable PC
1694 * frame.h (frame_unwind_caller_pc_if_available): Declare.
1695 * frame.c (frame_unwind_caller_pc_if_available): New.
1696 * stack.c (frame_info): Handle unavailable PC.
1700 * frame.c (frame_unwind_pc): Rename to ...
1701 (frame_unwind_pc_if_available): ... this. New `pc' output
1702 parameter. Change return type to int. Gracefully handle
1703 gdbarch_unwind_pc throwing NOT_AVAILABLE_ERROR. Return 0 if that
1704 happened, or 1 otherwise.
1705 (frame_unwind_pc): Reimplement on top of
1706 frame_unwind_pc_if_available.
1707 (get_frame_func): Rename to ...
1708 (get_frame_func_if_available): New `pc' output parameter. Change
1709 return type to int. Gracefully handle the PC not being available.
1710 (get_frame_func): Reimplement on top of
1711 get_frame_func_if_available.
1712 (select_frame): Handle the PC being unavailable.
1713 (get_prev_frame): Handle the PC being unavailable.
1714 (get_frame_pc_if_available): New.
1715 (get_frame_address_in_block_if_available): New.
1716 (find_frame_sal): Handle the frame PC not being available.
1717 * frame.h (get_frame_pc_if_available): Declare.
1718 (get_frame_address_in_block_if_available): Declare.
1719 (get_frame_func_if_available): Declare.
1720 * stack.c (print_frame_info): Handle the PC being unavailable.
1721 (find_frame_funname): Ditto.
1722 (print_frame): Handle the PC being unavailable.
1723 (get_frame_language): Ditto.
1724 * blockframe.c (get_frame_block): Ditto.
1725 * macroscope.c (default_macro_scope): Ditto.
1726 * tui/tui-stack.c (tui_show_frame_info): Ditto.
1730 * dwarf2loc.c (dwarf2_evaluate_loc_desc): Catch
1731 NOT_AVAILABLE_ERROR when evaluating the location expression.
1735 * dwarf2loc.c (read_pieced_value): Handle get_frame_register_bytes
1736 returning that the register piece is unavailable/optimized out.
1737 (write_pieced_value): Handle get_frame_register_bytes returning
1738 that the register piece is unavailable/optimized out when doing a
1739 read-modify write of a bitfield.
1740 * findvar.c (value_from_register): Handle get_frame_register_bytes
1741 returning that the register piece is unavailable/optimized out.
1742 * frame.c (get_frame_register_bytes): New parameters `optimizedp'
1743 and `unavailablep'. Throw error on bad debug info. Use
1744 frame_register instead of frame_register_read, to fill in the new
1746 * frame.h (get_frame_register_bytes): New parameters `optimizedp'
1748 * valops.c: (value_assign): Adjust, and handle
1749 get_frame_register_bytes failing.
1750 * spu-tdep.c: Include exceptions.h.
1751 (spu_software_single_step): Adjust, and handle
1752 get_frame_register_bytes failing.
1753 (spu_get_longjmp_target): Ditto.
1754 * gdbarch.sh (register_to_value): Change to return int. New
1755 parameters `optimizedp' and `unavailablep'.
1756 * gdbarch.h, gdbarch.c: Regenerate.
1757 * i386-tdep.c (i386_register_to_value): Adjust to new
1758 gdbarch_register_to_value interface.
1759 * i387-tdep.c (i387_register_to_value): Ditto.
1760 * i387-tdep.h (i387_register_to_value): Ditto.
1761 * alpha-tdep.c (alpha_register_to_value): Ditto.
1762 * ia64-tdep.c (ia64_register_to_value): Ditto.
1763 * m68k-tdep.c (m68k_register_to_value): Ditto.
1764 * mips-tdep.c (mips_register_to_value): Ditto.
1765 * rs6000-tdep.c (rs6000_register_to_value): Ditto.
1769 * findvar.c (value_of_register): Mark the value as unavailable, if
1770 the register is unavailable.
1771 * frame.h (frame_register_unwind): New `unavailablep' parameter.
1772 (frame_register): New `unavailablep' parameter.
1773 (frame_register_read): Update comment.
1774 * frame.c (frame_register_unwind): New `unavailablep' parameter.
1775 Set it if the register is unavailable. If the register is
1776 unavailable, clear the output buffer.
1777 (frame_register): New `unavailablep' parameter. Pass it down.
1778 (frame_unwind_register): Adjust.
1779 (put_frame_register): Adjust.
1780 (frame_register_read): Adjust. Also return false if the register
1782 (frame_register_unwind_location): Adjust.
1783 * sentinel-frame.c (sentinel_frame_prev_register): If the register
1784 is unavailable, mark the value accordingly.
1785 * stack.c (frame_info): Handle unavailable registers.
1789 * mi/mi-main.c (register_changed_p): Handle REG_UNAVAILABLE, and
1790 simplify, using regcache_cooked_read.
1794 * regcache.h (regcache_raw_read, regcache_raw_read_signed)
1795 (regcache_raw_read_unsigned, regcache_raw_read_signed)
1796 (regcache_raw_read_unsigned, regcache_raw_read_part)
1797 (regcache_cooked_read, regcache_cooked_read_signed)
1798 (regcache_cooked_read_unsigned, regcache_cooked_read_part)
1799 (regcache_cooked_read_ftype): Change return to enum
1801 * regcache.c: Include exceptions.h
1802 (regcache_save): Adjust to handle REG_UNAVAILABLE registers.
1803 (do_cooked_read): Change return to enum register_status. Always
1804 forward to regcache_cooked_read.
1805 (regcache_raw_read): Change return to enum register_status. If
1806 the register is not REG_VALID, memset the buffer. Return the
1808 (regcache_raw_read_signed): Handle non-REG_VALID registers and
1809 return the register's status.
1810 (regcache_raw_read_unsigned): Ditto.
1811 (regcache_cooked_read): Change return to enum register_status.
1812 Assert that with read-only regcaches, the register's status must
1813 be known. If the regcache is read-only, and the register is not
1814 REG_VALID, memset the buffer. Return the register's status.
1815 (regcache_cooked_read_signed): Change return to enum
1816 register_status. Handle non-REG_VALID registers and return the
1818 (regcache_cooked_read_unsigned): Change return to enum
1819 register_status. Handle non-REG_VALID registers and return the
1821 (regcache_xfer_part, regcache_raw_read_part)
1822 (regcache_cooked_read_part): Change return to enum
1823 register_status. Return the register's status.
1824 (regcache_read_pc): Throw NOT_AVAILABLE_ERROR if the register is
1826 (regcache_dump): Handle unavailable cooked registers.
1827 * frame.c (do_frame_register_read): Adjust interface to match
1828 regcache_cooked_read_ftype.
1829 * gdbarch.sh (pseudo_register_read): Change return to enum
1831 * gdbarch.h, gdbarch.c: Regenerate.
1833 * i386-tdep.h (i386_pseudo_register_read): Change return to enum
1835 * i386-tdep.c (i386_pseudo_register_read): Change return to enum
1836 register_status. If reading a raw register indicates the raw
1837 register is not valid, return the raw register's status,
1838 otherwise, return REG_VALID.
1839 * amd64-tdep.c (amd64_pseudo_register_read): Change return to enum
1840 register_status. Handle non-REG_VALID raw registers and return
1841 the register's status.
1842 * arm-tdep.c (arm_neon_quad_read)
1843 (arm_pseudo_read): Change return to enum register_status. Handle
1844 non-REG_VALID raw registers and return the register's status.
1845 * avr-tdep.c (avr_pseudo_register_read): Ditto.
1846 * frv-tdep.c (frv_pseudo_register_read): Ditto.
1847 * h8300-tdep.c (h8300_pseudo_register_read): Ditto.
1848 * hppa-tdep.c (hppa_pseudo_register_read): Ditto.
1849 * m32c-tdep.c (m32c_move_reg_t): Change return to enum
1851 (m32c_raw_read, m32c_raw_write, m32c_banked_read)
1852 (m32c_banked_write, m32c_sb_read, m32c_sb_write, m32c_part_read)
1853 (m32c_part_write, m32c_cat_read, m32c_cat_write)
1854 (m32c_r3r2r1r0_read, m32c_r3r2r1r0_write)
1855 (m32c_pseudo_register_read): Change return to enum
1856 register_status. Adjust.
1857 * m68hc11-tdep.c (m68hc11_pseudo_register_read): Change return to
1858 enum register_status. Return the register's status.
1859 * mep-tdep.c (mep_pseudo_cr32_read): Change return to enum
1860 register_status. Return the register's status.
1861 (mep_pseudo_cr64_read, mep_pseudo_register_read): Ditto.
1862 * mips-tdep.c (mips_pseudo_register_read): Ditto.
1863 * mt-tdep.c (mt_pseudo_register_read): Ditto.
1864 * rs6000-tdep.c (move_ev_register_func): New typedef.
1865 (e500_move_ev_register): Use it. Change return to enum
1866 register_status. Return the register's status.
1867 (do_regcache_raw_read): New function.
1868 (do_regcache_raw_write): New function.
1869 (e500_pseudo_register_read): Change return to enum
1870 register_status. Return the register's status. Use
1871 do_regcache_raw_read.
1872 (e500_pseudo_register_write): Adjust. Use do_regcache_raw_write.
1873 (dfp_pseudo_register_read): Change return to enum register_status.
1874 Return the register's status.
1875 (vsx_pseudo_register_read): Ditto.
1876 (efpr_pseudo_register_read): Ditto.
1877 (rs6000_pseudo_register_read): Ditto.
1878 * s390-tdep.c (s390_pseudo_register_read): Change return to enum
1879 register_status. Return the register's status.
1880 * sh64-tdep.c (pseudo_register_read_portions): New function.
1881 (sh64_pseudo_register_read): Change return to enum
1882 register_status. Use pseudo_register_read_portions. Return the
1884 * ia64-tdep.c (ia64_pseudo_register_read): Change return to enum
1885 register_status. Return the register's status.
1886 * sh-tdep.c (pseudo_register_read_portions): New function.
1887 (sh_pseudo_register_read): Change return to enum register_status.
1888 Use pseudo_register_read_portions. Return the register's status.
1889 * sparc-tdep.c (sparc32_pseudo_register_read): Change return to
1890 enum register_status. Return the register's status.
1891 * sparc64-tdep.c (sparc64_pseudo_register_read): Ditto.
1892 * spu-tdep.c (spu_pseudo_register_read_spu)
1893 (spu_pseudo_register_read): Ditto.
1894 * xtensa-tdep.c (xtensa_register_read_masked)
1895 (xtensa_pseudo_register_read): Ditto.
1896 * bfin-tdep.c (bfin_pseudo_register_read): Ditto.
1900 * python/py-value.c (valpy_getitem): Fix formatting of error function
1905 ARI fixes: Add missing internationalization markups throughout
1907 * darwin-nat-info.c: Ditto.
1910 * mi/mi-main.c: Ditto.
1914 ARI fixes: Add missing internationalization markups throughout
1917 * cp-name-parser.y: Ditto.
1920 * objc-exp.y: Ditto.
1925 ARI fixes: Messages should have no trailing new lines.
1926 * darwin-nat.c (mach_check_error): Remove trailing new line from
1927 warning function call message.
1928 * record.c (bfdcore_read): Idem for error call.
1932 * common/signals.c (target_signal_from_host): Add _ markup to error
1933 function call message.
1934 (target_signal_to_host): Add _ markup and remove trailing new line
1935 from warning call message.
1936 (target_signal_from_command): Add _ markup to error function call
1943 * python/python.c (gdbpy_write): Accept a stream argument and
1944 operate to the appropriate stream.
1945 (gdbpy_flush): Likewise.
1946 (_initialize_python): Add stream constants.
1947 (finish_python_initialization): Add GdbOutputErrorFile class.
1951 * MAINTAINERS: Add myself as a write-after-approval maintainer.
1955 * amd64-tdep.c (amd64_relocate_instruction): Fix ordering of arguments
1956 to store_signed_integer. Add debug message when relocating CALL
1957 instructions. Fix formatting of debug message.
1958 * i386-tdep.c (i386_relocate_instruction): Ditto.
1962 * target.h (struct target_ops): Remove to_lookup_symbol field.
1963 (target_lookup_symbol): Delete macro.
1964 * target.c (nosymbol, debug_to_lookup_symbol): Delete.
1965 (update_current_target, setup_target_debug): Remove handling
1966 of to_lookup_symbol target_ops field.
1967 * ada-tasks.c (get_known_tasks_addr): Remove use of
1968 target_lookup_symbol.
1969 * coffread.c (coff_symtab_read): Likewise.
1970 * dbxread.c (read_dbx_symtab): Ditto.
1975 * configure.ac: Add getthrds declaration check.
1976 * configure, config.in: Regenerate.
1977 * aix-thread.c (getthrds): Declare only if not already declared
1978 in procinfo.h. More declaration out of get_signaled_thread to
1983 * python/py-symtab.c: Populate symtab_object_methods,
1985 (stpy_is_valid): New function.
1986 (salpy_is_valid): Ditto.
1987 * python/py-symbol.c: Declare symbol_object_methods. Populate.
1988 (sympy_is_valid): New function.
1989 * python/py-objfile.c: Declare objfile_object_methods. Populate.
1990 (objfpy_is_valid): New function.
1991 * python/py-inferior.c: Populate inferior_object_methods.
1992 (infpy_is_valid): New function.
1993 * python/py-infthread.c: Populate thread_object_methods.
1994 (thpy_is_valid): New function.
1995 * python/py-block.c: Declare block_object_methods. Populate. Declare
1996 block_iterator_object_methods. Populate.
1997 (blpy_is_valid): New function.
1998 (blpy_iter_is_valid): Ditto.
2002 * linespec.c (find_methods): Canonicalize NAME before looking
2004 (name_end): New function.
2005 (keep_name_info): New function.
2006 (decode_line_1): Use keep_name_info.
2007 (decode_compound): Likewise.
2008 * cli/cli-utils.h (remove_trailing_whitespace): New function.
2009 * cli/cli-utils.c (remove_trailing_whitespace): Likewise.
2012 * linespec.c (locate_first_half): Keep overload information, too.
2013 (decode_compound): Use a string to represent break characters
2015 If P points to a break character, do not increment it.
2016 For C++ and Java, keep overload information and relevant keywords.
2017 If we cannot find a symbol, search the minimal symbols.
2020 * linespec.c (decode_compound): Rename SAVED_ARG to
2022 Make a copy of THE_REAL_SAVED_ARG in SAVED_ARG and strip
2024 Pass a valid block to lookup_symbol.
2025 (lookup_prefix_sym): Likewise.
2026 (find_method): Construct search name based on SYM_CLASS instead
2028 * psymtab.c (lookup_partial_symbol): Add language parameter.
2029 (lookup_symbol_aux_psymtabs): Likewise.
2030 Don't assume that the psymtab we found was the right one. Search
2031 for the desired symbol in the symtab to be certain.
2032 (psymtab_search_name): New function.
2033 (lookup_partial_symbol): Use psymtab_search_name.
2034 Add language parameter.
2035 (read_symtabs_for_function): Add language parameter and pass to
2036 lookup_partial_symbol.
2037 (find_symbol_file_from_partial): Likewise.
2042 * dwarf2read.c (noop_record_line): New function.
2043 (dwarf_decode_lines): Ignore line tables for GCd functions.
2047 Fix ARI warnings about new lines at the end of messages, which
2048 are unneeded as there is a new line added at the end of the message
2050 * darwin-nat.c (darwin_stop_inferior): Ditto.
2051 * dec-thread.c (dec_thread_get_ada_task_ptid): Ditto.
2052 * dfp.c (decimal_to_number): Ditto.
2053 * exec.c (print_section_info): Ditto.
2054 * i386-darwin-nat.c (darwin_set_sstep): Ditto.
2055 * osdata.c (get_osdata): Ditto.
2056 * record.c (bfdcore_write): Ditto.
2057 * remote-mips.c (mips_readchar): Ditto.
2058 * remote.c (read_ptid): Ditto.
2059 * ser-mingw.c (ser_windows_raw): Ditto.
2060 * tracepoint.c (add_local_symbols): Ditto.
2061 * windows-nat.c (fake_create_process): Ditto.
2065 * tracepoint.c (stop_tracing): Don't declare.
2066 * event-top.c (after_char_processing_hook): Add `(void)'.
2070 * NEWS: Add Parameter sub-classing description.
2074 * MAINTAINERS: Update my e-mail address.
2078 * MAINTAINERS: Add myself for write after approval privileges.
2082 * frame.c (find_frame_sal): Assert sym is not null.
2084 * dbxread.c (process_one_symbol): Assert 'name' is not null.
2086 * objc-lang.c (selectors_info): Check strchr for null result.
2088 * stabsread.c (define_symbol): Guard against bad stabstring input.
2092 Remove trailing spaces and tabulations from pascal language
2097 p-valprint.c: Ditto.
2101 * dwarf2read.c (dwarf2_get_pc_bounds): Require HIGH strictly higher
2102 than LOW. Comment it.
2103 (read_partial_die): Call complaint for inappropriate zero LOWPC or
2104 HIGHPC not strictly higher than LOWPC.
2108 Fix formatting of function declarations returning a pointer in
2110 * varobj.c (varobj_add_child): Ditto.
2111 * hppa-tdep.h (hppa_init_objfile_priv_data): Ditto.
2112 * inferior.h (get_displaced_step_closure_by_addr): Ditto.
2116 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Add support
2117 for the "generic" vector ABI used with GCC 4.3 and later.
2118 (ppc64_sysv_abi_return_value): Likewise.
2122 * infcall.c (call_function_by_hand): Function return value is
2123 always a non_lval, even when using struct_return.
2127 * printcmd.c (ALL_DISPLAYS_SAFE): New.
2128 (map_display_numbers): New.
2129 (do_delete_display): New.
2130 (undisplay_command): Use map_display_numbers.
2131 (do_enable_disable_display): New.
2132 (enable_disable_display_command): New function.
2133 (enable_display): Delete.
2134 (enable_display_command): New.
2135 (disable_display_command): Reimplement.
2136 (_initialize_printcmd): Adjust "enable display" command to use
2137 `enable_display_command' as callback.
2141 * NEWS: Add Python breakpoint 'stop' operation.
2145 * NEWS: Delete duplicate entry. Fix typo.
2149 Fix ARI warning about function names in first column.
2150 Put prototype declaration on same line as return type.
2151 * objc-exp.y: Ditto.
2153 * python/py-stopevent.h: Ditto.
2154 For long function names, split parameters to
2155 allow function name on same line as return type.
2156 * solib-pa64.c: Ditto.
2159 For long function declaration, use single line.
2160 * hppa-tdep.h: Ditto.
2161 * inferior.h: Ditto.
2165 * python/python.h: Declare gdbpy_should_stop and
2166 gdbpy_breakpoint_has_py_cond.
2167 * python/python.c: Add python.h to includes. Remove python.h from
2168 HAVE_PYTHON definition
2169 (gdbpy_should_stop): New dummy function.
2170 (gdbpy_breakpoint_has_py_cond): New dummy function.
2171 * python/py-breakpoint.c (bppy_init): Rewrite to allow
2172 sub-classing capabilities.
2173 (gdbpy_should_stop): New function.
2174 (gdbpy_breakpoint_has_py_cond): New function.
2175 (local_setattro): New function.
2176 * breakpoint.c (condition_command): Add check for Python 'stop'
2178 (bpstat_check_breakpoint_conditions): Execute Python 'stop'
2179 operation function as part of stop/continue tests.
2184 * dwarf2loc.c (dwarf_expr_dwarf_call): Remove 'return'.
2185 (needs_frame_dwarf_call): Likewise.
2189 Fix ARI warning about functions without parameters that do not
2191 * breakpoint.c (all_tracepoints): Replace () by (void).
2192 * f-exp.y (match_string_literal): Ditto.
2194 * m2-exp.y (yylex): Ditto.
2195 * mep-tdep.c (current_me_module): Ditto.
2196 (current_options): Ditto.
2197 (current_cop_data_bus_width): Ditto.
2198 (current_cr_names): Ditto.
2199 (current_cr_is_float): Ditto.
2200 (current_ccr_names): Ditto.
2201 * objc-exp.y (yylex): Ditto.
2202 * p-exp.y (yylex): Ditto.
2203 * remote.c (send_interrupt_sequence): Ditto.
2204 * tracepoint.c (current_trace_status): Ditto.
2205 * python/py-evts.c (gdbpy_initialize_py_events): Ditto.
2206 * python/py-prettyprint.c (push_dummy_python_frame): Ditto.
2210 * cli/cli-decode.h (CMD_LIST_AMBIGUOUS): Define.
2211 * cli/cli-decode.c (lookup_cmd_1): Use CMD_LIST_AMBIGUOUS.
2212 (lookup_cmd): Test for CMD_LIST_AMBIGUOUS.
2213 * completer.c (complete_line_internal): Use CMD_LIST_AMBIGUOUS.
2214 * top.c (set_verbose): Use CMD_LIST_AMBIGUOUS.
2216 * event-loop-c (delete_async_signal_handler): Assert prev_ptr.
2217 (delete_async_event_handler): Ditto.
2219 * python/py-breakpoint.c (bppy_set_condition): Stop memory leak.
2221 * python/py-breakpoint.c (bppy_get_commands): Fix memory leak.
2223 * top.c (set_verbose): Assert showcmd was found.
2227 * xtensa-tdep.c (warning_once): Correct style issues.
2231 * arm-tdep.c (copy_ldr_str_ldrb_strb): Remove redundant statements.
2235 * common/aclocal.m4: Remove.
2239 * xtensa-tdep.c (windowing_enabled): Remove inline attribute.
2240 (xtensa_write_register, xtensa_read_register): Likewise.
2241 (xtensa_hextochar): Removed.
2242 (xtensa_init_reggroups): Replace xtensa_hextochar () by explicit code.
2246 * xtensa-tdep.c (xtensa_c0reg_t): Update comments.
2247 (xtensa_call0_frame_cache_t): Update comments. New fields added.
2248 (xtensa_alloc_frame_cache): Add initialization for new fields.
2249 (xtensa_frame_cache): Change the way how call0_frame_cache () is called.
2250 (warning_once): New function.
2251 (xtensa_insn_kind): New item c0opc_and.
2252 (call0_classify_opcode): Add the case for AND instruction.
2253 (call0_track_op): Change arguments. New local variable litbase.
2254 Add the case to handle c0opc_and. Update algorithms for c0opc_mov,
2255 c0opc_l32r, c0opc_s32i to take into account dynamic stack adjustments
2257 Add cases for c0opc_l32e, c0opc_s32e, c0opc_rfwo, c0opc_rfwu.
2258 (call0_analyze_prologue): Update the comments. Change arguments.
2259 Add the variety of updates to handle extended prologues, which now can
2260 conduct dynamic stack adjustments.
2261 (call0_frame_cache): Likewise.
2262 (xtensa_skip_prologue): Update call0_analyze_prologue () function call.
2263 (xtensa_gdbarch_init): Initialize xtensa_session_once_reported.
2267 * tracepoint.c (cmd_qtv): Discard unused value 'packet'.
2268 (cmd_qtframe): Ditto.
2269 (cmd_qtbuffer): Ditto.
2270 (cmd_bigqtbuffer): Ditto.
2274 * tracepoint.c (trace_actions_command): Update.
2275 * thread.c (thread_apply_command): Update.
2276 * reverse.c (delete_bookmark_command): Update.
2277 (bookmarks_info): Update.
2278 * printcmd.c (undisplay_command): Update.
2279 * memattr.c (mem_enable_command): Update.
2280 (mem_disable_command): Update.
2281 (mem_delete_command): Update.
2282 * inferior.c (detach_inferior_command): Update.
2283 (kill_inferior_command): Update.
2284 (remove_inferior_command): Update.
2285 * cli/cli-utils.h (struct get_number_or_range_state): New.
2286 (init_number_or_range): Declare.
2287 (get_number_or_range): Update.
2288 * cli/cli-utils.c (init_number_or_range): New function.
2289 (get_number_or_range): Change 'pp' parameter to 'state'. Remove
2291 (number_is_in_list): Update.
2292 * breakpoint.h (get_tracepoint_by_number): Update.
2293 * breakpoint.c (map_breakpoint_numbers): Update for change to
2294 get_number_or_range.
2295 (find_location_by_number): Use get_number, not
2296 get_number_or_range.
2297 (trace_pass_set_count): New function.
2298 (trace_pass_command): Update for change to get_number_or_range.
2300 (get_tracepoint_by_number): Remove 'multi_p' parameter; add
2305 * python/py-param.c (add_setshow_generic): Add set/show callback
2306 parameters. Register Python object context.
2307 (get_show_value): New function.
2308 (get_set_value): New function.
2309 (call_doc_function): New function.
2310 (get_doc_string): Move behind get_show_value/get_set_value.
2314 * fbsd-nat.c (fbsd_make_corefile_notes): Constify local `fname'.
2318 * xtensa-tdep.c (xtensa_read_register): Add comment.
2319 (xtensa_write_register): Likewise.
2320 (xtensa_hextochar): Add comment and update to match coding conventions.
2321 (xtensa_frame_cache, xtensa_return_value): Follow coding conventions.
2322 (execute_l32e, execute_s32e, execute_code): Update comments.
2323 (xtensa_exception_handler_t): Update to match coding conventions.
2324 (xtensa_insn_kind): Likewise.
2328 * mi-cmd-disas.c (mi_cmd_disassemble): Fix memory leak.
2332 * nto-tdep.c (nto_find_and_open_solib): Constify local `base'.
2336 * thread.c (restore_selected_frame): Handle frame_level == -1.
2337 (make_cleanup_restore_current_thread): Use
2338 get_selected_frame_if_set.
2339 * frame.h (get_selected_frame_if_set): Declare.
2340 * frame.c (get_selected_frame_if_set): New function.
2344 * cli/cli-cmds.c (shell_escape): Use lbasename.
2345 * coffread.c (coff_start_symtab): Constify parameter.
2346 (complete_symtab): Constify `name' parameter.
2347 (coff_symtab_read): Constify `filestring' local.
2348 (coff_getfilename): Constify return and `result' local.
2350 * fbsd-nat.c (fbsd_make_corefile_notes): Use lbasename.
2351 * linux-fork.c (info_checkpoints_command): Use lbasename.
2352 * linux-nat.c (linux_nat_make_corefile_notes): Use lbasename.
2353 * minsyms.c (lookup_minimal_symbol): Use lbasename.
2354 * nto-tdep.c (nto_find_and_open_solib): Use lbasename.
2355 * procfs.c (procfs_make_note_section): Use lbasename.
2356 * tui/tui-io.c (printable_part): Constity return and parameter.
2358 (print_filename): Constify parameters, and local `s'.
2359 (tui_rl_display_match_list): Constify local `temp'.
2365 Fix DWARF-3+ DW_AT_accessibility default assumption.
2366 * dwarf2read.c (dwarf2_add_field): Fix new_field->accessibility for
2367 cu->header.version >= 3.
2371 * common/Makefile.in: Remove.
2372 * common/configure: Remove.
2373 * common/configure.ac: Remove.
2380 * common/Makefile.in: Add copyright header.
2384 * Makefile.in: Remove signals.o from COMMON_OBS. Link
2386 * configure.ac: Add common to sub dir.
2387 * configure: Regenerate.
2391 * xtensa-tdep.c (call0_ret): New function.
2392 (xtensa_skip_prologue): Speed up analysis.
2396 * xtensa-tdep.c (xtensa_register_reggroup_p): Count in all registers
2397 while executing MI command -data-list-changed-registers.
2401 * xtensa-tdep.c (xtensa_read_register): New function.
2402 (xtensa_write_register): New function.
2403 (xtensa_find_register_by_name): New function.
2404 (xtensa_windowed_frame_cache): Update comments in type description.
2405 (xtensa_frame_cache): Likewise.
2406 (xtensa_window_interrupt_insn): New function.
2407 (xtensa_frame_cache): Add analysis for Xtensa Window Exception frames.
2408 (xtensa_insn_kind): Add new instructions.
2409 (rwx_special_register): New function.
2410 (call0_classify_opcode): Add new instructions to the analysis.
2411 (a0_saved, a7_saved, a11_saved): New variables.
2412 (a0_was_saved, a7_was_saved, a11_was_saved): New variables.
2413 (execute_l32e): New function.
2414 (execute_s32e): New function.
2415 (xtensa_exception_handler_t): New type.
2416 (execute_code): New function.
2417 (xtensa_window_interrupt_frame_cache): New function to conduct frame
2418 analysis for Xtensa Window Exception handlers.
2422 * xtensa-tdep.c (TX_PS): New.
2423 (windowing_enabled): Update to count for Call0 ABI.
2424 (xtensa_hextochar): New.
2425 (xtensa_init_reggroups): Make algorithm generic.
2426 (xtensa_frame_cache): Use TX_PS on Tiny Xtensa.
2430 * xtensa-tdep.h (XTENSA_MAX_COPROCESSOR): Update.
2434 * i386-tdep.c (i386_follow_jump): Check return value of
2436 (i386_analyze_struct_return): Ditto.
2437 (i386_skip_probe): Ditto.
2438 (i386_match_insn): Ditto.
2439 (i386_skip_noop): Ditto.
2440 (i386_analyze_frame_setup): Ditto.
2441 (i386_analyze_register_saves): Ditto.
2442 (i386_skip_prologue): Ditto.
2443 (i386_skip_main_prologue): Ditto.
2445 * target.c (read_whatever_is_readable): Fix memory leak.
2447 * i386-tdep.c (i386_process_record): Document fall through.
2451 Fix DWARF-3+ DW_AT_accessibility default assumption.
2452 * dwarf2read.c (dwarf2_add_field): Fix new_field->accessibility for
2453 cu->header.version >= 3.
2457 * remote.c (remote_check_symbols): Skip if the target has no
2462 * target.c (read_whatever_is_readable): Reformat comment,
2463 with a minor typo fix. Minor reformatting of the code.
2467 * arm-tdep.c: Remove prototype declaration displaced_in_arm_mode.
2468 (displaced_read_reg): Add `dsc' parameter, remove `from' parameter.
2469 Use cached result instead of calling displaced_in_arm_mode again.
2470 (branch_write_pc, alu_write_pc, load_write_pc): Add `dsc' parameter.
2471 (displaced_write_reg, copy_preload, copy_preload_reg): Callers update.
2472 (cleanup_copro_load_store, copy_copro_load_store): Likewise.
2473 (cleanup_branch, copy_bx_blx_reg, copy_alu_imm): Likewise.
2474 (cleanup_alu_reg, copy_alu_reg, cleanup_alu_shifted_reg): Likewise.
2475 (copy_alu_shifted_reg, cleanup_load, cleanup_store): Likewise.
2476 (copy_extra_ld_st, copy_ldr_str_ldrb_strb): Likewise.
2477 (cleanup_block_load_all, cleanup_block_store_pc): Likewise.
2478 (cleanup_block_load_pc, copy_block_xfer): Likewise.
2479 * arm-linux-tdep.c (arm_linux_copy_svc): Callers update.
2480 (arm_catch_kernel_helper_return): Likewise.
2481 * gdb/arm-tdep.h : Update function declarations.
2485 * dwarf2loc.c (indirect_pieced_value): Assert 'piece' not null.
2487 * ser-unix.c (hardwire_get_tty_state): Stop memory leak.
2489 * mi/mi-cmd-env.c (_initialize_mi_cmd_env): Free environment.
2491 * elfread.c (elf_symtab_read): Stop memory leak.
2493 * main.c (captured_main): Fix memory leak.
2497 * ada-lang.c (compare_names): Call is_name_suffix with string1
2502 * xcoffread.c (xcoff_sym_fns): Update.
2503 * symfile.h (struct sym_fns) <sym_read_psymbols>: New field.
2504 (enum symfile_add_flags) <SYMFILE_NO_READ>: New constant.
2505 * symfile.c (syms_from_objfile): Handle SYMFILE_NO_READ.
2506 (symbol_file_add_with_addrs_or_offsets): Likewise.
2507 (reread_symbols): Handle OBJF_PSYMTABS_READ.
2508 * somread.c (som_sym_fns): Update.
2509 * psymtab.h (require_partial_symbols): Declare.
2510 * psymtab.c (require_partial_symbols): New function.
2511 (ALL_OBJFILE_PSYMTABS_REQUIRED): New macro.
2512 (ALL_OBJFILE_PSYMTABS): Undef.
2513 (ALL_PSYMTABS): Move from psympriv.h.
2514 (lookup_partial_symtab, find_pc_sect_psymtab)
2515 (lookup_symbol_aux_psymtabs, relocate_psymtabs)
2516 (find_last_source_symtab_from_partial)
2517 (forget_cached_source_info_partial)
2518 (print_psymtab_stats_for_objfile, read_symtabs_for_function)
2519 (expand_partial_symbol_tables, read_psymtabs_with_filename)
2520 (map_symbol_names_psymtab, map_symbol_filenames_psymtab)
2521 (find_symbol_file_from_partial, map_matching_symbols_psymtab)
2522 (expand_symtabs_matching_via_partial, maintenance_info_psymtabs):
2523 Use ALL_OBJFILE_PSYMTABS_REQUIRED.
2524 * psympriv.h (ALL_PSYMTABS): Move to psymtab.c.
2525 * objfiles.h (OBJF_PSYMTABS_READ): New macro.
2526 * objfiles.c (objfile_has_partial_symbols): Handle lazily-read
2528 * mipsread.c (ecoff_sym_fns): Update.
2529 * machoread.c (macho_sym_fns): Update.
2530 * elfread.c (elf_symfile_read): Set up for lazy psymtab reading.
2531 (read_psyms): New function.
2532 (elf_sym_fns, elf_sym_fns_gdb_index): Update.
2533 (elf_sym_fns_lazy_psyms): New global.
2534 * dwarf2read.c (dwarf2_initialize_objfile): Don't call
2535 dwarf2_build_psymtabs.
2536 * dbxread.c (aout_sym_fns): Update.
2537 * coffread.c (coff_sym_fns): Update.
2541 * infrun.c (print_exited_reason): Include inferior id and pid in
2546 * target.h (struct target_ops) <to_has_execution>: Add ptid_t
2548 (target_has_execution_1): Update.
2549 (target_has_execution_current): Declare.
2550 (target_has_execution): Call target_has_execution_current.
2551 (default_child_has_execution): Update.
2552 * target.c (default_child_has_execution): Add 'the_ptid'
2554 (target_has_execution_1): Likewise.
2555 (target_has_execution_current): New function.
2556 (add_target): Update.
2557 (init_dummy_target): Update.
2558 * remote-m32r-sdi.c (m32r_has_execution): New function.
2559 (init_m32r_ops): Use it.
2560 * record.c (record_core_has_execution): Now static. Add
2561 'the_ptid' parameter.
2562 * inferior.c (have_live_inferiors): Don't save current thread.
2563 Use target_has_execution_1.
2567 * Makefile.in (aclocal_m4_deps): Remove gnulib/m4/memcmp.m4.
2571 * elfread.c (elf_symtab_read): Minor reformatting.
2575 * objc-lang.c (selectors_info): Minor reformatting.
2579 * ada-lang.c (compare_names): Add FALLTHROUGH comment.
2584 * ada-valprint.c (ada_val_print_array): Move the declaration of
2585 "byte_order" and "elttype" inside the block where these variables
2586 are actually used. Remove some special handling for the case
2587 where "elttype" and "eltlen" are null. Replace by a comment
2588 and a couple of assertion checks.
2592 * source.c (add_path): Replace semicolon at end of block.
2593 * dwarf2expr.c (execute_stack_op): Ditto.
2597 * bfin-tdep.c: Include sim-regno.h and gdb/sim-bfin.h.
2598 * configure.tgt (bfin-*-*linux*): Define gdb_sim.
2599 (bfin-*-*): Likewise.
2603 * dwarf2expr.c (execute_stack_op): Delete superfluous semicolon.
2604 * mdebugread.c (parse_symbol): Ditto.
2605 * parse.c (parse_exp_in_context): Ditto.
2606 * source.c (add_path): Ditto.
2607 * utils.c (gnu_debuglink_crc32): Ditto.
2608 * varobj.c (variable_language): Ditto.
2610 * linux-tdep.c (linux_get_siginfo_type): Stop memory leak.
2614 * linux-fork.c (inferior_call_waitptid): Fix copy/paste error.
2616 * symfile.c (simple_overlay_update): Check for null return value
2617 from lookup_minimal_symbol.
2619 * xml-syscall.c (syscall_start_syscall): Assert name is non null.
2623 * eval.c (parse_and_eval_address_1): Remove function.
2624 * linespec.c (decode_indirect): Call parse_to_comma_and_eval
2625 instead of parse_and_eval_address_1.
2626 * value.h (parse_and_eval_address_1): Remove prototype.
2630 * remote.c (putpkt_binary): Document that case stmt falls through.
2634 * breakpointc (print_it_typical): Move NULL check from here...
2635 (print_bp_stop_message): ... to here.
2639 * breakpoint.c (enable_command): Use break instead of continue,
2640 and fill in a missing break.
2641 (disable_command): Ditto.
2645 * inflow.c (terminal_init_inferior_with_pgrp): Copy ttystate.
2646 (terminal_save_ours): Remove misleading comment.
2647 (inflow_inferior_data_cleanup): Free ttystate.
2648 (inflow_inferior_exit): Likewise.
2649 (copy_terminal_info): Copy ttystate.
2651 * serial.c (serial_copy_tty_state): New function.
2652 * serial.h (serial_copy_tty_state): Add prototype.
2653 (struct serial_ops): Add copy_tty_state callback.
2654 * ser-base.c (ser_base_copy_tty_state): New function.
2655 * ser-base.h (ser_base_copy_tty_state): Add prototype.
2656 * ser-go32.c (dos_copy_tty_state): New function.
2657 (dos_ops): Install copy_tty_state callback.
2658 * ser-mingw.c (_initialize_ser_windows): Likewise.
2659 * ser-pipe.c (_initialize_ser_pipe): Likewise.
2660 * ser-unix.c (hardwire_copy_tty_state): New function.
2661 (_initialize_ser_hardwire): Install it.
2665 * breakpoint.c (create_breakpoint): Add missing break statement.
2667 Reverting this patch:
2668 * infcall.c (call_function_by_hand): Add break statements for lint.
2670 Reverting this patch:
2671 * cli/cli-script.c (script_from_file): Add break for lint.
2675 * solib.c (reload_shared_libraries_1): Close memory leak.
2680 * dwarf2read.c (process_psymtab_comp_unit): Handle case where
2685 * remote-fileio.c (remote_fileio_func_fstat): Initialize all
2686 fields of struct 'st' to zero.
2688 * tui/tui-winsource.c (tui_update_source_window_as_is): Initialize
2689 sal.pspace before calling set_current_source_symtab_and_line.
2693 * Makefile.in (configure-common): Remove. Let Makefile
2694 in dir common to rebuild itself.
2695 (common/Makefile): Likewise.
2699 * utils.c (parse_escape): Add i18n markup in error message.
2703 * gdb/arm-tdep.c (shifted_reg_val): Replace magic number 15 with
2705 (thumb_get_next_pc_raw, arm_get_next_pc_raw): Likewise.
2706 (displaced_write_reg, displaced_read_reg): Likewise.
2707 (copy_ldr_str_ldrb_strb, cleanup_block_load_all): Likewise.
2708 (cleanup_block_load_pc, copy_block_xfer): Likewise.
2709 (cleanup_branch): Replace magic number 14 and 15 with
2710 ARM_LR_REGNUM and ARM_PC_REGNUM respectively.
2714 * maint.c (maintenance_do_deprecate): No need to check for NULL.
2716 * cli/cli-script.c (script_from_file): Add break for lint.
2718 * mdebugread.c (parse_partial_symbols): Fix indent.
2720 * target-descriptions.c (tdesc_gdb_type): No need to call
2721 xstrdup, callee saves a copy.
2723 * printcmd.c (print_scalar_formatted): Use strncpy for safety.
2725 * infcall.c (call_function_by_hand): Add break statements for lint.
2727 * utils.c (parse_escape): Escape the escape char.
2729 * python/py-inferior.c (build_inferior_list): Error out if
2730 PyList_Append fails.
2731 (gdbpy_inferiors): Error out if build_inferior_list fails.
2733 * linux-nat.c (linux_nat_xfer_partial): Preserve errno around
2736 * record.c (record_restore): Move printf to before error return.
2740 * arm-tdep.h (struct displaced_step_closure): Add two new fields
2741 is_thumb and insn_size.
2742 * arm-tdep.c (displaced_read_reg): Adjust correct pipeline offset
2743 on both ARM and Thumb mode.
2744 (arm_process_displaced_insn): Set is_thumb and insn_size.
2745 (arm_displaced_init_closure): Handle both 16-bit and 32-bit.
2746 (arm_displaced_step_fixup): Likewise.
2750 * cli/cli-dump.c (dump_bfd_file): Check error return and warn.
2752 * jv-lang.c (evaluate_subexp_java): Conditional can't be true.
2754 * dwarf2read.c (dwarf2_compute_name): NAME cannot be null here.
2756 * cli/cli-dump.c (restore_binary_file): Validate ftell return value.
2758 * ada-lang.c (ada_make_symbol_completion_list): Replace malloc
2761 * ada-lang.c (aggregate_assign_others): Rename inner scope variable
2762 which shadows function parameter.
2764 * tracepoint.c (create_tsv_from_upload): Superfluous call
2765 to xstrdup. Callee already calls xstrdup.
2767 * linespec.c (decode_line_1): Remove unnecessary null check.
2769 * tracepoint.c (scope_info): Fix mem leak, remove underused
2772 * python/py-prettyprint.c (apply_val_pretty_printer): Remove
2773 superfluous null check.
2775 * std-regs.c (value_of_builtin_frame_pc_reg): Frame can't be null.
2776 (value_of_builtin_frame_fp_reg): Ditto.
2778 * event-top.c (display_gdb_prompt): Remove superfluous null check.
2780 * python/py-prettyprint.c (apply_val_pretty_printer): VAL may
2783 * linespec.c (decode_line_1): Check for null before dereference.
2785 * reverse.c (record_restore): Move null-check to before pointer
2788 * python/py-utils.c (gdbpy_obj_to_string): Delete unused variable.
2790 * objc-lang.c (selectors_info): Add explanitory comment.
2791 (classes_info): Ditto.
2795 * arm-linux-tdep.c (ARM_LDR_PC_SP_4): Add define.
2796 (arm_linux_restart_syscall_init): Handle both on-stack and in-kernel
2797 versions of the trampoline. Handle Thumb vs. ARM addresses.
2798 (arm_kernel_linux_restart_syscall_tramp_frame): New global.
2799 (arm_linux_init_abi): Install it.
2800 * arm-tdep.c (arm_psr_thumb_bit): Make global.
2801 * arm-tdep.c (arm_psr_thumb_bit): Add prototype.
2805 * ui-out.c (ui_out_field_core_addr): Make local char buffer
2806 a little bigger, to avoid possibility of an overflow.
2808 * breakpoint.c (breakpoint_adjustment_warning): Make local char
2809 buffers a little bigger, to avoid possibility of an overflow.
2811 * coffread.c (coff_getfilename): Add check to avoid overflow.
2813 * objc-lang.c (selectors_info): Add a small safety margin to
2815 (classes_info): Error out on too long REGEXP.
2817 * infrun.c (handle_inferior_event): Remove unused function call.
2819 * fork-child.c (fork_inferior): Remove ifdef'd code and
2822 * linux-thread-db.c (attach_thread): Discard unused value.
2824 * linux-nat.c (linux_handle_extended_wait): Delete unused variable.
2826 * remote.c (remote_get_noisy_reply): Discard unused value.
2827 (remote_vcont_resume): Ditto.
2828 (remote_stop_ns): Ditto.
2830 * linespec.c (decode_objc): Delete unused variable.
2832 * tui/tui-regs.c (tui_register_format): Delete unused variable.
2834 * dwarf2read.c (add_partial_symbol): Discard unused values.
2835 (read_base_type): Delete unused variable.
2837 * dbxread.c (read_dbx_symtab): Discard unused value.
2839 * eval.c (evaluate_subexp_standard): Delete unused variable,
2840 and discard unused values.
2842 * infcmd.c (_initialize_infcmd): Discard unused values.
2844 * stabsread.c (rs6000_builtin_type): Missing break statement.
2846 * dbxread.c (process_one_symbol): Discard unused value.
2848 * coffread.c (coff_end_symtab): Delete unused variable.
2850 * dwarf2read.c (dw2_get_file_names): Discard unused value.
2851 (dwarf2_add_typedef): Delete unused variable.
2852 (read_namespace): Ditto.
2853 (dwarf_decode_macros): Ditto.
2855 * m2-lang.c (evaluate_subexp_modula2): Discard unused variable.
2857 * opencl-lang.c (evaluate_subexp_opencl): Discard unused value.
2859 * p-valprint.c (pascal_val_print): Discard unused value.
2861 * utils.c (nquery): Call va_end before return;
2865 * proc-service.c (ps_plog): Call va_end before return.
2869 * python/python.c (gdbpy_value_cst): New global.
2870 (_initialize_python): Initialize it.
2871 * python/python-internal.h (gdbpy_value_cst): Declare.
2872 * python/py-value.c (convert_value_from_python): Use
2877 * python/py-cmd.c (cmdpy_init): Fix memory leak.
2879 * breakpoint.c (catch_syscall_completer): Free malloced list.
2881 * jv-lang.c (java_primitive_type_from_name): Add missing break.
2883 * opencl-lang.c (lval_func_check_validity): Rename inner variables.
2884 (lval_func_check_synthetic_pointer): Ditto.
2885 (lval_func_free_closure): Fix use-after-free.
2889 * psymtab.c (expand_partial_symbol_tables): Use
2890 ALL_OBJFILE_PSYMTABS.
2894 * objc-lang.c (selectors_info): Error on too long REGEXP.
2898 * python/py-param.c (set_parameter_value): Add missing
2901 * linux-record.c (record_linux_system_call): Add missing
2906 * breakpoint.c (print_one_breakpoint_location): Remove unused
2907 argument PRINT_ADDRESS_BITS. Update callers.
2908 (print_one_breakpoint): Likewise.
2912 * breakpoint.c (wrap_indent_at_field): New function.
2913 (print_breakpoint_location): Use it instead of WRAP_INDENT argument.
2914 Allocate ui_stream locally instead of using STB argument.
2915 (print_one_breakpoint_location): Update call.
2916 * ui-out.c (ui_out_query_field): New function.
2917 * ui-out.h (ui_out_query_field): Add prototype.
2922 * ada-exp.y (write_object_renaming): Add FALLTHROUGH comment.
2926 * objc-lang.c (selectors_info): Prevent string overrun.
2928 * tui/tui-stack.c (tui_get_function_from_frame): Fix off by one
2931 * symtab.c (rbreak_command): Move variable 'file_name' to
2934 * d-valprint.c (dynamic_array_type): Avoid shadowing a function
2935 param with a local variable of the same name.
2939 * value.c (value_from_history_ref): New function.
2940 * value.h (value_from_history_ref): Export.
2941 * cli/cli-utils.c (get_number_trailer): Use value_from_history_ref
2942 to parse value history references.
2943 * cli/cli-utils.h (get_number_trailer): Update comment.
2947 * inferior.c (detach_inferior_command): Use get_number_or_range.
2948 (kill_inferior_command): Ditto.
2949 (remove_inferior_command): Ditto.
2950 (initialize_inferiors): Make command names plural.
2951 Update help strings.
2955 * darwin-nat-info.c: Fix comment typo.
2956 * dwarf2expr.h: Ditto.
2957 * fbsd-nat.c: Ditto.
2958 * fbsd-nat.h: Ditto.
2959 * frame-unwind.h: Ditto.
2961 * hppa-hpux-tdep.c: Ditto.
2962 * i386-linux-nat.c: Ditto.
2963 * linux-nat.c: Ditto.
2964 * nbsd-nat.c: Ditto.
2965 * nbsd-nat.h: Ditto.
2966 * ppc-linux-tdep.c: Ditto.
2969 * tui/tui-winsource.c: Ditto.
2973 * breakpoint.c (reattach_breakpoints): Avoid resource leak (ui_file).
2975 * maint.c (maintenance_do_deprecate): Plug a memory leak.
2977 * dwarf2loc.c (insert_bits): Avoid shadowing a function param
2978 with a local variable of the same name.
2980 * i387-tdep.c (i387_supply_fxsave): Avoid shadowing a function
2981 param with a local variable of the same name.
2982 (i387_supply_xsave): Ditto.
2984 * linux-low.c (linux_nat_xfer_osdata): Rename local variable so
2985 that it does not shadow a function parameter.
2987 * i386-nat.c (i386_length_and_rw_bits): Document that case
2988 statement is meant to fall through.
2990 * expprint.c (dump_subexp_body_standard): Document that case
2991 statement is meant to fall through.
2993 * amd64-linux-tdep.c (amd64_linux_syscall_record): Delete
2994 dead if statement. Condition can't be false.
2998 * arm-tdep.c: Fix typos in comments.
2999 * bsd-uthread.c: Ditto.
3000 * completer.c: Ditto.
3002 * cp-namespace.c: Ditto.
3003 * cp-support.c: Ditto.
3004 * cris-tdep.c: Ditto.
3006 * dwarf2read.c: Ditto.
3008 * gdbtypes.h: Ditto.
3009 * inferior.h: Ditto.
3010 * mdebugread.c: Ditto.
3011 * mips-tdep.c: Ditto.
3012 * ppc-linux-nat.c: Ditto.
3013 * ppc-linux-tdep.c: Ditto.
3014 * printcmd.c: Ditto.
3015 * sol-thread.c: Ditto.
3016 * solib-frv.c: Ditto.
3018 * sparc64-tdep.c: Ditto.
3019 * spu-tdep.c: Ditto.
3020 * stabsread.c: Ditto.
3025 * python/py-block.c: Ditto.
3026 * python/py-symbol.c: Ditto.
3027 * python/py-symtab.c: Ditto.
3028 * python/py-value.c: Ditto.
3029 * tui/tui-win.c: Ditto.
3033 * inferior.c (print_inferior): Accept a string instead of an int
3034 for requested_inferiors, and use get_number_or_range to parse it.
3035 (info_inferiors_command): Pass args string to print_inferior.
3036 (initialize_inferiors): Change help string for info inferiors.
3037 * inferior.h (print_inferior): Export prototype change.
3041 * common/ax.def (invalid2): Set to 0x31.
3045 * dwarf2loc.c (disassemble_dwarf_expression) <DW_OP_breg[0-9]+>: Use
3047 (disassemble_dwarf_expression) <DW_OP_bregx>: Drop variable offset,
3049 (disassemble_dwarf_expression) <DW_OP_fbreg>: Use L and plongest.
3053 * Makefile.in (clean): Make clean should remove generated files
3054 observer.h and observer.inc.
3058 Revert the following patch (not approved yet):
3060 * Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
3061 * ax-gdb.c (gen_printf_expr_callback): New function.
3062 * ax-gdb.h (gen_printf_expr_callback): Forward declare.
3063 * ax-general.c (ax_memcpy): New function.
3064 (ax_print): Handle "printf".
3066 * ax.h (ax_memcpy): Forward declare.
3067 * common/ax.def (invalid2): Removed.
3068 (printf): New entry.
3069 * printcmd.c (printcmd.h): New include.
3070 (string_printf): New function.
3071 (ui_printf): Removed.
3072 (printf_command): Remove static. Call string_printf.
3073 (eval_command): Call string_printf.
3074 * printcmd.h: New file.
3075 * tracepoint.c (validate_actionline,
3076 encode_actions_1): handle printf_command.
3080 * ax-general.c (ax_pick): Add missing newline.
3084 * breakpoint.c (breakpoint_1): Change first argument from an int
3085 to a char pointer, so that the function now accepts a list of
3086 breakpoints rather than just one. Use new function
3087 'number_is_in_list' to implement.
3088 (breakpoints_info): Pass char * instead of int to breakpoint_1.
3089 (watchpoints_info): Ditto.
3090 (tracepoints_info): Ditto.
3091 (maintenance_info_breakpoints): Ditto.
3092 (_initialize_breakpoint): Update help strings to reflect the fact
3093 that these functions can now take more than one argument.
3094 * cli/cli-utils.c (number_is_in_list): New function.
3095 * cli/cli-utils.h (number_is_in_list): Export.
3099 * memattr.c (mem_enable_command): Use get_number_or_range.
3100 (mem_disable_command): Ditto.
3101 (mem_delete_command): Ditto.
3102 (_initialize_mem): Tweak usage message to reflect multiple
3107 Add gdb.lookup_global_symbol python function.
3109 * python/py-symbol.c (gdbpy_lookup_global_symbol): New function.
3110 * python/python-internal.h (gdbpy_lookup_global_symbol): Declare it.
3111 * python/python.c (GdbMethods): Add entry for lookup_global_symbol.
3115 * language.c (language_class_name_from_physname): Rename
3116 'curr_language' argument to 'lang'; use in body.
3120 * cli/cli-utils.c (number_is_in_list): Check for zero return.
3124 * frame-unwind.h: Fix comment to mention the this frame, not the
3129 * symfile.c (auto_solib_limit): Remove.
3130 * symfile.h (auto_solib_limit): Remove.
3134 * Makefile.in (INSTALLED_LIBS): Delete. Update comment.
3138 * gdbthread.h (print_thread_info): Change prototype.
3139 * thread.c (print_thread_info): Accept char* instead of int for
3140 requested_threads argument. Use new function number_is_in_list
3141 to determine which threads to list.
3142 (info_threads_command): Pass char* to print_thread_info.
3143 * cli/cli-utils.c (number_is_in_list): New function.
3144 * cli/cli-utils.h (number_is_in_list): Export.
3145 * mi/mi-main.c (mi_cmd_thread_info): Pass char* to
3147 (print_one_inferior): Ditto.
3148 (mi_cmd_list_thread_groups): Ditto.
3152 * common/Makefile.in (CFLAGS): New.
3153 (COMPILE): Add $(CFLAGS).
3157 * breakpoint.c (catch_syscall_command_1): Fix typo.
3161 * reverse.c: Include cli-utils.h.
3162 * printcmd.c: Include cli-utils.h.
3163 (string_printf): Use skip_spaces.
3164 * cli/cli-utils.h: New file.
3165 * cli/cli-utils.c: New file.
3166 * cli/cli-dump.h (skip_spaces): Move to cli-utils.h.
3167 * cli/cli-dump.c (skip_spaces): Move to cli-utils.c.
3168 * breakpoint.h (get_number, get_number_or_range): Move to
3170 * breakpoint.c: Include cli-utils.h.
3171 (get_number_trailer, get_number, get_number_or_range)
3172 (ep_skip_leading_whitespace): Move to cli-utils.c.
3173 (create_breakpoint_sal, find_condition_and_thread)
3174 (decode_static_tracepoint_spec, watch_command_1)
3175 (watch_maybe_just_location, ep_parse_optional_if_clause)
3176 (catch_fork_command_1, catch_exec_command_1)
3177 (catch_syscall_command_1): Use skip_spaces, skip_to_space.
3178 * Makefile.in (SUBDIR_CLI_OBS): Add cli-utils.o.
3179 (SUBDIR_CLI_SRCS): Add cli-utils.c.
3180 (HFILES_NO_SRCDIR): Add cli-utils.h.
3181 (cli-utils.o): New target.
3185 * remote.c (remote_close): Reset INFERIOR_PTID to NULL_PTID
3186 before calling discard_all_inferiors.
3190 * opencl-lang.c (STRUCT_OCL_TYPE): Remove.
3191 (struct builtin_opencl_type): Remove.
3192 (builtin_opencl_type): Change return type to "struct type **".
3193 (lookup_opencl_vector_type): Update caller.
3194 (opencl_language_arch_info): Copy primitive type vector from gdbarch.
3195 (build_opencl_types): Install plain array of "struct type *"
3196 instead of "struct builtin_opencl_type".
3201 * arm-linux-nat.c: Include "observer.h" and "gdbthread.h".
3202 (PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define.
3203 (struct arm_linux_hwbp_cap): New type.
3204 (arm_linux_get_hwbp_cap): New function.
3205 (arm_linux_get_hw_breakpoint_count): Likewise.
3206 (arm_linux_get_hw_watchpoint_count): Likewise.
3207 (arm_linux_can_use_hw_breakpoint): Likewise.
3208 (arm_hwbp_type): New type.
3209 (arm_hwbp_control_t): Likewise.
3210 (struct arm_linux_hw_breakpoint): Likewise.
3211 (struct arm_linux_thread_points): Likewise.
3212 (arm_threads): New global variable.
3213 (arm_linux_find_breakpoints_by_tid): New function.
3214 (arm_hwbp_control_initialize): Likewise.
3215 (arm_hwbp_control_is_enabled): Likewise.
3216 (arm_hwbp_control_disable): Likewise.
3217 (arm_linux_hw_breakpoint_initialize): Likewise.
3218 (arm_linux_get_hwbp_type): Likewise.
3219 (arm_linux_hw_watchpoint_initialize): Likewise.
3220 (arm_linux_hw_breakpoint_equal): Likewise.
3221 (arm_linux_insert_hw_breakpoint1): Likewise.
3222 (arm_linux_remove_hw_breakpoint1): Likewise.
3223 (arm_linux_insert_hw_breakpoint): Likewise.
3224 (arm_linux_remove_hw_breakpoint): Likewise.
3225 (arm_linux_region_ok_for_hw_watchpoint): Likewise.
3226 (arm_linux_insert_watchpoint): Likewise.
3227 (arm_linux_remove_watchpoint): Likewise.
3228 (arm_linux_stopped_data_address): Likewise.
3229 (arm_linux_stopped_by_watchpoint): Likewise.
3230 (arm_linux_watchpoint_addr_within_range): Likewise.
3231 (arm_linux_new_thread): Likewise.
3232 (arm_linux_thread_exit): Likewise.
3233 (_initialize_arm_linux_nat): Install hardware breakpoint/watchpoint
3234 related target callbacks. Register arm_linux_new_thread and
3235 arm_linux_thread_exit.
3236 * arm-tdep.h (arm_pc_is_thumb): Add prototype.
3237 * arm-tdep.c (arm_pc_is_thumb): Make global.
3238 (arm_gdbarch_init): Call set_gdbarch_have_nonsteppable_watchpoint.
3242 * breakpoint.c (update_watchpoint): Do not attempt to recreate
3243 per-frame locations while within a function epilogue.
3247 * ser-mingw.c (ser_windows_close): Reformat comment to better conform
3248 to GNU coding standards.
3252 Allow use of mingw native on Windows 95 OS.
3253 * ser-mingw.c (CancelIo): New macro for dynamically loaded DLL entry.
3254 (ser_windows_close): Only call CancelIo if function exists.
3255 (_initialize_ser_windows): Use LoadLirary/GetProcAddress
3256 to check for existence of CancelIo function in kernel32 DLL.
3260 * Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
3261 * ax-gdb.c (gen_printf_expr_callback): New function.
3262 * ax-gdb.h (gen_printf_expr_callback): Forward declare.
3263 * ax-general.c (ax_memcpy): New function.
3264 (ax_print): Handle "printf".
3266 * ax.h (ax_memcpy): Forward declare.
3267 * common/ax.def (invalid2): Removed.
3268 (printf): New entry.
3269 * printcmd.c (printcmd.h): New include.
3270 (string_printf): New function.
3271 (ui_printf): Removed.
3272 (printf_command): Remove static. Call string_printf.
3273 (eval_command): Call string_printf.
3274 * printcmd.h: New file.
3275 * tracepoint.c (validate_actionline,
3276 encode_actions_1): handle printf_command.
3280 * reverse.c (delete_one_bookmark): Argument is now bookmark
3281 id rather than pointer to bookmark struct.
3282 (delete_bookmark_command): Use get_number_or_range.
3283 (goto_bookmark_command): Parse with get_number instead of strtoul.
3284 (bookmark_1): New function. Print info for one bookmark.
3285 (bookmarks_info): Use get_number_or_range and bookmark_1.
3289 * thread.c (info_threads_command): Re-implement using
3290 get_number_or_range.
3291 (thread_apply_command): Ditto.
3295 * common/ax.def: New file.
3296 * ax.h (enum agent_op): Use ax.def.
3297 * ax-general.c (aop_map): Use ax.def.
3301 * ax-general.c (aop_map): Add pick and rot.
3302 * dwarf2loc.c (compile_dwarf_to_ax) <DW_OP_over>: Reimplement.
3303 <DW_OP_rot>: Implement.
3304 * ax.h (enum agent_op) <aop_pick, aop_rot>: New constants.
3306 * ax-general.c (ax_pick): New function.
3310 * Makefile.in (HFILES_NO_SRCDIR): Don't mention ada-operator.inc.
3315 * cp-support.c (make_symbol_overload_list_namespace): Do not call
3316 make_symbol_overload_list_block with NULL BLOCK.
3317 * valarith.c (unop_user_defined_p): Resolve also TYPE_CODE_TYPEDEF.
3321 * breakpoint.c (get_number_trailer): No longer accept a NULL PP.
3322 * breakpoint.h (get_number_or_range): Declare.
3323 * printcmd.c (ALL_DISPLAYS): Declare.
3324 (delete_display): Reimplement taking a display pointer.
3325 (undisplay_command): Accept a range of displays to delete, using
3326 get_number_or_range.
3330 * c-valprint.c (c_val_print): Add embedded_offset to address
3331 for arrays of unspecified length.
3332 * p-valprint.c (pascal_val_print): Likewise.
3336 * gdb/arm-tdep.c (arm_displaced_step_copy_insn): Move code to ...
3337 (arm_process_displaced_insn): .. here. Remove parameter INSN.
3338 (thumb_process_displaced_insn): New.
3339 * gdb/arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Update
3340 call to arm_process_displaced_insn.
3341 * gdb/arm-tdep.h : Update declaration of arm_process_displaced_insn.
3345 * dwarf2loc.h (dwarf2_compile_expr_to_ax): Declare.
3346 * dwarf2loc.c (dwarf2_compile_expr_to_ax): Rename from
3347 compile_dwarf_to_ax. No longer static. Call
3348 dwarf2_compile_cfa_to_ax.
3349 (locexpr_tracepoint_var_ref): Update.
3350 (loclist_tracepoint_var_ref): Update.
3351 * dwarf2-frame.h (dwarf2_compile_cfa_to_ax): Declare.
3352 * dwarf2-frame.c (execute_cfa_program): Remove 'this_frame'
3353 argument; add 'gdbarch' and 'pc'.
3354 (dwarf2_compile_cfa_to_ax): New function.
3355 (dwarf2_frame_cache): Update.
3359 * ada-lang.c (ada_type_of_array): Fix the size of the array
3360 in the case of an unconstrained packed array.
3364 * common/Makefile.in: Add more targets for make.
3368 * dwarf2loc.c (unimplemented): Fix typo.
3372 * dwarf2loc.c (unimplemented): Handle unnamed opcodes.
3373 (compile_dwarf_to_ax) <default>: Use unimplemented.
3374 <DW_OP_deref>: Update.
3375 (disassemble_dwarf_expression): Update.
3376 * dwarf2read.c (dwarf_stack_op_name): Remove 'def' argument.
3377 (decode_locdesc): Update.
3378 * dwarf2expr.h (dwarf_stack_op_name): Update.
3382 * ax.h (struct aop_map) <name>: Now const.
3386 * ax-gdb.c.c (gen_expr) <UNOP_MEMVAL>: Handle value kinds other
3391 * infrun.c (get_displaced_step_closure_by_addr): New.
3392 * inferior.h: Declare it.
3393 * arm-tdep.c: (arm_pc_is_thumb): Call
3394 get_displaced_step_closure_by_addr. Adjust MEMADDR if it
3401 * tracepoint.c (memrange_sortmerge): Fix list A's end calculation.
3406 * value.c (value_contents_copy_raw): Extend describing comment.
3407 Assert that the destination contents we're overwriting are wholly
3409 (value_contents_copy): Extend describing comment.
3414 * value.c (value_available_contents_eq): Remove redundant local
3415 variables. Fix available contents comparision.
3416 * value.h (value_available_contents_eq): Extend describing
3421 * thread.c (info_threads_command): Add missing i18n markup and remove
3426 * breakpoint.c (longjmp_names): New variable.
3427 (struct breakpoint_objfile_data): New type.
3428 (breakpoint_objfile_key): New variable.
3429 (msym_not_found): New variable.
3430 (msym_not_found_p): New predicate.
3431 (get_breakpoint_objfile_data): New function.
3432 (create_overlay_event_breakpoint): Check per-objfile cache for
3434 (create_longjmp_master_breakpoint): Likewise.
3435 (create_std_terminate_master_breakpoint): Likewise.
3436 (create_exception_master_breakpoint): Likewise.
3437 (_initialize_breakpoint): Register per-objfile data key.
3441 * breakpoint.c ((create_overlay_event_breakpoint): Const-propagate
3443 (create_longjmp_master_breakpoint): Loop over longjmp names.
3444 (create_std_terminate_master_breakpoint): Const-propagate parameter
3446 (update_breakpoints_after_exec): Adjust.
3447 (breakpoint_re_set): Adjust.
3451 * thread.c (info_threads_command): Process arg as thread id,
3452 or list of thread ids.
3453 (thread_find_command): New command.
3454 (_initialize_thread): Document argument for info threads.
3455 Document 'thread find' command.
3456 * NEWS: Document new command "thread find".
3460 * Makefile.in (ACLOCAL_AMFLAGS): Add `-I ../config'.
3461 * aclocal.m4: Regenerated with aclocal-1.11.1.
3462 * common/configure: Regenerate with autoconf-2.64.
3466 * opencl-lang.c (build_opencl_types): Set the size of the built-in
3467 bool data type to a size of one byte.
3472 * target.c (memory_xfer_live_readonly_partial): Document where to
3473 look for interface description.
3478 * arm-tdep.c (copy_ldr_str_ldrb_strb): Replace PC with SP in
3479 order to store PC value on stack instead of text section.
3483 * rs6000-tdep.c (IS_EFP_PSEUDOREG): Use correct constant for
3484 the EFP register set size.
3485 (efpr_pseudo_register_read): Use regcache_raw_read_part to read
3486 data from the VMX register.
3487 (efpr_pseudo_register_write): Use regcache_raw_write_part to read
3488 and write data from/to the VMX register.
3492 * command.h (enum command_class): New class 'no_set_class', for
3493 "show" commands without a corresponding "set" command.
3494 * value.c (_initialize_values): Use 'no_set_class' for "show values".
3495 * copying.c (_initialize_copying): Ditto for "show copying" and
3497 * cli/cli-cmds.c (init_cli_cmds): Ditto for "show commands" and
3499 * cli/cli-setshow.c (cmd_show_list): Skip "show" commands for
3500 which there is no corresponding "set" command (eg. "show copying").
3505 * exec.c (section_table_available_memory): Change `len' parameter
3507 * exec.h (section_table_available_memory): Ditto.
3508 * value.h (read_value_memory): Rename the `offset' parameter to
3514 * memrange.c (compare_mem_ranges): Mention sort order in
3516 (normalize_mem_ranges): Add comment. Fix ra->length calculation.
3517 * tracepoint.c (traceframe_available_memory): Extend comment to
3518 mention what happens to RESULT when the target does not support
3524 * value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
3529 * value.c (value_bits_valid, value_bits_synthetic_pointer):
3530 No longer handle NULL values.
3534 * exceptions.h (NOT_AVAILABLE_ERROR): New error.
3535 * value.c: Include "exceptions.h".
3536 (require_available): Throw NOT_AVAILABLE_ERROR instead of a
3538 * cp-abi.c: Include gdb_assert.h.
3539 (baseclass_offset): Add `embedded_offset' and `val' parameters.
3540 Assert the method is implemented. Wrap NOT_AVAILABLE_ERROR
3542 * cp-abi.h (baseclass_offset): Add `embedded_offset' and `val'
3543 parameters. No longer returns -1 on error.
3544 (struct cp_abi_ops) <baseclass_offset>: Add `embedded_offset' and
3546 * cp-valprint.c: Include exceptions.h.
3547 (cp_print_value): Handle NOT_AVAILABLE_ERROR errors when fetching
3548 the baseclass_offset. Handle unavailable base classes. Use
3549 val_print_invalid_address.
3550 * p-valprint.c: Include exceptions.h.
3551 (pascal_object_print_value): Handle NOT_AVAILABLE_ERROR errors
3552 when fetching the baseclass_offset. No longer expect
3553 baseclass_offset returning -1. Handle unavailable base classes.
3554 Use val_print_invalid_address.
3555 * valops.c (dynamic_cast_check_1): Rename `contents' parameter to
3556 `valaddr' parameter, and change its type to gdb_byte pointer. Add
3557 `embedded_offset' and `val' parameters. Adjust.
3558 (dynamic_cast_check_2): Rename `contents' parameter to `valaddr'
3559 parameter, and change its type to gdb_byte pointer. Add
3560 `embedded_offset' and `val' parameters. Adjust. No longer expect
3561 baseclass_offset returning -1.
3562 (value_dynamic_cast): Use value_contents_for_printing rather than
3563 value_contents. Adjust.
3564 (search_struct_field): No longer expect baseclass_offset returning
3566 (search_struct_method): If reading memory from the target is
3567 necessary, wrap it in a new value to pass to baseclass_offset. No
3568 longer expect baseclass_offset returning -1.
3569 (find_method_list): No longer expect baseclass_offset returning
3570 -1. Use value_contents_for_printing rather than value_contents.
3571 * valprint.c (val_print_invalid_address): New function.
3572 * valprint.h (val_print_invalid_address): Declare.
3573 * gdbtypes.c (is_unique_ancestor_worker): New `embedded_offset'
3574 and `val' parameters. No longer expect baseclass_offset returning
3576 * gnu-v2-abi.c: Include "exceptions.h".
3577 (gnuv2_baseclass_offset): Add `embedded_offset' and `val'
3578 parameters. Handle unavailable memory. Recurse through
3579 gnuv2_baseclass_offset directly, rather than through
3580 baseclass_offset. No longer returns -1 on not found, instead
3582 * gnu-v3-abi.c (gnuv3_baseclass_offset): Add `embedded_offset' and
3583 `val' parameters. Adjust.
3587 * tracepoint.c (memrange_sortmerge): Don't merge ranges that are
3588 almost but not quite adjacent.
3592 * value.h (value_entirely_available): Declare.
3593 * value.c (value_entirely_available): New function.
3594 * c-valprint.c (c_value_print): Don't try fetching the pointer's
3595 real type if the pointer is unavailable.
3599 * valops.c (value_repeat): Use read_value_memory instead of
3604 * value.h (value_contents_copy, value_contents_copy_raw): Declare.
3605 * value.c (value_contents_copy_raw, value_contents_copy): New
3607 (value_primitive_field): Use value_contents_copy_raw instead of
3609 * valops.c (value_fetch_lazy): Use value_contents_copy instead of
3611 (value_array, value_slice): Ditto.
3612 * valarith.c (value_subscripted_rvalue): Use
3613 value_contents_copy_raw instead of memcpy.
3617 <unavailable> references.
3619 * valops.c (get_value_at): Use value_from_contents_and_address,
3620 avoiding read_memory.
3624 * c-valprint.c (c_val_print): Print a string with unavailable
3625 contents as an array.
3629 * value.h (unpack_bits_as_long): Delete declaration.
3630 (unpack_value_bits_as_long): Declare.
3631 (unpack_value_field_as_long): Declare.
3632 (value_field_bitfield): Declare.
3633 * value.c (unpack_bits_as_long): Rename to...
3634 (unpack_value_bits_as_long_1): ... this. Add embedded_offset and
3635 value parameters. Return the extracted result in a new output
3636 parameter. If the value contents are unavailable, return false,
3637 otherwise return true.
3638 (unpack_value_bits_as_long): New.
3639 (unpack_field_as_long): Rename to...
3640 (unpack_value_field_as_long_1): ... this. Add embedded_offset and
3641 Add embedded_offset and value parameters. Return the extracted
3642 result in a new output parameter. If the value contents are
3643 unavailable, return false, otherwise return true.
3644 (unpack_value_field_as_long): New.
3645 (unpack_field_as_long_1): New.
3646 (unpack_field_as_long): Reimplement as wrapper around
3647 unpack_value_field_as_long_1.
3648 (value_field_bitfield): New function.
3649 * valops.c (value_fetch_lazy): When fetching a bitfield, use
3650 unpack_value_bits_as_long. Mark the value as unavailable, if it
3652 * jv-valprint.c (java_print_value_fields): Use
3653 value_field_bitfield.
3654 * p-valprint.c (pascal_object_print_value_fields): Use
3655 value_field_bitfield.
3656 * cp-valprint.c (cp_print_value_fields): Use value_field_bitfield.
3660 * value.c (get_internalvar_integer): Also return the int value of
3661 TYPE_CODE_INT INTERNALVAR_VALUE values.
3662 (set_internalvar): Don't special case TYPE_CODE_INT.
3666 * value.c (struct internalvar) <enum internalvar_kind>: Remove
3667 INTERNALVAR_POINTER.
3669 (value_of_internalvar): Remove INTERNALVAR_POINTER handling.
3670 (set_internalvar): Remove special TYPE_CODE_PTR handling.
3671 (preserve_one_internalvar): Remove INTERNALVAR_POINTER handling.
3675 * value.h (value_available_contents_eq): Declare.
3676 * value.c (find_first_range_overlap): New function.
3677 (value_available_contents_eq): New function.
3678 * valprint.c (val_print_array_elements): Use
3679 value_available_contents_eq.
3680 * ada-valprint.c (val_print_packed_array_elements): Use
3681 value_available_contents_eq.
3682 * jv-valprint.c (java_value_print): Use
3683 value_available_contents_eq.
3687 * target.c (target_read_live_memory): New function.
3688 (memory_xfer_live_readonly_partial): New.
3689 (memory_xfer_partial): If reading from a traceframe, fallback to
3690 reading unavailable read-only memory from read-only regions of
3692 * tracepoint.c (disconnect_tracing): Adjust.
3693 (set_current_traceframe): New, factored out from
3694 set_traceframe_number.
3695 (set_traceframe_number): Reimplement to only change the traceframe
3696 number on the GDB side.
3697 (do_restore_current_traceframe_cleanup): Adjust.
3698 (make_cleanup_restore_traceframe_number): New.
3699 (cur_traceframe_number): New global.
3700 (tfile_open): Set cur_traceframe_number to no traceframe.
3701 (set_tfile_traceframe): New function.
3702 (tfile_trace_find): If looking up a traceframe using any method
3703 other than by number, make sure the current tfile traceframe
3704 matches gdb's current traceframe. Update the current tfile
3705 traceframe if the lookup succeeded.
3706 (tfile_fetch_registers, tfile_xfer_partial)
3707 (tfile_get_trace_state_variable_value): Make sure the remote
3708 traceframe matches gdb's current traceframe.
3709 * remote.c (remote_traceframe_number): New global.
3710 (remote_open_1): Set it to -1.
3711 (set_remote_traceframe): New function.
3712 (remote_fetch_registers, remote_store_registers)
3713 (remote_xfer_memory, remote_xfer_partial)
3714 (remote_get_trace_state_variable_value): Make sure the remote
3715 traceframe matches gdb's current traceframe.
3716 (remote_trace_find): If looking up a traceframe using any method
3717 other than by number, make sure the current remote traceframe
3718 matches gdb's current traceframe. Update the current remote
3719 traceframe if the lookup succeeded.
3720 * infrun.c (fetch_inferior_event): Adjust.
3721 * tracepoint.h (set_current_traceframe): Declare.
3722 (get_traceframe_number, set_traceframe_number): Add describing
3727 Mark pieces of values as unavailable if the corresponding memory
3730 * valops.c: Include tracepoint.h.
3731 (value_fetch_lazy): Use read_value_memory.
3732 (read_value_memory): New.
3733 * value.h (read_value_memory): Declare.
3734 * dwarf2loc.c (read_pieced_value): Use read_value_memory.
3735 * exec.c (section_table_available_memory): New function.
3736 * exec.h (section_table_available_memory): Declare.
3740 * Makefile.in (SFILES): Add memrange.c.
3741 (HFILES_NO_SRCDIR): Add memrange.h.
3742 (COMMON_OBS): Add memrange.o.
3743 * memrange.c: New file.
3744 * memrange.h: New file.
3745 * tracepoint.c: Include memrange.h.
3746 (struct mem_range): Delete.
3747 (mem_range_s): Delete.
3748 (traceframe_available_memory): New function.
3749 * tracepoint.h (traceframe_available_memory): Declare.
3753 * target.h (struct traceframe_info): Forward declare.
3754 (enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO.
3755 (struct target_ops) <to_traceframe_info>: New field.
3756 (target_traceframe_info): New.
3757 * target.c (update_current_target): Inherit and default
3759 * remote.c (PACKET_qXfer_traceframe_info): New.
3760 (remote_protocol_features): Register qXfer:traceframe-info:read.
3761 (remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO.
3762 (remote_traceframe_info): New.
3763 (init_remote_ops): Install it.
3764 (_initialize_remote): Install "set/show remote traceframe-info"
3766 * tracepoint.h (parse_traceframe_info): Declare.
3767 * tracepoint.c (struct mem_range): New.
3768 (mem_range_s): New typedef.
3769 (struct traceframe_info): New.
3770 (traceframe_info): New global.
3771 (free_traceframe_info): New function.
3772 (clear_traceframe_info): New function.
3773 (start_tracing, tfind_1, set_traceframe_number): Clear traceframe
3775 (build_traceframe_info): New function.
3776 (tfile_traceframe_info): New function.
3777 (init_tfile_ops): Install tfile_traceframe_info.
3778 (traceframe_info_start_memory, free_result): New functions.
3779 (memory_attributes, traceframe_info_elements): New globals.
3780 (parse_traceframe_info, get_traceframe_info): New functions.
3781 * features/traceframe-info.dtd: New file.
3782 * Makefile.in (XMLFILES): Add traceframe-info.dtd.
3786 Base support for <unavailable> value contents.
3788 * value.h (value_bytes_available): Declare.
3789 (mark_value_bytes_unavailable): Declare.
3790 * value.c (struct range): New struct.
3791 (range_s): New typedef.
3792 (ranges_overlap): New function.
3793 (range_lessthan): New function.
3794 (ranges_contain_p): New function.
3795 (struct value) <unavailable>: New field.
3796 (value_bytes_available): New function.
3797 (mark_value_bytes_unavailable): New function.
3798 (require_not_optimized_out): Constify parameter.
3799 (require_available): New function.
3800 (value_contents_all, value_contents): Require all bytes be
3802 (value_free): Free `unavailable'.
3803 (value_copy): Copy `unavailable'.
3804 * valprint.h (val_print_unavailable): Declare.
3805 * valprint.c (valprint_check_validity): Rename `offset' parameter
3806 to `embedded_offset'. If printing a scalar, check whether the
3807 value chunk is available.
3808 (val_print_unavailable): New.
3809 (val_print_scalar_formatted): Check whether the value is
3811 * python/py-prettyprint.c (apply_val_pretty_printer): Refuse
3812 pretty-printing unavailable values.
3816 Fix const/volatile qualifiers of C++ types, PR c++/12328.
3817 * c-typeprint.c (c_type_print_args): Update the function comment. New
3818 variable param_type, initialize it. Remove const/volatile qualifiers
3819 for language_cplus and !show_artificial. Use param_type.
3823 * symtab.c (find_pc_sect_line): New variable objfile, initialize it
3824 from S. Iterate S using ALL_OBJFILE_SYMTABS. Verify BV for each S.
3825 * symtab.h (struct symtab) <next>: Comment extension.
3829 * Makefile.in (CLEANDIRS): Remove duplicated common dir.
3833 * common/Makefile.in: Add copyright header.
3837 * infrun.c (proceed): Move switching out and in of tfind mode from
3839 (fetch_inferior_event): ... to here.
3843 * Makefile.in: Remove signals.o from COMMON_OBS. Link
3845 * configure.ac: Add common to sub dir.
3846 * configure: Regenerate.
3852 * common/Makefile.in: New.
3853 * common/configure.ac: New.
3854 * common/aclocal.m4: New.
3855 * common/configure: Generate.
3859 * vec.h (VEC_block_remove): Place VEC_ASSERT_INFO on the right
3860 side of the parenthesis.
3864 * vec.h (VEC_block_remove): Fix comment.
3868 * linux-nat.c (linux_nat_filter_event): Fix typo in comment.
3872 * i386-tdep.c (i386_process_record): Rename l suffixes to d suffixes
3873 in comments for pcmpgtd, pcmpeqd, psubd, paddd, pcmpgtd, pcmpeqd,
3879 * i386-tdep.c (i386_process_record) <0x660f3807>: Fix the comment to
3881 (i386_process_record) <lddqu>: Fix the opcode to 0xf20ff0.
3882 (i386_process_record) <0x0f3807>: Fix the comment to phsubsw.
3886 * dwarf2read.c (read_subroutine_type): Set special calling
3887 convention flag for functions compiled by IBM XL C for OpenCL.
3888 * ppc-sysv-tdep.c: Include "dwarf2.h"
3889 (ppc_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types
3891 (do_ppc_sysv_return_value): Add FUNC_TYPE argument. Implement
3892 IBM OpenCL vector types calling convention.
3893 (ppc_sysv_abi_return_value): Pass through FUNC_TYPE.
3894 (ppc_sysv_abi_broken_return_value): Likewise.
3895 (ppc64_sysv_abi_push_dummy_call): Implement IBM OpenCL vector
3896 types calling convention.
3897 (ppc64_sysv_abi_return_value): Likewise.
3898 * spu-tdep.c: Include "dwarf2.h"
3899 (spu_return_value): Implement IBM OpenCL vector types calling
3904 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Implement
3905 correct ABI for AltiVec vector arguments.
3909 * valprint.c (val_print): Extend comment.
3910 * ada-valprint.c (ada_valprint): Rewrite comment deferring
3911 interface explanation to val_print.
3912 (ada_val_print_array): Adjust comment to current interface.
3913 (print_field_values): Adjust comment to current interface.
3914 * c-valprint.c (c_val_print): Rewrite comment deferring interface
3915 explanation to val_print.
3916 * f-valprint.c (f_val_print): Ditto.
3917 * jv-valprint.c (java_val_print): Ditto.
3918 * m2-valprint.c (m2_val_print): Ditto.
3919 * p-valprint.c (pascal_val_print): Ditto.
3923 * breakpoint.c (parse_breakpoint_sals): Fix description.
3928 * python/py-inferior.c (python_on_normal_stop): New function.
3929 (python_on_resume): New function.
3930 (python_inferior_exit): New function.
3931 (gdbpy_initialize_inferior): Add normal_stop, target_resumed, and
3932 inferior_exit observers.
3933 * python/py-evtregistry.c: New file.
3934 * python/py-threadevent.c : New file.
3935 * python/py-event.c: New file.
3936 * python/py-evts.c: New file.
3937 * python/py-continueevent.c: New file.
3938 * python/py-bpevent.c: New file.
3939 * python/py-signalevent.c: New file.
3940 * python/py-exetiedevent.c: New file.
3941 * python/py-breakpoint.c (gdbpy_breakpoint_from_bpstats): New function.
3942 Move struct breakpoint_object from here...
3943 * python/python-internal.h: ... to here.
3944 * python/py-event.h: New file.
3945 * python/py-events.h: New file.
3946 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpointstopevent.o,
3947 py-continueevent.o, py-event.o, py-eventregistry.o, py-events.o,
3948 py-exitedevent.o, py-signalstopevent.o, and py-stopevent.o.
3949 (SUBDIR_PYTHON_SRCS): Add py-breakpointstopevent.c,
3950 py-continueevent.c, py-event.c, py-eventregistry.c, py-events.c,
3951 py-exitedevent.c, py-signalstopevent.c, and py-stopevent.c.
3952 Add build rules for all the above.
3956 * dwarf2read.c (dwarf2_section_empty_p): New function.
3957 (dwarf2_read_section): Use dwarf2_section_empty_p.
3958 (dwarf2_section_size): New function.
3959 (dwarf2_get_section_info): Unconditionally read section.
3960 (dwarf2_read_index): Use dwarf2_section_empty_p.
3961 (partial_read_comp_unit_head): Use dwarf2_section_size.
3962 (dwarf2_symbol_mark_computed): Likewise.
3966 * NEWS: Add item for "catch syscall" on mips*-linux* targets.
3970 * mips-linux-tdep.c: Include xml-syscall.h.
3971 (mips_linux_get_syscall_number): New function.
3972 (mips_linux_init_abi): Add calls to
3973 mips_linux_get_syscall_number() and set_xml_syscall_file_name().
3974 * data-directory/Makefile.in (SYSCALLS_FILES): Add
3975 mips-o32-linux.xml, mips-n32-linux.xml and mips-n64-linux.xml
3976 * syscalls/mips-n32-linux.xml: New file.
3977 * syscalls/mips-n64-linux.xml: New file.
3978 * syscalls/mips-o32-linux.xml: New file.
3982 * dwarf2read.c (dwarf2_ranges_read): Skip empty range entries.
3983 Complain about inverted range entries.
3984 (dwarf2_record_block_ranges): Likewise.
3989 * breakpoint.c (update_watchpoint): Fix name of the
3990 update_global_location_list function.
3991 (print_one_breakpoint): Fix typo.
3992 (_initialize_breakpoint): Remove extra space in hbreak help
3994 * breakpoint.h (struct bp_location) <length>: Fix field
3999 * regcache.c (registers_changed_ptid): Don't explictly always
4000 clear `current_regcache'. Only clear current_thread_ptid and
4001 current_thread_arch when PTID matches. Only reinit the frame
4002 cache if PTID matches the current inferior_ptid. Move alloca(0)
4004 (registers_changed): ... here.
4008 * arm-tdep.c (arm_skip_stack_protector): Accept any symbol that
4009 starts with __stack_chk_guard as stack guard symbol.
4013 * disasm.c (compare_lines): Handle the end of sequence markers
4014 within the line table to better support disassembling over
4015 compilation unit boundaries.
4019 * arm-tdep.c (skip_prologue_function): Add GDBARCH and IS_THUMB
4020 arguments. Skip in-prologue calls to glibc __aeabi_read_tp
4021 implementation even if no symbols are available.
4022 (thumb_analyze_prologue): Update call to skip_prologue_function.
4023 (arm_analyze_prologue): Likewise.
4027 * arm-tdep.c: Include "observer.h".
4028 (arm_prologue_this_id): Use frame PC if get_frame_func returns 0.
4029 (arm_exidx_data_key): New static variable.
4030 (struct arm_exidx_entry, arm_exidx_entry_s): New data types.
4031 (struct arm_exidx_data): Likewise.
4032 (arm_exidx_data_free): New function.
4033 (arm_compare_exidx_entries): Likewise.
4034 (arm_obj_section_from_vma): Likewise.
4035 (arm_exidx_new_objfile): Likewise.
4036 (arm_find_exidx_entry): Likewise.
4037 (arm_exidx_fill_cache): Likewise.
4038 (arm_exidx_unwind_sniffer): Likewise.
4039 (arm_exidx_unwind): New global variable.
4040 (arm_gdbarch_init): Append unwinder arm_exidx_unwind.
4041 (_initialize_arm_tdep): Attach arm_exidx_new_objfile to new_objfile
4042 observer. Register arm_exidx_data_key as objfile data.
4046 * arm-tdep.c (arm_analyze_load_stack_chk_guard): Avoid build break
4047 due to accessing uninitialized variable. Fix indentation.
4051 * c-valprint.c (c_value_print): When doing virtual base pointer
4052 adjustment, create a new value with adjusted contents rather than
4053 changing the contents of the value being printed (and getting it
4058 * xml-support.c (xml_find_attribute): New.
4059 (xinclude_start_include): Use it.
4060 * xml-support.h (xml_find_attribute): Declare.
4061 * memory-map.c (memory_map_start_memory)
4062 (memory_map_start_property): Use xml_find_attribute.
4063 * osdata.c (osdata_start_osdata, osdata_start_column): Use
4065 * remote.c (start_thread): Use xml_find_attribute.
4066 * solib-target.c (library_list_start_segment)
4067 (library_list_start_section, library_list_start_library)
4068 (library_list_start_list): Use xml_find_attribute.
4069 * xml-tdesc.c (tdesc_start_target, tdesc_start_feature)
4070 (tdesc_start_union, tdesc_start_struct, tdesc_start_flags)
4071 (tdesc_start_field): Use xml_find_attribute.
4075 * opencl-lang.c (STRINGIFY): Rename to OCL_STRING.
4076 (BUILD_OCL_VTYPES): Update.
4080 * configure.ac: Work around non-GNU sed limitation when computing
4081 python version number.
4082 * configure: Regenerate.
4086 Fix debug printing of TYPE_INSTANCE.
4087 * expprint.c (print_subexp_standard) <TYPE_INSTANCE>: New.
4088 (dump_subexp_body_standard) <TYPE_INSTANCE>: New.
4092 Fix debug printing of BINOP_IN, OP_OBJC_MSGCALL,
4093 OP_F77_UNDETERMINED_ARGLIST, OP_COMPLEX, OP_OBJC_SELECTOR, OP_NAME,
4094 OP_OBJC_NSSTRING, OP_F90_RANGE and OP_DECFLOAT.
4095 * ada-operator.inc: Rename the file to ...
4096 * ada-operator.def: ... here, wrap all the entries by macro OP.
4097 * expprint.c (op_name_standard): Remove all the entries. Include
4098 "std-operator.def" instead.
4099 * expression.h (enum exp_opcode): Include "std-operator.def" and
4100 "ada-operator.def". Move all the entries ...
4101 * std-operator.def: ... here, wrap all the entries by macro OP.
4105 * breakpoint.h (remove_jit_event_breakpoints): New prototype.
4106 * breakpoint.c (remove_jit_event_breakpoints): New function.
4107 * jit.c (jit_descriptor_addr): Delete.
4108 (registering_code): Delete.
4109 (clear_int): Delete.
4110 (jit_inferior_data): New variable.
4111 (struct jit_inferior_data): New type.
4112 (get_jit_inferior_data): New function.
4113 (jit_inferior_data_cleanup): New function.
4114 (jit_read_descriptor): Adjust.
4115 (jit_register_code): Adjust.
4116 (jit_breakpoint_re_set_internal): New function; move code here ...
4117 (jit_inferior_init): ... from here.
4118 (jit_breakpoint_re_set): Adjust.
4119 (jit_reset_inferior_data_and_breakpoints): New function.
4120 (jit_inferior_created_observer): Adjust.
4121 (jit_inferior_exit_hook): Adjust.
4122 (jit_executable_changed_observer): New function.
4123 (jit_event_handler): Adjust.
4124 (_initialize_jit): Adjust.
4128 * m32r-tdep.c (m32r_gdbarch_init): Replace accidentally deleted
4134 * python/python.c (execute_gdb_command): Call
4135 prevent_dont_repeat.
4136 * top.c (suppress_dont_repeat): New global.
4137 (dont_repeat): Use it.
4138 (prevent_dont_repeat): New function.
4139 * command.h (prevent_dont_repeat): Declare.
4143 * infcmd.c (finish_backward): Use breakpoint_set_silent.
4144 * python/py-breakpoint.c (bppy_set_silent): Use
4145 breakpoint_set_silent.
4146 (bppy_set_thread): Use breakpoint_set_thread.
4147 (bppy_set_task): Use breakpoint_set_task.
4148 * breakpoint.h (breakpoint_set_silent, breakpoint_set_thread)
4149 (breakpoint_set_task): Declare.
4150 (make_breakpoint_silent): Remove.
4151 * breakpoint.c (breakpoint_set_silent): New function.
4152 (breakpoint_set_thread): Likewise.
4153 (breakpoint_set_task): Likewise.
4154 (make_breakpoint_silent): Remove.
4158 * breakpoint.h (user_breakpoint_p): Declare.
4159 * breakpoint.c (user_breakpoint_p): New function.
4160 (breakpoint_1): Use it.
4161 (save_breakpoints): Likewise.
4165 * configure.ac: Add handling of Python distribution on Windows.
4166 * python-config.py: If the LIBS, SYSLIBS, LIBPL and/or LINKFORSHARED
4167 sysconfig variables are not defined, then do not use them.
4168 On Windows, if LIBPL is not defined, then use prefix + '/libs'
4169 instead. On Windows, return all paths using forward-slashes
4170 rather than backslashes.
4174 * configure.ac: Remove fallback behavior for building
4175 against Python. Remove tweaking of Python include path.
4176 Add PYTHON_CPPFLAGS and PYTHON_LIBS substitution.
4177 (AC_TRY_LIBPYTHON): Adjust program used in linking test.
4178 If link is successful, set PYTHON_CPPFLAGS and PYTHON_LIBS.
4179 Always restore CPPFLAGS and LIBS after linking test.
4180 * configure: Regenerated.
4181 * Makefile.in (INTERNAL_CPPFLAGS): Add @PYTHON_CPPFLAGS@.
4182 (INSTALLED_LIBS, CLIBS): Add @PYTHON_LIBS@.
4183 * python/python-internal.h: Adjust includes of Python .h files.
4187 * tracepoint.c (traceframe_walk_blocks): Add missing i18n markup
4192 * inflow.c (gdb_has_a_terminal): Fix typo in interactive_mode
4197 * arm-linux-nat.c: Update calls to regcache_register_status
4198 instead of regcache_valid_p.
4199 * aix-thread.c: Likewise.
4200 * i386gnu-nat.c: Likewise.
4205 * valops.c (compare_parameters): Verify TYPE_NFIELDS before
4206 touching TYPE_FIELD_ARTIFICIAL.
4210 * MAINTAINERS: Move myself from Responsible Maintainers to Authorized
4215 * tracepoint.c (tfile_xfer_partial): If there's no traceframe
4216 selected, don't try iterating over the traceframe's blocks.
4217 (tfile_has_stack): If there's no traceframe selected, then there's
4219 (tfile_has_registers): If there's no traceframe selected, then
4220 there's no registers.
4224 * target.c (memory_xfer_partial): No need to restore shadows if we
4225 haven't read anything.
4229 * mips-tdep.c (mips_print_register): Use get_frame_register_value
4230 and val_print_scalar_formatted.
4234 * tracepoint.c (tfile_read): New.
4235 (tfile_open): Use it.
4236 (tfile_get_traceframe_address): Use it.
4237 (tfile_trace_find): Use it.
4238 (walk_blocks_callback_func): New typedef.
4239 (match_blocktype): New function.
4240 (traceframe_walk_blocks): New function.
4241 (traceframe_find_block_type): New function.
4242 (tfile_fetch_registers, tfile_xfer_partial)
4243 (tfile_get_trace_state_variable_value): Use
4244 traceframe_find_block_type and tfile_read.
4248 * remote-mips.c: Add internationalization mark ups. Remove
4249 trailing \n from already marked up strings.
4253 * python/py-prettyprint.c (print_string_repr): Clear
4254 'addressprint' option when calling val_print_string.
4255 (print_children): Handle Val_pretty_default. Clear 'addressprint'
4256 option when calling val_print_string.
4260 * python/python.c (gdbpy_solib_name): Use gdb_py_longest and
4262 * python/python-internal.h (GDB_PY_LL_ARG, GDB_PY_LLU_ARG): New
4264 (gdb_py_longest, gdb_py_ulongest): New typedefs.
4265 (gdb_py_long_from_longest, gdb_py_long_from_ulongest)
4266 (gdb_py_long_as_ulongest): New defines.
4267 (gdb_py_object_from_longest, gdb_py_object_from_ulongest)
4268 (gdb_py_int_as_long): Declare.
4269 * python/py-value.c (valpy_lazy_string): Use gdb_py_longest,
4270 GDB_PY_LL_ARG, gdb_py_object_from_longest.
4271 (valpy_long): Add comment.
4272 * python/py-utils.c (get_addr_from_python): Use
4273 gdb_py_long_as_ulongest. Handle overflow properly.
4274 (gdb_py_object_from_longest): New function.
4275 (gdb_py_object_from_ulongest): Likewise.
4276 (gdb_py_int_as_long): Likewise.
4277 * python/py-type.c (typy_array): Use gdb_py_int_as_long.
4278 * python/py-symtab.c (salpy_get_pc): Use
4279 gdb_py_long_from_ulongest.
4280 (salpy_get_line): Use PyInt_FromLong.
4281 * python/py-param.c (set_parameter_value): Use
4283 * python/py-lazy-string.c (stpy_get_address): Use
4284 gdb_py_long_from_ulongest.
4285 * python/py-frame.c (frapy_pc): Use gdb_py_long_from_ulongest.
4286 * python/py-cmd.c (cmdpy_completer): Use gdb_py_int_as_long.
4287 * python/py-breakpoint.c (bppy_set_thread): Use
4289 (bppy_set_task): Likewise.
4290 (bppy_set_ignore_count): Likewise.
4291 (bppy_set_hit_count): Likewise.
4292 * python/py-block.c (blpy_get_start): Use
4293 gdb_py_object_from_ulongest.
4294 (blpy_get_end): Likewise.
4295 (gdbpy_block_for_pc): Use gdb_py_ulongest and GDB_PY_LLU_ARG.
4300 * gdb/objfiles.h (struct objfile) <addr_low>: New field.
4301 * gdb/solib.c (solib_read_symbols): Check for addr_low in
4302 equality test for objfile, initialize addr_low if needed.
4306 * tui/tui-regs.c (tui_register_format): Remove dead code.
4310 * printcmd.c (print_formatted): Use val_print_scalar_formatted
4311 instead of print_scalar_formatted.
4312 (print_scalar_formatted): Don't handle 's' format strings here,
4313 and add an assertion that we never see such format here.
4314 * valprint.h (val_print_scalar_formatted): Declare.
4315 * valprint.c (val_print_scalar_formatted): New.
4316 * c-valprint.c (c_val_print): Use val_print_scalar_formatted
4317 instead of print_scalar_formatted.
4318 * jv-valprint.c (java_val_print): Ditto.
4319 * p-valprint.c (pascal_val_print): Ditto.
4320 * ada-valprint.c (ada_val_print_1): Ditto.
4321 * f-valprint.c (f_val_print): Ditto.
4322 * infcmd.c (registers_info): Ditto.
4323 * m2-valprint.c (m2_val_print): Ditto.
4327 * m2-valprint.c (print_unbounded_array): Pass
4328 value_contents_for_printing rather than value_contents, to
4329 m2_print_array_contents. Also pass in the value.
4333 * dwarf2read.c (dwarf2_read_index, write_psymtabs_to_index)
4334 (save_gdb_index_command): Switch to .gdb_index version 4.
4338 * mi/mi-main.c (get_register): Use get_frame_register_value rather
4339 than frame_register, and always pass a valid value to val_print.
4343 Centralize printing "<optimized out>".
4345 * valprint.h (val_print_optimized_out): Declare.
4346 * cp-valprint.c (cp_print_value_fields): Use
4347 val_print_optimized_out.
4348 * jv-valprint.c (java_print_value_fields): Ditto.
4349 * p-valprint.c (pascal_object_print_value_fields): Ditto.
4350 * printcmd.c (print_formatted): Ditto.
4351 * valprint.c (valprint_check_validity): Ditto.
4352 (value_check_printable): Ditto.
4353 (val_print_optimized_out): New.
4357 * infcmd.c (default_print_registers_info): Allocate values so to
4358 never pass a NULL value to val_print.
4362 * cp-valprint.c (cp_print_value): Treat the 'skip' local as
4363 boolean. Make sure to always pass a value that matches the
4364 contents buffer to callees. Preserve `address' for following
4366 * value.c (value_contents_for_printing_const): New.
4367 (value_address): Constify value argument.
4368 * value.h (value_contents_for_printing_const): Declare.
4369 (value_address): Constify value argument.
4373 * regcache.c (struct regcache_descr): Rename
4374 sizeof_raw_register_valid_p field to sizeof_raw_register_status,
4375 and sizeof_cooked_register_valid_p to
4376 sizeof_cooked_register_status.
4377 (init_regcache_descr): Adjust.
4378 (struct regcache): Rename register_valid_p field to
4380 (regcache_xmalloc_1, regcache_xfree, regcache_save)
4381 (do_cooked_read): Adjust.
4382 (regcache_valid_p): Rename to ...
4383 (regcache_register_status): ... this. Adjust.
4384 (regcache_invalidate): Adjust.
4385 (regcache_raw_read, regcache_cooked_read, regcache_raw_write):
4387 (regcache_raw_supply): Adjust. If buf i NULL, mark the register
4388 as unavailable, not valid.
4389 (regcache_dump): Adjust.
4390 * regcache.h (enum register_status): New.
4391 (regcache_register_status): Declare.
4392 (regcache_invalidate): Delete declaration.
4393 * corelow.c (get_core_registers): Adjust.
4394 * tracepoint.c (tfile_fetch_registers): Adjust.
4395 * trad-frame.c (REG_VALUE): Rename to ...
4396 (TF_REG_VALUE): ... this.
4397 (REG_UNKNOWN): Rename to ...
4398 (TF_REG_UNKNOWN): ... this.
4399 (trad_frame_set_value, trad_frame_set_unknown): Adjust.
4400 * mi/mi-main.c (register_changed_p): Adjust.
4404 * regcache.c (struct regcache_descr): Remove outdated comment.
4405 (init_regcache_descr): Remove sizeof_raw_register_valid_p
4407 (regcache_xmalloc): Rename to ...
4408 (regcache_xmalloc_1): ... this. Add `readonly_p' parameter.
4409 Allocate the regcache type accordingly.
4410 (regcache_xmalloc): New as wrapper around regcache_xmalloc_1.
4411 (regcache_xfree): Asser the source is also readonly. Copy sizeof
4412 cooked registers, not raw.
4413 (regcache_dup_no_passthrough): Delete.
4414 (get_thread_arch_regcache): Use regcache_xmalloc_1.
4415 * h8300-tdep.c (h8300_push_dummy_call): Tweak comment to not
4416 mention obsolete write_register_bytes.
4417 * regcache.h (regcache_dup_no_passthrough): Delete declaration.
4421 Stop remote_read_bytes from handling partial reads itself.
4423 * remote-fileio.c: Include target.h.
4424 (remote_fileio_write_bytes): Delete.
4425 (remote_fileio_func_open, remote_fileio_func_write)
4426 (remote_fileio_func_rename, remote_fileio_func_unlink): Use
4428 (remote_fileio_func_stat): Use target_read_memory and
4429 target_write_memory.
4430 (remote_fileio_func_gettimeofday): Use target_write_memory.
4431 (remote_fileio_func_system): Use target_read_memory.
4432 * remote.c (remote_write_bytes): Make it static.
4433 (remote_read_bytes): Don't handle partial reads here.
4434 * remote.h (remote_read_bytes): Delete declaration.
4438 Simplify XML parsing a bit.
4440 * xml-support.h (gdb_xml_parse_quick): Declare.
4441 * xml-support.c (gdb_xml_create_parser_and_cleanup_1): Renamed
4442 from gdb_xml_create_parser_and_cleanup, and added `old_chain'
4444 (gdb_xml_create_parser_and_cleanup): Reimplement on top of
4445 gdb_xml_create_parser_and_cleanup_1.
4446 (gdb_xml_parse_quick): New.
4447 * memory-map.c (parse_memory_map): Use gdb_xml_parse_quick.
4448 * osdata.c (osdata_parse): Ditto.
4449 * remote.c (remote_threads_info): Ditto.
4450 * solib-target.c (solib_target_parse_libraries): Ditto.
4451 * xml-syscall.c (syscall_parse_xml): Ditto.
4452 * xml-tdesc.c (tdesc_parse_xml): Ditto.
4456 * configure.tgt (mips*-*-elf): New; just like mips*-*-*, but
4457 with remote-mips.o added to gdb_target_obs.
4458 * Makefile.in (ALL_TARGET_OBS): Add remote-mips.o.
4462 * ada-valprint.c (val_print_packed_array_elements): Pass the
4463 correct struct value to val_print.
4464 (ada_val_print_1): Ditto.
4468 Don't lose embedded_offset in printing routines throughout.
4470 * valprint.h (val_print_array_elements): Change prototype.
4471 * valprint.c (val_print_array_elements): Add `embedded_offset'
4472 parameter, and adjust to pass it down to val_print, while passing
4473 `valaddr' or `address' unmodified. Take embedded_offset into
4474 account when checking repetitions.
4475 * c-valprint.c (c_val_print): Pass embedded_offset to
4476 val_print_array_elements instead of adjusting `valaddr' and
4478 * m2-valprint.c (m2_print_array_contents, m2_val_print): Pass
4479 embedded_offset to val_print_array_elements instead of adjusting
4481 * p-lang.h (pascal_object_print_value_fields): Adjust prototype.
4482 * p-valprint.c (pascal_val_print): Pass embedded_offset to
4483 val_print_array_elements and pascal_object_print_value_fields
4484 instead of adjusting `valaddr'.
4485 (pascal_object_print_value_fields): Add `offset' parameter, and
4487 (pascal_object_print_value): Add `offset' parameter, and adjust to
4489 (pascal_object_print_static_field): Use
4490 value_contents_for_printing/value_embedded_offset, rather than
4492 * ada-valprint.c (val_print_packed_array_elements): Add `offset'
4493 parameter, and adjust to use it. Use
4494 value_contents_for_printing/value_embedded_offset, rather than
4496 (ada_val_print): Rename `valaddr0' parameter to `valaddr'.
4497 (ada_val_print_array): Add `offset' parameter, and adjust to use
4499 (ada_val_print_1): Rename `valaddr0' parameter to `valaddr', and
4500 `embedded_offset' to `offset'. Don't re-adjust `valaddr'.
4501 Instead work with offsets. Use
4502 value_contents_for_printing/value_embedded_offset, rather than
4503 value_contents. Change `defer_val_int' local type to CORE_ADDR,
4504 and use value_from_pointer to extract a target pointer, rather
4505 than value_from_longest.
4506 (print_variant_part): Add `offset' parameter. Replace
4507 `outer_valaddr' parameter by a new `outer_offset' parameter.
4508 Don't re-adjust `valaddr'. Instead pass down adjusted offsets.
4509 (ada_value_print): Use
4510 value_contents_for_printing/value_embedded_offset, rather than
4512 (print_record): Add `offset' parameter, and adjust to pass it
4514 (print_field_values): Add `offset' parameter. Replace
4515 `outer_valaddr' parameter by a new `outer_offset' parameter.
4516 Don't re-adjust `valaddr'. Instead pass down adjusted offsets.
4517 Use value_contents_for_printing/value_embedded_offset, rather than
4519 * d-valprint.c (dynamic_array_type): Use
4520 value_contents_for_printing/value_embedded_offset, rather than
4522 * jv-valprint.c (java_print_value_fields): Add `offset' parameter.
4523 Don't re-adjust `valaddr'. Instead pass down adjusted offsets.
4524 (java_print_value_fields): Take `offset' into account. Don't
4525 re-adjust `valaddr'. Instead pass down adjusted offsets.
4526 (java_val_print): Take `embedded_offset' into account. Pass it to
4527 java_print_value_fields.
4528 * f-valprint.c (f77_print_array_1): Add `embedded_offset'
4529 parameter. Don't re-adjust `valaddr' or `address'. Instead pass
4530 down adjusted offsets.
4531 (f77_print_array): Add `embedded_offset' parameter. Pass it down.
4532 (f_val_print): Take `embedded_offset' into account.
4536 * inflow.c: Include "gdbcmd.h".
4537 (interactive_mode): New static global, moved here from top.c.
4538 (show_interactive_mode): New function, moved here from top.c.
4539 use gdb_has_a_terminal instead of input_from_terminal_p to
4540 determine the current mode.
4541 (gdb_has_a_terminal): Add handling of the "iteractive-mode"
4543 (_initialize_inflow): Add the "set/show interactive-mode"
4544 commands. Moved here from top.c, after having adjusted slightly
4546 * top.c (interactive_mode, show_interactive_mode): Delete, moved
4548 (input_from_terminal_p): Remove handling of "interactive-mode"
4549 setting, moved to infow.c.
4550 (init_main): Remove creation of the "set/show interactive-mode"
4551 commands, moved to inflow.c.
4555 * NEWS: Add entry for native ia64-hpux support.
4560 * thread.c (free_thread): Free 'name'.
4561 (print_thread_info): Emit thread name. Change CLI output.
4562 (thread_name_command): New function.
4563 (do_captured_thread_select): Emit newline.
4564 (_initialize_thread): Register 'thread name' command.
4565 * target.h (struct target_ops) <to_thread_name>: New field.
4566 (target_thread_name): New macro.
4567 * target.c (update_current_target): Handle to_thread_name.
4568 * python/py-infthread.c (thpy_get_name): New function.
4569 (thpy_set_name): Likewise.
4570 (thread_object_getset): Add "name".
4571 * linux-nat.c (linux_nat_thread_name): New function.
4572 (linux_nat_add_target): Set to_thread_name.
4573 * gdbthread.h (struct thread_info) <name>: New field.
4577 * ada-valprint.c (ada_print_scalar): Remove unsigned char downcast.
4578 (ada_val_print_1): Likewise.
4582 * rs6000-tdep.c (rs6000_skip_prologue): Make sure that the prologue
4583 upper limit address is not greater than the function end address
4584 when the upper limit could not be computed using the debugging
4589 * cli/cli-cmds.c (apropos_command): Free the compiled regex. Use
4591 * utils.c: Include gdb_regex.h.
4592 (do_regfree_cleanup): New function.
4593 (make_regfree_cleanup): Likewise.
4594 (get_regcomp_error): Likewise.
4595 * gdb_regex.h (make_regfree_cleanup, get_regcomp_error): Declare.
4599 * cli/cli-cmds.c (apropos_command): Fix formatting. Don't call
4604 * p-exp.y (intvar): New static variable, used to set CURRENT_TYPE
4605 for internal variables.
4606 (last_was_structop): New static variable.
4607 (COMPLETE): New token.
4608 (field_exp): New rule to group all '.' suffix handling.
4609 Add mark_struct_expression calls when approriate to be able
4610 to correctly find fields for completion.
4611 (yylex): Adapt to handle field completion and set INTVAR when
4616 * arm-tdep.c (arm_register_reggroup_p): FPS register is in
4617 save_reggroup, restore_reggroup and all_reggroup.
4621 * ada-valprint. (ada_printchar): Use the correct type length
4622 in call to ada_emit_char.
4623 * c-valprint.c (c_val_print): Remove cast in call to LA_PRINT_CHAR.
4627 * solib-som.h (hpux_major_release): Declare variable here.
4628 * solib-som.c: Remove <sys/utsname.h> header.
4629 (DEFAULT_HPUX_MAJOR_RELEASE): New macro.
4630 (hpux_major_release): Make global, change default value to
4631 DEFAULT_HPUX_MAJOR_RELEASE.
4632 (get_hpux_major_release): Simply return HPUX_MAJOR_RELEASE.
4633 * hppa-hpux-nat.c: Add <sys/utsname.h> include.
4634 Add "solib-som.h" header.
4635 (set_hpux_major_release): New function.
4636 (_initialize_hppa_hpux_nat): Call set_hpux_major_release.
4640 * configure.tgt (*-*-uclinux*): Match more Linux os targets
4644 * ia64-hpux-nat.c (ia64_hpux_fetch_register): Remove trailing
4645 new-line at end of warning message.
4646 (ia64_hpux_store_register): Remove trailing new-line at end of
4648 * ia64-hpux-tdep.c: Rephrase comment.
4649 * solib-ia64-hpux.c (struct dld_info): Change type of field
4650 dld_flags from "long long" to ULONGEST.
4654 * target.h (deprecated_child_ops): Delete declaration.
4655 * target.c (deprecated_child_ops): Delete definition.
4659 * Makefile.in (hpux-thread.o): Delete rule.
4660 * configure.ac: Don't check for HPUX DCE threads support.
4661 * configure, config.in: Regenerate.
4662 * hppa-hpux-nat.c (child_suppress_run): Delete.
4663 (hppa_hpux_child_can_run): Delete.
4664 (_initialize_hppa_hpux_nat): Don't override to_can_run.
4665 * hpux-thread.c: Delete.
4669 * hpux-thread.c (hpux_pid_to_str): Delete.
4673 * ada-valprint.c (ada_emit_char): Remove strange code.
4674 Check that c is <= UCHAR_MAX before passing it to isascii.
4675 (char_at): Do not assume that TYPE_LEN is either 1 or 2.
4679 * top.c (input_from_terminal_p): Restrict the use of interactive_mode
4680 to the case where instream is stdin.
4684 * ia64-tdep.h (struct regcache): Forward declare.
4685 (struct ia64_infcall_ops): New struct type.
4686 (struct gdbarch_tdep): New fields "find_global_pointer_from_solib"
4688 * ia64-tdep.c (ia64_find_global_pointer_from_dynamic_section):
4689 Renames ia64_find_global_pointer.
4690 (ia64_find_global_pointer, ia64_allocate_new_rse_frame)
4691 (ia64_store_argument_in_slot, ia64_set_function_addr: New function.
4692 (ia64_push_dummy_call): Adjust to use the new tdep ia64_infocall_ops
4694 (ia64_infcall_ops): New static global constant.
4695 (ia64_gdbarch_init): Set tdep->infcall_ops.
4696 * ia64-hpux-nat.c (ia64_hpux_xfer_solib_got): New function.
4697 (ia64_hpux_xfer_partial): Add TARGET_OBJECT_HPUX_SOLIB_GOT handing.
4698 * ia64-hpux-tdep.c: Include "regcache.h", "gdbcore.h" and "inferior.h".
4699 (ia64_hpux_dummy_code): New static global constant.
4700 (ia64_hpux_push_dummy_code, ia64_hpux_allocate_new_rse_frame)
4701 (ia64_hpux_store_argument_in_slot, ia64_hpux_set_function_addr)
4702 (ia64_hpux_dummy_id, ia64_hpux_find_global_pointer_from_solib):
4704 (ia64_hpux_infcall_ops): New static global constant.
4705 (ia64_hpux_init_abi): Install gdbarch and tdep methods needed
4706 for inferior function calls to work properly on ia64-hpux.
4710 * target.h (enum target_object): Add TARGET_OBJECT_HPUX_UREGS.
4711 * ia64-tdep.h (struct frame_info): forward declaration.
4712 (struct gdbarch_tdep): Add field size_of_register_frame.
4713 * ia64-tdep.c (ia64_access_reg): Use tdep->size_of_register_frame
4714 to determine the size of the register frame.
4715 (ia64_size_of_register_frame): New function.
4716 (ia64_gdbarch_init): Set tdep->size_of_register_frame.
4717 * ia64-hpux-tdep.c: Include "target.h" and "frame.h".
4718 (IA64_HPUX_UREG_REASON): New macro.
4719 (ia64_hpux_stopped_in_syscall, ia64_hpux_size_of_register_frame):
4721 (ia64_hpux_init_abi): Set tdep->size_of_register_frame.
4722 * ia64-hpux-nat.c (ia64_hpux_xfer_uregs): New function.
4723 (ia64_hpux_xfer_partial): Add handling of TARGET_OBJECT_HPUX_UREGS
4728 Add support for ia64-hpux.
4729 * config/ia64/hpux.mh, ia64-hpux-nat.c, ia64-hpux-tdep.c,
4730 ia64-hpux-tdep.h, solib-ia64-hpux.c, solib-ia64-hpux.h: New files.
4732 * configure.host: Add handling for ia64-hpux hosts. Add associated
4734 * configure.tgt: Add handling for ia64-hpux targets.
4735 * Makefile.in (ALL_64_TARGET_OBS): Add ia64-hpux-tdep.o.
4736 (HFILES_NO_SRCDIR): Add ia64-hpux-tdep.h.
4737 (ALLDEPFILES): Add ia64-hpux-nat.c ia64-hpux-tdep.c.
4741 [ttrace] Compute thread list immediately after attach.
4742 * inf_ttrace_attach (inf_ttrace_create_threads_after_attach):
4744 (inf_ttrace_attach): Use it.
4748 * libunwind-frame.c (libunwind_frame_cache): Do not return NULL
4749 if we could not determine the frame's function address. Instead,
4750 use the frame's PC, and then continue.
4754 * libunwind-frame.c (__LITTLE_ENDIAN, __BIG_ENDIAN): Define if
4755 not already defined.
4759 * ia64-tdep.c (ia64_struct_type_p): New function.
4760 (ia64_extract_return_value): Handle integral values that are
4761 less than 8 bytes long.
4762 (ia64_push_dummy_call): Likewise.
4766 * ia64-tdep.c (floatformat_ia64_ext_little): Renames
4767 floatformat_ia64_ext.
4768 (floatformat_ia64_ext_big): New static const.
4769 (floatformats_ia64_ext): Set first entry to &floatformat_ia64_ext_big.
4773 * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Fix error
4775 * mi/mi-main.c (mi_cmd_thread_select): Fix error messages.
4776 (mi_cmd_thread_list_ids): Likewise.
4777 (mi_cmd_data_list_changed_registers): Likewise.
4778 (mi_cmd_data_list_register_values): Likewise.
4779 (mi_cmd_data_write_register_values): Likewise.
4780 (mi_cmd_data_evaluate_expression): Likewise.
4781 (mi_cmd_data_read_memory): Likewise.
4782 (mi_cmd_data_read_memory_bytes): Likewise.
4783 (mi_cmd_data_write_memory): Likewise.
4784 (mi_cmd_enable_timings): Likewise.
4785 * mi/mi-interp.c (mi_cmd_interpreter_exec): Fix error messages.
4786 * mi/mi-cmd-var.c (mi_cmd_var_create): Fix error messages.
4787 (mi_cmd_var_delete): Likewise.
4788 (mi_cmd_var_set_format): Likewise.
4789 (mi_cmd_var_show_format): Likewise.
4790 (mi_cmd_var_info_num_children): Likewise.
4791 (mi_cmd_var_list_children): Likewise.
4792 (mi_cmd_var_info_type): Likewise.
4793 (mi_cmd_var_info_expression): Likewise.
4794 (mi_cmd_var_show_attributes): Likewise.
4795 (mi_cmd_var_assign): Likewise.
4796 (mi_cmd_var_update): Likewise.
4797 (mi_cmd_enable_pretty_printing): Likewise.
4798 (mi_cmd_var_set_update_range): Likewise.
4799 * mi/mi-cmd-target.c (mi_cmd_target_file_get): Fix error
4801 (mi_cmd_target_file_put): Likewise.
4802 (mi_cmd_target_file_delete): Likewise.
4803 * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Fix error
4805 (mi_cmd_stack_info_depth): Likewise.
4806 (mi_cmd_stack_list_locals): Likewise.
4807 (mi_cmd_stack_list_args): Likewise.
4808 (mi_cmd_stack_select_frame): Likewise.
4809 (mi_cmd_stack_select_frame): Likewise.
4810 (mi_cmd_stack_info_frame): Likewise.
4811 * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Fix error
4813 (mi_cmd_file_list_exec_source_files): Likewise.
4814 * mi/mi-cmd-env.c (mi_cmd_env_pwd): Fix error messages.
4815 (mi_cmd_env_cd): Likewise.
4816 (mi_cmd_env_path): Likewise.
4817 (mi_cmd_env_dir): Likewise.
4818 (mi_cmd_inferior_tty_show): Likewise.
4819 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Fix error messages.
4820 * mi/mi-cmd-break.c (mi_cmd_break_insert): Fix error messages.
4821 (mi_cmd_break_watch): Likewise.
4825 * ppc-linux-nat.c (booke_cmp_hw_point): Fix whitespace.
4826 (ppc_linux_insert_hw_breakpoint): Likewise.
4827 (ppc_linux_remove_hw_breakpoint): Likewise.
4828 (ppc_linux_insert_watchpoint): Likewise.
4833 PR fortran/11104 and DWARF unbound arrays detection.
4834 * dwarf2read.c (read_subrange_type): Set zero length on unspecified
4835 upper bound. Set TYPE_HIGH_BOUND_UNDEFINED if not language_ada on
4836 unspecified upper bound.
4837 * eval.c (evaluate_subexp_standard) <multi_f77_subscript>: Remove
4838 variables array_size_array, tmp_type and offset_item. New variable
4839 array. Remove call to f77_get_upperbound. New variables array_type
4840 and index. Call value_subscripted_rvalue for each dimenasion. Remove
4841 the final call to deprecated_set_value_type.
4845 Make value allocations more lazy.
4846 * ada-lang.c (coerce_unspec_val_to_type): Use allocate_value_lazy
4847 instead of allocate_value and set_value_lazy when possible.
4848 * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use allocate_value_lazy
4849 instead of allocate_value and set_value_lazy.
4850 * findvar.c (value_of_register_lazy): Likewise.
4851 (read_var_value): Remove V preallocation, call just check_typedef in
4852 advance. Move allocate_value to LOC_CONST, LOC_LABEL,
4853 LOC_CONST_BYTES. Use allocate_value_lazy in LOC_STATIC, LOC_ARG,
4854 LOC_REF_ARG, LOC_LOCAL, LOC_BLOCK. Set ADDR instead of
4855 set_value_address and break in LOC_BLOCK. Use allocate_value_lazy and
4856 remove lval_memory set in LOC_REGPARM_ADDR. Use allocate_value_lazy
4857 in LOC_UNRESOLVED and LOC_OPTIMIZED_OUT. Add setting lval_memory at
4858 the end, remove set_value_lazy there.
4859 * valarith.c (value_subscripted_rvalue): Use allocate_value_lazy
4860 instead of allocate_value and set_value_lazy when possible.
4861 * valops.c (value_fetch_lazy): Do nop for value_optimized_out VAL.
4862 * value.c (allocate_computed_value): Use allocate_value_lazy instead
4863 of allocate_value and set_value_lazy.
4864 (value_from_contents_and_address): Use allocate_value_lazy instead of
4865 allocate_value and set_value_lazy when possible.
4869 * disasm.c (dump_insns): Support dumping opcodes for MI.
4870 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Allow mode to control
4871 dumping of instruction opcodes.
4875 * configure.tgt: Detect GNU/kFreeBSD and set `gdb_osabi'
4880 * thread.c (do_captured_thread_select): Emit newline before
4885 * s390-tdep.c: Comment cleanup, mostly periods and spaces.
4886 * score-tdep.c: Ditto.
4887 * score-tdep.h: Ditto.
4888 * ser-base.c: Ditto.
4889 * ser-go32.c: Ditto.
4892 * ser-mingw.c: Ditto.
4893 * ser-pipe.c: Ditto.
4895 * ser-unix.c: Ditto.
4896 * sh64-tdep.c: Ditto.
4897 * shnbsd-nat.c: Ditto.
4901 * solib-darwin.c: Ditto.
4902 * solib-frv.c: Ditto.
4904 * solib-irix.c: Ditto.
4905 * solib-osf.c: Ditto.
4906 * solib-pa64.c: Ditto.
4907 * solib-som.c: Ditto.
4908 * solib-spu.c: Ditto.
4909 * solib-sunos.c: Ditto.
4910 * solib-svr4.c: Ditto.
4912 * sol-thread.c: Ditto.
4916 * sparc64-linux-tdep.c: Ditto.
4917 * sparc64-tdep.c: Ditto.
4918 * sparc-linux-nat.c: Ditto.
4919 * sparc-linux-tdep.c: Ditto.
4920 * sparc-sol2-nat.c: Ditto.
4921 * sparc-sol2-tdep.c: Ditto.
4922 * sparc-tdep.c: Ditto.
4923 * sparc-tdep.h: Ditto.
4924 * spu-tdep.c: Ditto.
4925 * stabsread.c: Ditto.
4926 * stabsread.h: Ditto.
4934 * target-descriptions.c: Ditto.
4935 * target-descriptions.h: Ditto.
4937 * target-memory.c: Ditto.
4938 * terminal.h: Ditto.
4941 * tracepoint.c: Ditto.
4942 * tracepoint.h: Ditto.
4943 * trad-frame.h: Ditto.
4944 * typeprint.c: Ditto.
4948 * ui-file.c: Comment cleanup, mostly periods and spaces.
4953 * v850-tdep.c: Ditto.
4954 * valarith.c: Ditto.
4956 * valprint.c: Ditto.
4957 * valprint.h: Ditto.
4962 * vax-tdep.c: Ditto.
4966 * windows-nat.c: Ditto.
4967 * windows-tdep.c: Ditto.
4968 * xcoffread.c: Ditto.
4969 * xcoffsolib.c: Ditto.
4970 * xml-support.c: Ditto.
4971 * xstormy16-tdep.c: Ditto.
4972 * xtensa-tdep.c: Ditto.
4973 * xtensa-tdep.h: Ditto.
4977 * breakpoint.c (resources_needed_watchpoint): Fix indentation.
4978 * gdbtypes.c (is_scalar_type_recursive): Fix formatting.
4983 Implement support for PowerPC BookE ranged watchpoints.
4985 (struct breakpoint_ops) <resources_needed>: New method.
4986 Initialize to NULL in all existing breakpoint_ops instances.
4987 (struct breakpoint) <exact>: New field.
4988 (target_exact_watchpoints): Declare external global.
4989 * breakpoint.c (target_exact_watchpoints): New global flag.
4990 (update_watchpoint): Set b->type to bp_hardware_watchpoint and
4991 b->enable_state to bp_enabled before calling
4992 hw_watchpoint_used_count.
4993 (hw_watchpoint_used_count): Iterate over all bp_locations in a
4994 watchpoint. Call breakpoint's breakpoint_ops.resources_needed
4996 (insert_watchpoint, remove_watchpoint): Use fixed length of 1 byte
4997 if the watchpoint is exact.
4998 (resources_needed_watchpoint): New function.
4999 (watchpoint_breakpoint_ops): Add resources_needed_watchpoint.
5000 (watch_command_1): Set b->exact if the user asked for an exact
5001 watchpoint and one can be set.
5002 (can_use_hardware_watchpoint): Add exact_watchpoints argument.
5003 Pass fixed length of 1 to target_region_ok_for_hw_watchpoint if
5004 the user asks for an exact watchpoint and one can be set. Return
5005 number of needed debug registers to watch the expression.
5006 * gdbtypes.c (is_scalar_type): New function, based on
5007 valprint.c:scalar_type_p.
5008 (is_scalar_type_recursive): New function.
5009 * gdbtypes.h (is_scalar_type_recursive): Declare.
5010 * ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Always
5011 handle regions when ranged watchpoints are available.
5012 (create_watchpoint_request): New function.
5013 (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint): Use
5014 create_watchpoint_request.
5015 * rs6000-tdep.c (show_powerpc_exact_watchpoints): New function.
5016 (_initialize_rs6000_tdep): Add `exact-watchpoints' boolean to the
5017 `set powerpc' and `show powerpc' commands.
5018 * target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>:
5019 Mention documentation comment in the target macro.
5020 (target_region_ok_for_hw_watchpoint): Document return value.
5024 * breakpoint.c (update_watchpoint): Decide on using a software or
5025 hardware watchpoint after the bp_locations are created.
5029 Convert hardware watchpoints to use breakpoint_ops.
5030 * breakpoint.h (breakpoint_ops) <insert>: Rename to...
5031 <insert_location>: ... this. Return int instead of void.
5032 Accept pointer to struct bp_location instead of pointer to
5033 struct breakpoint. Adapt all implementations.
5034 (breakpoint_ops) <remove>: Rename to...
5035 <remove_location>: ... this. Accept pointer to struct bp_location
5036 instead of pointer to struct breakpoint. Adapt all implementations.
5037 * breakpoint.c (insert_catchpoint): Delete function.
5038 (insert_bp_location): Call the watchpoint or catchpoint's
5039 breakpoint_ops.insert method.
5040 (remove_breakpoint_1): Call the watchpoint or catchpoint's
5041 breakpoint_ops.remove method.
5042 (insert_watchpoint, remove_watchpoint): New functions.
5043 (watchpoint_breakpoint_ops): New structure.
5044 (watch_command_1): Initialize the OPS field.
5045 * inf-child.c (inf_child_insert_fork_catchpoint)
5046 (inf_child_remove_fork_catchpoint, inf_child_insert_vfork_catchpoint)
5047 (inf_child_remove_vfork_catchpoint, inf_child_insert_exec_catchpoint)
5048 (inf_child_remove_exec_catchpoint, inf_child_set_syscall_catchpoint):
5050 (inf_child_target): Remove initialization of to_insert_fork_catchpoint,
5051 to_remove_fork_catchpoint, to_insert_vfork_catchpoint,
5052 to_remove_vfork_catchpoint, to_insert_exec_catchpoint,
5053 to_remove_exec_catchpoint and to_set_syscall_catchpoint.
5054 * target.c (update_current_target): Change default implementation of
5055 to_insert_fork_catchpoint, to_remove_fork_catchpoint,
5056 to_insert_vfork_catchpoint, to_remove_vfork_catchpoint,
5057 to_insert_exec_catchpoint, to_remove_exec_catchpoint and
5058 to_set_syscall_catchpoint to return_one.
5059 (debug_to_insert_fork_catchpoint, debug_to_insert_vfork_catchpoint)
5060 (debug_to_insert_exec_catchpoint): Report return value.
5061 * target.h (to_insert_fork_catchpoint, to_insert_vfork_catchpoint)
5062 (to_insert_exec_catchpoint): Change declaration to return int instead
5067 * arm-tdep.c: Internationalization.
5070 * fork-child.c: Ditto.
5071 * nto-procfs.c: Ditto.
5072 * ppc-sysv-tdep.c: Ditto.
5074 * remote-mips.c: Ditto.
5076 * rs6000-nat.c: Ditto.
5077 * rs6000-tdep.c: Ditto.
5081 * xml-support.c: Ditto.
5082 * mi/mi-cmd-break.c: Ditto.
5083 * mi/mi-cmd-var.c: Ditto.
5084 * mi/mi-interp.c: Ditto.
5085 * mi/mi-main.c: Ditto.
5089 * remote-sim.c (gdbsim_store_register): Update API to
5090 sim_store_register to check more error conditions.
5094 * nto-procfs.c: Comment cleanup, mostly periods and spaces.
5095 * nto-tdep.c: Ditto.
5096 * nto-tdep.h: Ditto.
5097 * objc-exp.y: Ditto.
5098 * objc-lang.c: Ditto.
5099 * objfiles.c: Ditto.
5100 * objfiles.h: Ditto.
5101 * observer.c: Ditto.
5102 * opencl-lang.c: Ditto.
5105 * parser-defs.h: Ditto.
5108 * posix-hdep.c: Ditto.
5109 * ppcbug-rom.c: Ditto.
5110 * ppc-linux-nat.c: Ditto.
5111 * ppc-linux-tdep.c: Ditto.
5112 * ppc-linux-tdep.h: Ditto.
5113 * ppcnbsd-tdep.c: Ditto.
5114 * ppcobsd-tdep.c: Ditto.
5115 * ppcobsd-tdep.h: Ditto.
5116 * ppc-sysv-tdep.c: Ditto.
5117 * ppc-tdep.h: Ditto.
5118 * printcmd.c: Ditto.
5119 * proc-abi.c: Ditto.
5120 * proc-flags.c: Ditto.
5122 * proc-utils.h: Ditto.
5123 * progspace.h: Ditto.
5124 * prologue-value.c: Ditto.
5125 * prologue-value.h: Ditto.
5126 * psympriv.h: Ditto.
5128 * p-typeprint.c: Ditto.
5129 * p-valprint.c: Ditto.
5130 * ravenscar-sparc-thread.c: Ditto.
5131 * ravenscar-thread.c: Ditto.
5132 * ravenscar-thread.h: Ditto.
5134 * regcache.c: Ditto.
5135 * regcache.h: Ditto.
5137 * remote-fileio.c: Ditto.
5138 * remote-fileio.h: Ditto.
5140 * remote-m32r-sdi.c: Ditto.
5141 * remote-mips.c: Ditto.
5142 * remote-sim.c: Ditto.
5143 * rs6000-aix-tdep.c: Ditto.
5144 * rs6000-nat.c: Ditto.
5145 * rs6000-tdep.c: Ditto.
5149 * charset.c (validate): Internationalization.
5150 * coffread.c (read_one_sym): Ditto.
5151 * dwarf2read.c (dwarf2_attach_fields_to_type): Ditto.
5152 * h8300-tdep.c (H8300_extract_return_value): Ditto.
5153 * inflow.c (new_tty): Ditto.
5154 * iq2000-tdep.c (iq2000_breakpoint_from_pc): Ditto.
5155 * m32c-tdep.c (m32c_return_value): Ditto.
5156 * mep-tdep.c (mep_store_return_value): Ditto.
5157 * score-tdep.c (score7_fetch_insn): Ditto.
5158 * ser-mingw.c (pipe_windows_open): Ditto.
5159 * sh64-tdep.c (sh64_extract_return_value): Ditto.
5160 * spu-tdep.c (spu_register_type): Ditto.
5161 * tracepoint.c (trace_find_command): Ditto.
5162 * valarith.c (value_pos): Ditto.
5166 * ada-valprint.c (printstr): Minor comment reformatting.
5170 * m32r-rom.c (m32r_upload_command): Fix up ARI warnings for _
5175 * h8300-tdep.c: Comment cleanup, mostly periods and spaces.
5176 * hppa-hpux-tdep.c: Ditto.
5177 * hppa-linux-nat.c: Ditto.
5178 * hppa-linux-tdep.c: Ditto.
5179 * hppanbsd-tdep.c: Ditto.
5180 * hppa-tdep.c: Ditto.
5181 * hppa-tdep.h: Ditto.
5182 * hpux-thread.c: Ditto.
5183 * i386-cygwin-tdep.c: Ditto.
5184 * i386-darwin-nat.c: Ditto.
5185 * i386gnu-nat.c: Ditto.
5186 * i386-linux-nat.c: Ditto.
5187 * i386-linux-tdep.c: Ditto.
5188 * i386-nat.c: Ditto.
5189 * i386-nat.h: Ditto.
5190 * i386nbsd-tdep.c: Ditto.
5191 * i386-sol2-nat.c: Ditto.
5192 * i386-stub.c: Ditto.
5193 * i386-tdep.c: Ditto.
5194 * i386-tdep.h: Ditto.
5195 * i387-tdep.c: Ditto.
5196 * ia64-linux-nat.c: Ditto.
5197 * ia64-linux-tdep.c: Ditto.
5198 * ia64-tdep.c: Ditto.
5202 * inferior.c: Ditto.
5203 * inferior.h: Ditto.
5209 * iq2000-tdep.c: Ditto.
5210 * irix5-nat.c: Ditto.
5216 * jv-typeprint.c: Ditto.
5217 * jv-valprint.c: Ditto.
5218 * language.c: Ditto.
5219 * language.h: Ditto.
5220 * linespec.c: Ditto.
5221 * linux-fork.c: Ditto.
5222 * linux-nat.c: Ditto.
5223 * linux-thread-db.c: Ditto.
5224 * lm32-tdep.c: Ditto.
5228 * m2-exp.y: Comment cleanup, mostly periods and spaces.
5230 * m2-typeprint.c: Ditto.
5231 * m2-valprint.c: Ditto.
5232 * m32c-tdep.c: Ditto.
5233 * m32r-linux-nat.c: Ditto.
5234 * m32r-rom.c: Ditto.
5235 * m32r-tdep.c: Ditto.
5236 * m32r-tdep.h: Ditto.
5237 * m68hc11-tdep.c: Ditto.
5238 * m58klinux-nat.c: Ditto.
5239 * m68k-tdep.c: Ditto.
5240 * m88k-tdep.c: Ditto.
5241 * m88k-tdep.h: Ditto.
5242 * machoread.c: Ditto.
5243 * macrocmd.c: Ditto.
5244 * macroexp.c: Ditto.
5245 * macrotab.c: Ditto.
5248 * mdebugread.c: Ditto.
5249 * mdebugread.h: Ditto.
5252 * memory-map.h: Ditto.
5253 * mep-tdep.c: Ditto.
5254 * microblaze-rom.c: Ditto.
5255 * microblaze-tdep.c: Ditto.
5257 * mips-irix-tdep.c: Ditto.
5258 * mips-linux-nat.c: Ditto.
5259 * mips-linux-tdep.c: Ditto.
5260 * mips-linux-tdep.h: Ditto.
5261 * mipsnbsd-nat.c: Ditto.
5262 * mipsnbsd-tdep.c: Ditto.
5263 * mipsread.c: Ditto.
5264 * mips-tdep.c: Ditto.
5265 * mips-tdep.h: Ditto.
5266 * mn10300-linux-tdep.c: Ditto.
5267 * mn10300-tdep.c: Ditto.
5268 * mn10300-tdep.h: Ditto.
5271 * moxie-tdep.c: Ditto.
5272 * moxie-tdep.h: Ditto.
5277 * bfin-tdep.h (BFIN_A0_DOT_W_REGNUM): Fix typo in name.
5281 * fbsd-nat.c (fbsd_find_memory_regions): Fix typo.
5285 * charset.c (_initialize_charset): Fix typo in string.
5289 * mi/mi-cmd-disas.c (mi_cmd_disassemble): Mark up error message
5291 * tui/tui-layout.c (tui_set_layout_for_display_command):
5292 Split line so that operator goes to beginning of line.
5293 * tui/tui-winsource.c (tui_horizontal_source_scroll): Move
5294 assignment out of if statement.
5298 * ada-lang.c: Comment cleanup, mostly periods and spaces.
5299 * ada-lang.h: Ditto.
5300 * ada-tasks.c: Ditto.
5301 * ada-valprint.c: Ditto.
5302 * aix-threads.c: Ditto.
5303 * alpha-linux-nat.c: Ditto.
5304 * alpha-linux-tdep.c: Ditto.
5305 * alpha-mdebug-tdep.c: Ditto.
5306 * alpha-nat.c: Ditto.
5307 * alpha-osf1-tdep.c: Ditto.
5308 * alpha-tdep.c: Ditto.
5309 * alphabsd-nat.c: Ditto.
5310 * alphabsd-tdep.c: Ditto.
5311 * amd64-darwin-tdep.c: Ditto.
5312 * amd64-linux-nat.c: Ditto.
5313 * amd64-linux-tdep.c: Ditto.
5314 * amd64-sol2-tdep.c: Ditto.
5315 * amd64-tdep.c: Ditto.
5316 * amd64-fbsd-tdep.c: Ditto.
5317 * amd64-nbsd-tdep.c: Ditto.
5318 * amd64-obsd-tdep.c: Ditto.
5319 * amd64-linux-nat.c: Ditto.
5320 * amd64-linux-tdep.c: Ditto.
5321 * arm-tdep.c: Ditto.
5322 * arm-tdep.h: Ditto.
5323 * armnbsd-nat.c: Ditto.
5324 * avr-tdep.c: Ditto.
5325 * bfin-tdep.c: Ditto.
5327 * c-typeprintc: Ditto.
5328 * c-valprint.c: Ditto.
5329 * coff-pe-read.h: Ditto.
5330 * coffreead.c: Ditto.
5331 * cris-tdep.c: Ditto.
5333 * darwin-nat-info.c: Ditto.
5334 * darwin-nat.c: Ditto.
5335 * dbug-rom.c: Ditto.
5339 * dec-thread.c: Ditto.
5341 * demangle.c: Ditto.
5342 * dicos-tdep.c: Ditto.
5343 * dictionary.c: Ditto.
5344 * dictionary.h: Ditto.
5345 * dink32-rom.c: Ditto.
5347 * doublest.c: Ditto.
5349 * dummy-frame.c: Ditto.
5350 * dwarf2-frame.c: Ditto.
5351 * dwarf2expr.c: Ditto.
5352 * dwarf2loc.c: Ditto.
5353 * dwarf2read.c: Ditto.
5357 * event-top.h: Ditto.
5358 * exceptions.c: Ditto.
5359 * exceptions.h: Ditto.
5361 * expprint.c: Ditto.
5362 * expression.h: Ditto.
5366 * f-typeprint.c: Ditto.
5367 * f-valprint.c: Ditto.
5368 * fbsd-nat.c: Ditto.
5370 * fork-child.c: Ditto.
5373 * frv-linux-tdep.c: Ditto.
5374 * frv-tdep.c: Ditto.
5376 * gdb-stabs.h: Ditto.
5377 * gdb_assert.h: Ditto.
5378 * gdb_string.h: Ditto.
5379 * gdb_thread_db.h: Ditto.
5380 * gdb_wait.h: Ditto.
5381 * gdbarch.sh: Ditto.
5383 * gdbthread.h: Ditto.
5384 * gdbtypes.c: Ditto.
5385 * gdbtypes.h: Ditto.
5388 * gnu-v2-abi.c: Ditto.
5389 * gnu-v3-abi.c: Ditto.
5390 * go32-nat.c: Ditto.
5391 * gdbarch.c: Regenerate.
5392 * gdbarch.h: Regenerate.
5396 * ax-gdb.c: Adjust some long output strings.
5397 * breakpoint.c: Ditto.
5402 * linux-nat.c: Ditto.
5403 * solib-pa64.c: Ditto.
5404 * solib-som.c: Ditto.
5410 * python/python.c (GdbMethods): Add "newest_frame" method.
5411 * python/python-internal.h (gdbpy_newest_frame): Declare.
5412 * python/py-frame.c (gdbpy_newest_frame): New function.
5416 * jit.h (struct jit_code_entry): use ULONGEST for symfile_size.
5417 * jit.c (jit_debug): New variable.
5418 (show_jit_debug): New function.
5419 (struct target_buffer): Use ULONGEST.
5420 (bfd_open_from_target_memory): Likewise.
5421 (jit_register_code, jit_inferior_init): Add debug output.
5422 (_initialize_jit): Register "debug jit" command.
5426 * frame.h (enum frame_type) <INLINE_FRAME>: Fix comment.
5427 * python/py-frame.c (gdbpy_initialize_frames): Add INLINE_FRAME
5432 * python/py-frame.c (frapy_block): Use get_frame_block.
5436 Do not stop on SIGPRIO signals by default
5437 * infrun.c (_initialize_infrun): Unset signal_stop and
5438 signal_print for TARGET_SIGNAL_PRIO.
5442 * ada-tasks.c: Fix style violation in comment.
5446 * linespec.c (decode_compound, find_method): Remove trailing \n
5447 at end of error string.
5448 * solib-irix.c (irix_current_sos): Likewise.
5449 * varobj.c (uninstall_variable): Likewise.
5453 * copyright.py: New script.
5454 * copyright.sh (byhand): Add *.ads, *.adb, *.gpr and *.inc.
5455 Launch emacs without exec'ing. Call copyright.py afterwards.
5459 * addrmap.c: Shorten lines of >= 80 columns.
5460 * arch-utils.c: Ditto.
5461 * arch-utils.h: Ditto.
5463 * ax-general.c: Ditto.
5465 * blockframe.c: Ditto.
5466 * breakpoint.c: Ditto.
5467 * buildsym.c: Ditto.
5469 * c-typeprint.c: Ditto.
5471 * coffread.c: Ditto.
5475 * cp-namespace.c: Ditto.
5476 * cp-support.c: Ditto.
5477 * dbug-rom.c: Ditto.
5482 * dictionary.c: Ditto.
5484 * doublest.c: Ditto.
5485 * dwarf2-frame.c: Ditto.
5486 * dwarf2expr.c: Ditto.
5487 * dwarf2loc.c: Ditto.
5488 * dwarf2read.c: Ditto.
5491 * event-loop.c: Ditto.
5492 * event-loop.h: Ditto.
5493 * exceptions.h: Ditto.
5495 * expprint.c: Ditto.
5496 * expression.h: Ditto.
5498 * f-valprint.c: Ditto.
5500 * frame-base.c: Ditto.
5501 * frame-unwind.c: Ditto.
5502 * frame-unwind.h: Ditto.
5506 * gdb-stabs.h: Ditto.
5507 * gdb_assert.h: Ditto.
5508 * gdb_dirent.h: Ditto.
5509 * gdb_obstack.h: Ditto.
5511 * gdbtypes.c: Ditto.
5512 * gdbtypes.h: Ditto.
5513 * inf-ttrace.c: Ditto.
5518 * inline-frame.h: Ditto.
5519 * language.c: Ditto.
5520 * language.h: Ditto.
5521 * libunwind-frame.c: Ditto.
5522 * libunwind-frame.h: Ditto.
5523 * linespec.c: Ditto.
5524 * linux-nat.c: Ditto.
5525 * linux-nat.h: Ditto.
5526 * linux-thread-db.c: Ditto.
5527 * machoread.c: Ditto.
5528 * macroexp.c: Ditto.
5529 * macrotab.c: Ditto.
5532 * mdebugread.c: Ditto.
5537 * objfiles.c: Ditto.
5538 * objfiles.h: Ditto.
5540 * p-typeprint.c: Ditto.
5541 * p-valprint.c: Ditto.
5543 * printcmd.c: Ditto.
5544 * proc-events.c: Ditto.
5546 * progspace.c: Ditto.
5547 * progspace.h: Ditto.
5548 * psympriv.h: Ditto.
5551 * regcache.c: Ditto.
5552 * regcache.h: Ditto.
5553 * remote-fileio.c: Ditto.
5555 * ser-mingw.c: Ditto.
5557 * ser-unix.c: Ditto.
5560 * solib-frv.c: Ditto.
5561 * solib-irix.c: Ditto.
5562 * solib-osf.c: Ditto.
5563 * solib-pa64.c: Ditto.
5564 * solib-som.c: Ditto.
5565 * solib-sunos.c: Ditto.
5566 * solib-svr4.c: Ditto.
5567 * solib-target.c: Ditto.
5571 * stabsread.c: Ditto.
5572 * stabsread.c: Ditto.
5575 * symfile-mem.c: Ditto.
5581 * target-descriptions.c: Ditto.
5582 * target-memory.c: Ditto.
5585 * terminal.h: Ditto.
5588 * tracepoint.c: Ditto.
5589 * tracepoint.h: Ditto.
5593 * user-regs.c: Ditto.
5594 * user-regs.h: Ditto.
5596 * valarith.c: Ditto.
5598 * valprint.c: Ditto.
5599 * valprint.h: Ditto.
5604 * xcoffread.c: Ditto.
5605 * xcoffsolib.c: Ditto.
5606 * xcoffsolib.h: Ditto.
5607 * xml-syscall.c: Ditto.
5608 * xml-tdesc.c: Ditto.
5612 * cli/cli-cmds.c: Shorten lines of >= 80 columns.
5613 * cli/cli-decode.c: Ditto.
5614 * cli/cli-dump.c: Ditto.
5615 * cli/cli-logging.c: Ditto.
5616 * cli/cli-script.c: Ditto.
5617 * cli/cli-setshow.c: Ditto.
5618 * common/signals.c: Ditto.
5619 * mi/mi-cmd-break.c: Ditto.
5620 * mi/mi-cmd-disas.c: Ditto.
5621 * mi/mi-cmd-stack.c: Ditto.
5622 * mi/mi-cmd-var.c: Ditto.
5623 * mi/mi-cmds.c: Ditto.
5624 * mi/mi-common.h: Ditto.
5625 * mi/mi-console.c: Ditto.
5626 * mi/mi-interp.c: Ditto.
5627 * mi/mi-main.c: Ditto.
5628 * osf-share/cma_attr.c: Ditto.
5629 * osf-share/cma_deb_core.h: Ditto.
5630 * osf-share/cma_debug_client.h: Ditto.
5631 * osf-share/cma_handle.h: Ditto.
5632 * osf-share/cma_mutex.h: Ditto.
5633 * osf-share/cma_stack_int.h: Ditto.
5634 * osf-share/cma_tcb_defs.h: Ditto.
5635 * python/py-auto-load.c: Ditto.
5636 * python/py-breakpoint.c: Ditto.
5637 * python/py-cmd.c: Ditto.
5638 * python/py-frame.c: Ditto.
5639 * python/py-objfile.c: Ditto.
5640 * python/py-param.c: Ditto.
5641 * python/py-progspace.c: Ditto.
5642 * python/py-symbol.c: Ditto.
5643 * python/py-value.c: Ditto.
5644 * python/python-internal.h: Ditto.
5645 * python/python.c: Ditto.
5646 * tui/tui-data.c: Ditto.
5647 * tui/tui-disasm.c: Ditto.
5648 * tui/tui-hooks.c: Ditto.
5649 * tui/tui-io.c: Ditto.
5650 * tui/tui-layout.c: Ditto.
5651 * tui/tui-regs.c: Ditto.
5652 * tui/tui-source.c: Ditto.
5653 * tui/tui-stack.c: Ditto.
5654 * tui/tui-win.c: Ditto.
5655 * tui/tui-windata.c: Ditto.
5656 * tui/tui-winsource.c: Ditto.
5660 * configure.ac, gdb.1: Copyright year update.
5664 * frame.c (get_prev_frame_1) <UNWIND_INNER_ID>: New variables
5665 this_pc_in_block, morestack_msym and morestack_name. Check for
5666 "__morestack" minimal symbol there.
5670 * symfile.c (find_sym_fns): Add call to dont_repeat.
5674 Copyright year update in most files (performed by copyright.sh).
5678 * top.c (print_gdb_version): Update copyright year in version output.
5680 For older changes see ChangeLog-2010.
5686 version-control: never