4 * infcmd.c (attach_command): Move ARGS_CHAIN cleanup after last ARGS
9 * nat/gdb_thread_db.h (td_init_ftype, td_ta_new_ftype)
10 (td_ta_map_lwp2thr_ftype, td_ta_thr_iter_ftype)
11 (td_ta_event_addr_ftype, td_ta_set_event_ftype)
12 (td_ta_clear_event_ftype, td_ta_event_getmsg_ftype)
13 (td_thr_validate_ftype, td_thr_get_info_ftype)
14 (td_thr_event_enable_ftype, td_thr_tls_get_addr_ftype)
15 (td_thr_tlsbase_ftype, td_symbol_list_ftype, td_ta_delete_ftype):
17 * linux-thread-db.c (struct thread_db_info): Use new typedefs.
18 (try_thread_db_load_1): Define TDB_VERBOSE_DLSYM, TDB_DLSYM , CHK
19 local macros and use them instead of verbose_dlsym and dlsym
24 * nios2-tdep.h: Include opcode/nios2.h here.
25 (NIOS2_CDX_OPCODE_SIZE): New.
26 (struct gdbarch_tdep): Add OP parameter to syscall_next_pc.
27 * nios2-tdep.c: Don't include opcode/nios2.h here.
28 (nios2_fetch_insn): For R2, try reading 2-byte instruction if
30 (nios2_match_add, nios2_match_sub): Add cases for R2 encodings.
31 (nios2_match_addi, nios2_match_orhi): Likewise.
32 (nios2_match_stw, nios2_match_ldw): Likewise.
33 (nios2_match_rdctl): Likewise.
34 (nios2_match_stwm, nios2_match_ldwm): New.
35 (nios2_match_branch): Add cases for R2 encodings.
36 (nios2_match_jmpi, nios2_match_calli): Likewise.
37 (nios2_match_jmpr, nios2_match_callr): Likewise.
38 (nios2_match_break, nios2_match_trap): Likewise.
39 (nios2_in_epilogue_p): Add R2 support.
40 (nios2_analyze_prologue): Update comments. Recognize R2 CDX
42 (nios2_breakpoint_from_pc): Handle R2 instructions.
43 (nios2_get_next_pc): Likewise. Adjust call to
44 tdep->syscall_next_pc.
45 * nios2-linux-tdep.c (nios2_r1_linux_rt_sigreturn_tramp_frame):
46 Renamed from nios2_linux_rt_sigreturn_tramp_frame. Use
47 instruction field macros instead of literal hex values.
48 (nios2_r2_linux_rt_sigreturn_tramp_frame): New.
49 (nios2_linux_syscall_next_pc): Adjust signature to pass OP.
50 Use size field from OP instead of assuming all instructions
52 (nios2_linux_init_abi): Register appropriate unwinder for mach.
56 * cp-namespace.c (cp_lookup_symbol_via_imports): Fix uninitialized
57 variable warning with some compilers.
61 * arm-linux-nat.c (arm_linux_get_hwbp_type): Capitalize "type"
62 in comment. Replace "rw" with "type".
63 (arm_linux_remove_watchpoint): Change type of "rw" to
64 "enum target_hw_bp_type".
68 * alpha-mdebug-tdep.c (find_proc_desc): Update call to
70 * ft32-tdep.c (ft32_skip_prologue): Likewise.
71 * moxie-tdep.c (moxie_skip_prologue): Likewise.
72 * mt-tdep.c (mt_skip_prologue): Likewise.
73 * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
77 * ada-exp.y (write_object_renaming): Replace struct
78 ada_symbol_info with struct block_symbol. Update field
79 references accordingly.
80 (block_lookup, select_possible_type_sym): Likewise.
81 (find_primitive_type): Likewise. Also update call to
82 ada_lookup_symbol to extract the symbol itself.
83 (write_var_or_type, write_name_assoc): Likewise.
84 * ada-lang.h (struct ada_symbol_info): Remove.
85 (ada_lookup_symbol_list): Replace struct ada_symbol_info with
87 (ada_lookup_encoded_symbol, user_select_syms): Likewise.
88 (ada_lookup_symbol): Return struct block_symbol instead of a
90 * ada-lang.c (defns_collected): Replace struct ada_symbol_info
91 with struct block_symbol.
92 (resolve_subexp, ada_resolve_function, sort_choices,
93 user_select_syms, is_nonfunction, add_defn_to_vec,
94 num_defns_collected, defns_collected,
95 symbols_are_identical_enums, remove_extra_symbols,
96 remove_irrelevant_renamings, add_lookup_symbol_list_worker,
97 ada_lookup_symbol_list, ada_iterate_over_symbols,
98 ada_lookup_encoded_symbol, get_var_value): Likewise.
99 (ada_lookup_symbol): Return a block_symbol instead of a mere
100 symbol. Replace struct ada_symbol_info with struct
102 (ada_lookup_symbol_nonlocal): Likewise.
103 (standard_lookup): Make block passing explicit through
104 lookup_symbol_in_language.
105 * ada-tasks.c (get_tcb_types_info): Update the calls to
106 lookup_symbol_in_language to extract the mere symbol out of the
108 (ada_tasks_inferior_data_sniffer): Likewise.
109 * ax-gdb.c (gen_static_field): Likewise for the call to
111 (gen_maybe_namespace_elt): Deal with struct block_symbol from
113 (gen_expr): Likewise.
114 * c-exp.y: Likewise. Remove uses of block_found.
115 (lex_one_token, classify_inner_name, c_print_token): Likewise.
116 (classify_name): Likewise. Rename the "sym" local variable to
118 * c-valprint.c (print_unpacked_pointer): Likewise.
119 * compile/compile-c-symbols.c (convert_symbol_sym): Promote the
120 "sym" parameter from struct symbol * to struct block_symbol.
121 Use it to remove uses of block_found. Deal with struct
122 block_symbol from lookup functions.
123 (gcc_convert_symbol): Likewise. Update the call to
125 * compile/compile-object-load.c (compile_object_load): Deal with
126 struct block_symbol from lookup functions.
127 * cp-namespace.c (cp_lookup_nested_symbol_1,
128 cp_lookup_nested_symbol, cp_lookup_bare_symbol,
129 cp_search_static_and_baseclasses,
130 cp_lookup_symbol_in_namespace, cp_lookup_symbol_via_imports,
131 cp_lookup_symbol_imports_or_template,
132 cp_lookup_symbol_via_all_imports, cp_lookup_symbol_namespace,
133 lookup_namespace_scope, cp_lookup_nonlocal,
134 find_symbol_in_baseclass): Return struct block_symbol instead of
135 mere symbols and deal with struct block_symbol from lookup
137 * cp-support.c (inspect_type, replace_typedefs,
138 cp_lookup_rtti_type): Deal with struct block_symbol from
140 * cp-support.h (cp_lookup_symbol_nonlocal,
141 cp_lookup_symbol_from_namespace,
142 cp_lookup_symbol_imports_or_template, cp_lookup_nested_symbol):
143 Return struct block_symbol instead of mere symbols.
144 * d-exp.y (d_type_from_name, d_module_from_name, push_variable,
146 Deal with struct block_symbol from lookup functions. Remove
148 * eval.c (evaluate_subexp_standard): Update call to
149 cp_lookup_symbol_namespace.
150 * f-exp.y: Deal with struct block_symbol from lookup functions.
151 Remove uses of block_found.
153 * gdbtypes.c (lookup_typename, lookup_struct, lookup_union,
154 lookup_enum, lookup_template_type, check_typedef): Deal with
155 struct block_symbol from lookup functions.
156 * guile/scm-frame.c (gdbscm_frame_read_var): Likewise.
157 * guile/scm-symbol.c (gdbscm_lookup_symbol): Likewise.
158 (gdbscm_lookup_global_symbol): Likewise.
159 * gnu-v3-abi.c (gnuv3_get_typeid_type): Likewise.
160 * go-exp.y: Likewise. Remove uses of block_found.
161 (package_name_p, classify_packaged_name, classify_name):
163 * infrun.c (insert_exception_resume_breakpoint): Likewise.
164 * jv-exp.y (push_variable): Likewise.
165 * jv-lang.c (java_lookup_class, get_java_object_type): Likewise.
166 * language.c (language_bool_type): Likewise.
167 * language.h (struct language_defn): Update
168 la_lookup_symbol_nonlocal to return a struct block_symbol rather
170 * linespec.c (find_label_symbols): Deal with struct block_symbol
171 from lookup functions.
172 * m2-exp.y: Likewise. Remove uses of block_found.
174 * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
175 * objc-lang.c (lookup_struct_typedef, find_imps): Likewise.
176 * p-exp.y: Likewise. Remove uses of block_found.
178 * p-valprint.c (pascal_val_print): Likewise.
179 * parse.c (write_dollar_variable): Likewise. Remove uses of
181 * parser-defs.h (struct symtoken): Turn the SYM field into a
183 * printcmd.c (address_info): Deal with struct block_symbol from
185 * python/py-frame.c (frapy_read_var): Likewise.
186 * python/py-symbol.c (gdbpy_lookup_symbol,
187 gdbpy_lookup_global_symbol): Likewise.
188 * skip.c (skip_function_command): Likewise.
189 * solib-darwin.c (darwin_lookup_lib_symbol): Return a struct
190 block_symbol instead of a mere symbol.
191 * solib-spu.c (spu_lookup_lib_symbol): Likewise.
192 * solib-svr4.c (elf_lookup_lib_symbol): Likewise.
193 * solib.c (solib_global_lookup): Likewise.
194 * solist.h (solib_global_lookup): Likewise.
195 (struct target_so_ops): Update lookup_lib_global_symbol to
196 return a struct block_symbol rather than a mere symbol.
197 * source.c (select_source_symtab): Deal with struct block_symbol
198 from lookup functions.
199 * stack.c (print_frame_args, iterate_over_block_arg_vars):
201 * symfile.c (set_initial_language): Likewise.
202 * symtab.c (SYMBOL_LOOKUP_FAILED): Turn into a struct
204 (SYMBOL_LOOKUP_FAILED_P): New predicate as a macro.
205 (struct symbol_cache_slot): Turn the FOUND field into a struct
207 (block_found): Remove.
208 (eq_symbol_entry): Update to deal with struct block_symbol in
210 (symbol_cache_lookup): Return a struct block_symbol rather than
212 (symbol_cache_mark_found): Add a BLOCK parameter to fill
213 appropriately the cache slots. Update callers.
214 (symbol_cache_dump): Update cache slots handling to the type
216 (lookup_symbol_in_language, lookup_symbol, lookup_language_this,
217 lookup_symbol_aux, lookup_local_symbol,
218 lookup_symbol_in_objfile, lookup_global_symbol_from_objfile,
219 lookup_symbol_in_objfile_symtabs,
220 lookup_symbol_in_objfile_from_linkage_name,
221 lookup_symbol_via_quick_fns, basic_lookup_symbol_nonlocal,
222 lookup_symbol_in_static_block, lookup_static_symbol,
223 lookup_global_symbol):
224 Return a struct block_symbol rather than a mere symbol. Deal
225 with struct block_symbol from other lookup functions. Remove
227 (lookup_symbol_in_block): Remove uses of block_found.
228 (struct global_sym_lookup_data): Turn the RESULT field into a
230 (lookup_symbol_global_iterator_cb): Update references to the
232 (search_symbols): Deal with struct block_symbol from lookup
234 * symtab.h (struct block_symbol): New structure.
235 (block_found): Remove.
236 (lookup_symbol_in_language, lookup_symbol,
237 basic_lookup_symbol_nonlocal, lookup_symbol_in_static_block,
238 lookup_static_symbol, lookup_global_symbol, lookup_language_this,
239 lookup_global_symbol_from_objfile): Return a struct block_symbol
240 rather than just a mere symbol. Update comments to remove
241 mentions of block_found.
242 * valops.c (find_function_in_inferior,
243 value_struct_elt_for_reference, value_maybe_namespace_elt,
244 value_of_this): Deal with struct block_symbol from lookup
246 * value.c (value_static_field, value_fn_field): Likewise.
250 * remote-m32r-sdi.c (m32r_remove_watchpoint): Use enum type
255 * aarch64-linux-nat.c (aarch64_linux_can_use_hw_breakpoint): Use enum
256 type or value instead of integer.
257 (aarch64_linux_insert_watchpoint): Likewise.
258 (aarch64_linux_remove_watchpoint): Likewise.
259 * ada-lang.c (ada_op_print_tab): Likewise.
260 * amd64-linux-tdep.c (amd64_canonicalize_syscall): Likewise.
261 (amd64_linux_syscall_record_common): Likewise.
262 * arch-utils.c (target_byte_order_user): Likewise.
263 (default_byte_order): Likewise.
264 * arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Likewise.
265 (arm_linux_get_hwbp_type): Likewise.
266 (arm_linux_hw_watchpoint_initialize): Likewise.
267 (arm_linux_insert_watchpoint): Likewise.
268 * arm-linux-tdep.c (arm_canonicalize_syscall): Likewise.
269 (arm_linux_syscall_record): Likewise.
270 * breakpoint.c (update_watchpoint): Likewise.
271 (breakpoint_here_p): Likewise.
272 (bpstat_print): Likewise.
273 (enable_breakpoint_disp): Likewise.
274 * c-lang.c (c_op_print_tab): Likewise.
275 * cli/cli-decode.c (add_info_alias): Likewise.
276 * d-lang.c (d_op_print_tab): Likewise.
277 * eval.c (evaluate_subexp_standard): Likewise.
278 * f-exp.y (dot_ops): Likewise.
279 (f77_keywords): Likewise.
280 * f-lang.c (f_op_print_tab): Likewise.
281 * go-lang.c (go_op_print_tab): Likewise.
282 * guile/scm-breakpoint.c (gdbscm_make_breakpoint): Likewise.
283 * guile/scm-cmd.c (gdbscm_make_command): Likewise.
284 * guile/scm-param.c (gdbscm_make_parameter): Likewise.
285 * guile/scm-pretty-print.c (gdbscm_apply_val_pretty_printer): Likewise.
286 * guile/scm-string.c (struct scm_to_stringn_data): Likewise.
287 (struct scm_from_stringn_data): Likewise.
288 * i386-linux-tdep.c (i386_canonicalize_syscall): Likewise.
289 * ia64-linux-nat.c (ia64_linux_insert_watchpoint): Likewise.
290 (ia64_linux_remove_watchpoint): Likewise.
291 (ia64_linux_can_use_hw_breakpoint): Likewise.
292 * infrun.c (print_stop_event): Likewise.
293 * jv-lang.c (java_op_print_tab): Likewise.
294 * linux-nat.c (linux_proc_xfer_partial): Likewise.
295 * linux-nat.h (struct lwp_info): Likewise.
296 * linux-thread-db.c (enable_thread_event): Likewise.
297 * m2-lang.c (m2_op_print_tab): Likewise.
298 * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Likewise.
299 (mi_cmd_stack_list_variables): Likewise.
300 * mi/mi-main.c (mi_cmd_trace_frame_collected): Likewise.
301 * mi/mi-out.c (mi_table_begin): Likewise.
302 (mi_table_header): Likewise.
303 * mips-linux-nat.c (mips_linux_can_use_hw_breakpoint): Likewise.
304 (mips_linux_insert_watchpoint): Likewise.
305 (mips_linux_remove_watchpoint): Likewise.
306 * nat/mips-linux-watch.c (mips_linux_watch_type_to_irw): Likewise.
307 * nat/mips-linux-watch.h (struct mips_watchpoint): Likewise.
308 (mips_linux_watch_type_to_irw): Likewise.
309 * nto-procfs.c (procfs_can_use_hw_breakpoint): Likewise.
310 (procfs_insert_hw_watchpoint): Likewise.
311 (procfs_remove_hw_watchpoint): Likewise.
312 (procfs_hw_watchpoint): Likewise.
313 (procfs_can_use_hw_breakpoint): Likewise.
314 (procfs_remove_hw_watchpoint): Likewise.
315 (procfs_insert_hw_watchpoint): Likewise.
316 * p-lang.c (pascal_op_print_tab): Likewise.
317 * ppc-linux-nat.c (ppc_linux_can_use_hw_breakpoint): Likewise.
318 * ppc-linux-tdep.c (ppu2spu_unwind_register): Likewise.
319 * ppc-sysv-tdep.c (get_decimal_float_return_value): Likewise.
320 * procfs.c (procfs_can_use_hw_breakpoint): Likewise.
321 (procfs_insert_watchpoint): Likewise.
322 (procfs_remove_watchpoint): Likewise.
323 * psymtab.c (recursively_search_psymtabs): Likewise.
324 * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint): Likewise.
325 (m32r_insert_watchpoint): Likewise.
326 * remote-mips.c (mips_can_use_watchpoint): Likewise.
327 (mips_insert_watchpoint): Likewise.
328 (mips_remove_watchpoint): Likewise.
329 * remote.c (watchpoint_to_Z_packet): Likewise.
330 (remote_insert_watchpoint): Likewise.
331 (remote_remove_watchpoint): Likewise.
332 (remote_check_watch_resources): Likewise.
333 * s390-linux-nat.c (s390_insert_watchpoint): Likewise.
334 (s390_remove_watchpoint): Likewise.
335 (s390_can_use_hw_breakpoint): Likewise.
336 * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
337 * spu-linux-nat.c (spu_can_use_hw_breakpoint): Likewise.
338 * target.h (struct target_ops): Likewise.
339 * tilegx-tdep.c (tilegx_analyze_prologue): Likewise.
340 * ui-out.c (struct ui_out_hdr): Likewise.
341 (append_header_to_list): Likewise.
342 (get_next_header): Likewise.
343 (verify_field): Likewise.
344 (ui_out_begin): Likewise.
345 (ui_out_field_int): Likewise.
346 (ui_out_field_fmt_int): Likewise.
347 (ui_out_field_skip): Likewise.
348 (ui_out_field_string): Likewise.
349 (ui_out_field_fmt): Likewise.
350 * varobj.c (new_variable): Likewise.
351 * x86-nat.c (x86_insert_watchpoint): Likewise.
352 (x86_remove_watchpoint): Likewise.
353 (x86_can_use_hw_breakpoint): Likewise.
354 * xtensa-tdep.h (struct gdbarch_tdep): Likewise.
355 * inflow.c (enum gdb_has_a_terminal_flag_enum): Add name to
356 previously anonymous enumeration type..
357 * linux-record.h (enum gdb_syscall): Add gdb_sys_no_syscall
359 * target-debug.h (target_debug_print_enum_target_hw_bp_type): New.
360 (target_debug_print_enum_bptype): New.
361 * target-delegates.c: Regenerate.
365 * nios2-tdep.c (nios2_analyze_prologue): Do what the comment
366 already says and disallow non-stack memory writes in the prologue.
370 * nios2-tdep.c (nios2_analyze_prologue): Update comments to
371 reflect how current GCC emits stack overflow checks. Match
372 both trap and break instructions for backward compatbility.
373 Disallow other trap and break instructions in the prologue.
378 * linux-nat.c (wait_lwp): Report to the core when thread group
385 * linux-nat.c (linux_handle_extended_wait): On CLONE event, always
386 mark the new thread as resumed. Remove STOPPING parameter.
387 (wait_lwp): Adjust call to linux_handle_extended_wait.
388 (linux_nat_filter_event): Adjust call to
389 linux_handle_extended_wait.
390 (resume_stopped_resumed_lwps): Add debug output.
394 * arch-utils.c (default_fast_tracepoint_valid_at): Remove unused
396 * arch-utils.h (default_fast_tracepoint_valid_at): Likewise.
397 * breakpoint.c (check_fast_tracepoint_sals): Adjust call to
398 gdbarch_fast_tracepoint_valid_at.
399 * gdbarch.sh (fast_tracepoint_valid_at): Remove isize argument.
400 * gdbarch.h: Regenerate.
401 * gdbarch.c: Regenerate.
402 * i386-tdep.c (i386_fast_tracepoint_valid_at): Remove isize
403 argument. Do not set it.
404 * remote.c (remote_download_tracepoint): Adjust call to
405 gdbarch_fast_tracepoint_valid_at. Call gdb_insn_length to get
406 the instruction length.
410 * arm-tdep.h (enum gdb_regnum): Move it to ...
411 * arch/arm.h: ... here. New file.
412 * Makefile.in (HFILES_NO_SRCDIR): Add arch/arm.h.
416 * aarch64-tdep.c (decode_b): Rename link argument to is_bl.
417 Change its type to int *.
418 (decode_br): Rename link argument to is_blr. Change its type to
420 (decode_cb): Rename op argument to is_cbnz. Change its type to
422 (decode_tb): Rename op argument to is_tbnz. Change its type to
423 int *. Set is_tbnz to either 1 or 0.
424 (aarch64_analyze_prologue): Change type of is_link to int. Add
425 new variables is_cbnz and is_tbnz. Adjust call to
426 aarch64_decode_cb and aarch64_decode_tb.
430 * mips-linux-nat.c (write_watchpoint_regs): Add NULL as ptrace's 4th
432 (mips_linux_new_thread): Likewise.
433 * nat/mips-linux-watch.c (mips_linux_read_watch_registers): Likewise.
437 * top.c: Include "tui/tui.h".
438 (undo_terminal_modifications_before_exit): New static function.
439 (quit_force): Use it.
443 * target.c (terminal_state): Initialize to terminal_is_ours.
448 * dcache.c (dcache_read_memory_partial): Call
449 raw_memory_xfer_partial.
450 * target.c (raw_memory_xfer_partial): Make it non-static.
451 * target.h (raw_memory_xfer_partial): Declare.
455 * c-valprint.c (c_val_print_array): Consider addressable memory
457 (c_val_print_ptr): Likewise.
458 (c_val_print_int): Likewise.
459 * findvar.c (read_frame_register_value): Likewise.
460 * valarith.c (find_size_for_pointer_math): Likewise.
461 (value_ptrdiff): Likewise.
462 (value_subscripted_rvalue): Likewise.
463 * valops.c (read_value_memory): Likewise (and rename variables).
464 (value_assign): Likewise.
465 (value_repeat): Likewise.
466 (value_array): Likewise.
467 (value_slice): Likewise.
468 * valprint.c (generic_val_print_ptr): Likewise.
469 (generic_val_print_enum): Likewise.
470 (generic_val_print_bool): Likewise.
471 (generic_val_print_int): Likewise.
472 (generic_val_print_char): Likewise.
473 (generic_val_print_float): Likewise.
474 (generic_val_print_decfloat): Likewise.
475 (generic_val_print_complex): Likewise.
476 (val_print_scalar_formatted): Likewise.
477 (val_print_array_elements): Likewise.
478 * value.c (set_value_parent): Likewise.
479 (value_contents_copy_raw): Likewise.
480 (set_internalvar_component): Likewise.
481 (value_primitive_field): Likewise.
482 (value_fetch_lazy): Likewise.
483 * value.h (read_value_memory): Update comment.
487 * value.c (get_value_arch): New function.
488 * value.h (get_value_arch): New declaration.
492 * value.c (struct value): Update comments.
496 * gdbtypes.c (type_length_units): New function.
497 * gdbtypes.h (type_length_units): New declaration.
498 (struct type) <length>: Update comment.
502 * valprint.c (generic_val_print): Factor out complex
504 (generic_val_print_complex): ... this new function.
508 * valprint.c (generic_val_print): Factor out decfloat
510 (generic_val_print_decfloat): ... this new function.
514 * valprint.c (generic_val_print): Factor out float
516 (generic_val_print_float): ... this new function.
520 * valprint.c (generic_val_print): Factor out char
522 (generic_val_print_char): ... this new function.
526 * valprint.c (generic_val_print): Factor out integer
528 (generic_val_print_int): ... this new function.
532 * valprint.c (generic_val_print): Factor out bool
534 (generic_val_print_bool): ... this new function.
538 * valprint.c (generic_val_print): Factor out function/method
540 (generic_val_print_func): ... this new function.
544 * valprint.c (generic_val_print): Factor out flags
546 (generic_val_print_flags): ... this new function.
550 * valprint.c (generic_val_print): Factor out enum
552 (generic_val_print_enum): ... this new function.
556 * valprint.c (generic_val_print): Factor out reference
558 (generic_val_print_ref): ... this new function.
562 * valprint.c (generic_val_print): Factor out memberptr
564 (generic_val_print_memberptr): ... this new function.
568 * valprint.c (generic_val_print): Factor out pointer
570 (generic_val_print_ptr): ... this new function.
574 * valprint.c (generic_val_print): Factor out array
576 (generic_val_print_array): ... this new function.
580 * valprint.c (generic_val_print): Factor out
581 print_unpacked_pointer code to ...
582 (print_unpacked_pointer): ... this new function.
586 * event-top.c (handle_sigterm): Don't inspect
587 target_can_async_p. Always set the quit flag and always mark
588 the async signal handler.
592 * Makefile.in (REMOTE_EXAMPLES): Remove it.
596 * remote.c (read_ptid): Return null_ptid when no thread id
598 (remote_current_thread): Add log warning for malformed
600 (remote_start_remote): Add log warning when current thread
605 * s390-linux-nat.c (fetch_regs, store_regs, fetch_fpregs)
606 (s390_stopped_by_watchpoint, s390_prepare_to_resume): Pass 0 as
607 forth argument to ptrace PTRACE_PEEKUSR_AREA/PTRACE_POKEUSR_AREA.
612 * linux-nat.c (linux_nat_filter_event): Don't assert that the lwp
613 is resumed, and extend the debug log.
617 * fork-child.c (fork_inferior): Print argv[0] instead of exec_file.
621 * aarch64-linux-nat.c: Include nat/gdb_ptrace.h instead of
623 * alpha-linux-nat.c: Likewise.
624 * amd64-linux-nat.c: Likewise.
625 * arm-linux-nat.c: Likewise.
626 * hppa-linux-nat.c: Likewise.
627 * i386-linux-nat.c: Likewise.
628 * ia64-linux-nat.c: Likewise.
629 * linux-fork.c: Likewise.
630 * linux-nat.c: Likewise.
631 * m32r-linux-nat.c: Likewise.
632 * m68klinux-nat.c: Likewise.
633 * mips-linux-nat.c: Likewise.
634 * nat/linux-btrace.c: Likewise.
635 * nat/linux-ptrace.c: Likewise.
637 * nat/mips-linux-watch.c: Likewise.
638 * nat/x86-linux-dregs.c: Likewise.
639 * ppc-linux-nat.c: Likewise.
640 * s390-linux-nat.c: Likewise.
641 * spu-linux-nat.c: Likewise.
642 * tilegx-linux-nat.c: Likewise.
643 * x86-linux-nat.c: Likewise.
644 * xtensa-linux-nat.c: Likewise.
648 * ptrace.m4 (ptrace tests): Test in C++ mode. Try with 'enum
649 __ptrace_request as first parameter type instead of int.
650 (PTRACE_TYPE_ARG1): Define.
651 * nat/gdb_ptrace.h [!PTRACE_TYPE_ARG5] (ptrace): Define as wrapper
652 that casts first argument to PTRACE_TYPE_ARG1.
653 * config.in: Regenerate.
654 * configure: Regenerate.
658 * gdb_ptrace.h: Move ...
659 * nat/gdb_ptrace.h: ... here.
660 * inf-ptrace.c: Adjust.
664 * acinclude.m4: Include ptrace.m4.
665 * configure.ac: Call GDB_AC_PTRACE and move ptrace checks ...
666 * ptrace.m4: ... to this new file.
670 * dwarf2read.c (dwarf2_per_cu_data): Add comment.
671 (load_cu): Handle dummy CUs.
672 (dw2_do_instantiate_symtab, process_queuef): Ditto.
673 (dwarf2_fetch_die_loc_sect_off, dwarf2_fetch_constant_bytes): Ditto.
677 * py-linetable.c (ltpy_get_all_source_lines): Adjust function
678 documentation to say that it returns a list rather than
680 (linetable_object_methods): Update the docstring of the
685 * gdbtypes.c (resolve_dynamic_array): Pass the peeled element
686 type to the recursive call instead of the original (maybe
687 TYPE_CODE_TYPEDEF) type.
691 * aarch64-linux-nat.c (aarch64_linux_can_use_hw_breakpoint): If
692 TYPE is watchpoint, return zero if aarch64_num_wp_regs is zero.
693 If TYPE is breakpoint, return zero if arch64_num_bp_regs is zero.
697 * aarch64-linux-nat.c (aarch64_linux_get_debug_reg_capacity):
698 Move it to nat/aarch64-linux-hw-point.c.
699 (aarch64_linux_child_post_startup_inferior): Update.
700 * nat/aarch64-linux-hw-point.c (aarch64_linux_get_debug_reg_capacity):
702 * nat/aarch64-linux-hw-point.h (aarch64_linux_get_debug_reg_capacity):
707 * common/btrace-common.c (btrace_data_append): Change case label.
711 * nat/aarch64-linux-hw-point.c (aarch64_handle_unaligned_watchpoint):
713 * nat/aarch64-linux-hw-point.h: Use ULONGEST rather than
714 "unsigned long long".
718 * dwarf2read.c (dwarf2_locate_sections): Allow has_section_at_zero
719 to be set for SEC_ALLOC sections too.
723 * Makefile.in (HFILES_NO_SRCDIR): Add
724 nat/aarch64-linux-hw-point.h.
725 (aarch64-linux-hw-point.o): New rule.
726 * nat/aarch64-linux-hw-point.h: New file.
727 * nat/aarch64-linux-hw-point.c: New file.
728 * aarch64-linux-nat.c: Include nat/aarch64-linux-hw-point.h.
729 (AARCH64_HBP_MAX_NUM): Move to nat/aarch64-linux-hw-point.h.
730 (AARCH64_HWP_MAX_NUM, AARCH64_HBP_ALIGNMENT): Likewise.
731 (AARCH64_HWP_ALIGNMENT): Likewise.
732 (AARCH64_HWP_MAX_LEN_PER_REG): Likewise.
733 (AARCH64_DEBUG_NUM_SLOTS, AARCH64_DEBUG_ARCH): Likewise.
734 (AARCH64_DEBUG_ARCH_V8, DR_MARK_ALL_CHANGED): Likewise.
735 (DR_MARK_N_CHANGED, DR_CLEAR_CHANGED): Likewise.
736 (DR_HAS_CHANGED, DR_N_HAS_CHANGE): Likewise.
737 (aarch64_num_bp_regs, aarch64_num_wp_regs): Likewise.
738 (struct aarch64_debug_reg_state): Likewise.
739 (struct arch_lwp_info): Likewise.
740 (aarch64_linux_set_debug_regs): Likewise.
741 (aarch64_notify_debug_reg_change): Remove static.
742 (aarch64_align_watchpoint): Likewise.
743 (DR_CONTROL_ENABLED, DR_CONTROL_LENGTH): Likewise.
744 (aarch64_watchpoint_length): Likewise.
745 (aarch64_point_encode_ctrl_reg): Likewise
746 (aarch64_point_is_aligned): Likewise.
747 (aarch64_dr_state_insert_one_point): Likewise.
748 (aarch64_dr_state_remove_one_point): Likewise.
749 (aarch64_handle_breakpoint): Likewise.
750 (aarch64_handle_aligned_watchpoint): Likewise.
751 (aarch64_handle_unaligned_watchpoint): Likewise.
752 (aarch64_handle_watchpoint): Likewise.
753 * config/aarch64/linux.mh (NAT_FILE): Add
754 aarch64-linux-hw-point.o.
758 * aarch64-linux-nat.c (aarch64_handle_breakpoint): Add argument
759 state and don't call aarch64_get_debug_reg_state. All callers
761 (aarch64_linux_insert_hw_breakpoint): Call
762 aarch64_get_debug_reg_state earlier.
763 (aarch64_linux_remove_hw_breakpoint): Likewise.
764 (aarch64_handle_aligned_watchpoint): Add argument state and
765 don't call aarch64_get_debug_reg_state. All callers update.
766 (aarch64_handle_unaligned_watchpoint): Likewise.
767 (aarch64_handle_watchpoint): Add argument state.
768 (aarch64_linux_insert_watchpoint): Call aarch64_get_debug_reg_state
770 (aarch64_linux_remove_watchpoint): Likewise.
774 * aarch64-linux-nat.c (aarch64_show_debug_reg_state): Use
776 (aarch64_handle_unaligned_watchpoint): Likewise.
780 * aarch64-linux-nat.c (aarch64_dr_state_insert_one_point): Change
781 argument type's type to 'enum target_hw_bp_type'.
782 (aarch64_dr_state_remove_one_point): Likewise.
783 (aarch64_handle_breakpoint): Likewise.
784 (aarch64_linux_insert_hw_breakpoint): Likewise.
785 (aarch64_linux_remove_hw_breakpoint): Likewise.
786 (aarch64_handle_aligned_watchpoint): Likewise.
790 * aarch64-linux-nat.c (aarch64_linux_get_debug_reg_capacity): Call
791 ptid_get_pid instead of get_thread_id.
795 * remote.c (get_current_thread): Initialise ptid to null_ptid.
796 (add_current_inferior_and_thread): Don't initialise ptid.
800 * aarch64-tdep.c (aarch64_pseudo_read_value): Mark S register as
801 unavailable if invalid.
805 Revert the previous 6 commits:
806 Create empty nat/linux-maps.[ch] and common/target-utils.[ch].
807 Move gdb_regex* to common/
808 Prepare linux_find_memory_regions_full & co. for move
809 Move linux_find_memory_regions_full & co.
810 gdbserver build-id attribute generator
811 Validate symbol file using build-id
816 Validate symbol file using build-id.
817 * NEWS (Changes since GDB 7.10): Add 'set validate-build-id'
818 and 'show validate-build-id'. Add build-id attribute.
819 * solib-darwin.c (_initialize_darwin_solib): Assign validate value.
820 * solib-dsbt.c (_initialize_dsbt_solib): Ditto.
821 * solib-frv.c (_initialize_frv_solib): Ditto.
822 * solib-spu.c (set_spu_solib_ops): Ditto.
823 * solib-svr4.c: Include rsp-low.h.
824 (NOTE_GNU_BUILD_ID_NAME): New define.
825 (svr4_validate): New function.
826 (svr4_copy_library_list): Duplicate field build_id.
827 (library_list_start_library): Parse 'build-id' attribute.
828 (svr4_library_attributes): Add 'build-id' attribute.
829 (_initialize_svr4_solib): Assign validate value.
830 * solib-target.c (solib.h): Include.
831 (_initialize_solib_target): Assign validate value.
832 * solib.c (validate_build_id, show_validate_build_id): New.
833 (solib_map_sections): Use ops->validate.
834 (clear_so): Free build_id.
835 (default_solib_validate): New function.
836 (_initialize_solib): Add "validate-build-id".
837 * solib.h (default_solib_validate): New declaration.
838 * solist.h (struct so_list): New fields 'build_idsz' and 'build_id'.
839 (target_so_ops): New field 'validate'.
844 gdbserver build-id attribute generator.
845 * features/library-list-svr4.dtd (library-list-svr4): New
846 'build-id' attribute.
851 Move linux_find_memory_regions_full & co.
852 * linux-tdep.c (nat/linux-maps.h): Include.
853 (gdb_regex.h): Remove the include.
854 (enum filterflags, struct smaps_vmflags, read_mapping, decode_vmflags)
855 (mapping_is_anonymous_p, dump_mapping_p): Moved to nat/linux-maps.c.
856 (linux_find_memory_region_ftype): Moved typedef to nat/linux-maps.h.
857 (linux_find_memory_regions_full): Moved definition to nat/linux-maps.c.
858 * nat/linux-maps.c: Include ctype.h, target/target-utils.h, gdb_regex.h
860 (struct smaps_vmflags, read_mapping, decode_vmflags)
861 (mapping_is_anonymous_p, dump_mapping_p): Move from linux-tdep.c.
862 (linux_find_memory_regions_full): Move from linux-tdep.c.
863 * nat/linux-maps.h (read_mapping): New declaration.
864 (linux_find_memory_region_ftype, enum filterflags): Moved from
866 (linux_find_memory_regions_full): New declaration.
867 * target.c (target/target-utils.h): Include.
868 (read_alloc_pread_ftype): Moved typedef to target/target-utils.h.
869 (read_alloc, read_stralloc_func_ftype, read_stralloc): Moved
870 definitions to target/target-utils.c.
871 * target.h (target_fileio_read_stralloc): Move it to target/target.h.
872 * target/target-utils.c (read_alloc, read_stralloc): Move definitions
874 * target/target-utils.h (read_alloc_pread_ftype): New typedef.
875 (read_alloc): New declaration.
876 (read_stralloc_func_ftype): New typedef.
877 (read_stralloc): New declaration.
878 * target/target.h (target_fileio_read_stralloc): Move it from target.h.
883 Prepare linux_find_memory_regions_full & co. for move.
884 * linux-tdep.c (linux_find_memory_region_ftype): Comment.
885 (linux_find_memory_regions_full): Change signature and prepare
886 for moving to linux-maps.
887 (linux_find_memory_regions_data): Rename field 'obfd' to 'data'.
888 (linux_find_memory_regions_thunk): New.
889 (linux_find_memory_regions_thunk): Use 'data' field instead of 'obfd'.
890 (linux_find_memory_regions_gdb): New.
891 (linux_find_memory_regions): Rename argument 'obfd' to 'func_data'.
892 (linux_make_mappings_corefile_notes): Use
893 linux_find_memory_regions_gdb.
894 * target.c (read_alloc_pread_ftype): New typedef.
895 (target_fileio_read_alloc_1_pread): New function.
896 (read_alloc): Refactor from target_fileio_read_alloc_1.
897 (read_stralloc_func_ftype): New typedef.
898 (target_fileio_read_alloc_1): New implementation. Use read_alloc.
899 (read_stralloc): Refactored from target_fileio_read_stralloc.
900 (target_fileio_read_stralloc): New implementation, use read_stralloc.
904 * Makefile.in (HFILES_NO_SRCDIR): Change gdb_regex.h to
906 (COMMON_OBS): Add gdb_regex.o.
908 * common/common.m4 (GDB_AC_COMMON): Add gdb_use_included_regex,
909 --without-included-regex and USE_INCLUDED_REGEX.
910 * common/gdb_regex.c: New file from utils.c functions.
911 * common/gdb_regex.h: Move it here from gdb_regex.h, update include
912 file wrapping define name.
913 * configure: Rebuilt.
914 * configure.ac (gdb_use_included_regex, --without-included-regex)
915 (USE_INCLUDED_REGEX): Move them to common/common.m4.
916 * gdb_regex.h: Move it to common/gdb_regex.h.
917 * utils.c: Remove include gdb_regex.h.
918 (do_regfree_cleanup, make_regfree_cleanup, get_regcomp_error)
919 (compile_rx_or_error): Move them to common/gdb_regex.c.
924 Create empty nat/linux-maps.[ch] and common/target-utils.[ch].
925 * Makefile.in (HFILES_NO_SRCDIR); Add nat/linux-maps.h,
926 common/target-utils.h.
927 (COMMON_OBS): Add target-utils.o.
928 (linux-maps.o, target-utils.o): New.
929 * target/target-utils.c: New file.
930 * target/target-utils.h: New file.
931 * config/i386/linux.mh (NATDEPFILES): Add linux-maps.o.
932 * config/i386/linux64.mh (NATDEPFILES): Ditto.
933 * nat/linux-maps.c: New file.
934 * nat/linux-maps.h: New file.
939 * nat/linux-btrace.c (perf_event_read): Change the type of DATA_HEAD.
940 (perf_event_read_all): Change the type of SIZE and DATA_HEAD.
941 (perf_event_read_bts): Change the type of SIZE and READ.
942 (linux_enable_bts): Change the type of SIZE, PAGES, DATA_SIZE,
943 and DATA_OFFSET. Move DATA_SIZE declaration. Restrict the buffer size
944 to UINT_MAX. Check for overflows when using DATA_HEAD from the perf
946 (linux_enable_pt): Change the type of PAGES and SIZE. Restrict the
947 buffer size to UINT_MAX.
948 (linux_read_bts): Change the type of BUFFER_SIZE, SIZE, DATA_HEAD, and
950 * nat/linux-btrace.h (struct perf_event_buffer)<size, data_head>
951 <last_head>: Change type.
952 * common/btrace-common.h (struct btrace_dat_pt) <size>: Change type.
953 * common/btrace-common.c (btrace_data_append): Change the type of
955 * btrace.c (parse_xml_raw): Change the type of SIZE. Change oddness
960 * gdbtypes.h (CHECK_TYPEDEF): Remove.
961 * aarch64-tdep.c (aarch64_return_in_memory): Replace CHECK_TYPEDEF
963 * ada-lang.c (decode_constrained_packed_array_type): Likewise.
964 (ada_array_length): Likewise.
965 (find_parallel_type_by_descriptive_type): Likewise.
966 (ada_check_typedef): Likewise.
967 * arm-tdep.c (arm_return_in_memory): Likewise.
968 * ax-gdb.c (gen_trace_static_fields): Likewise.
969 (gen_struct_ref_recursive): Likewise.
970 * c-exp.y (exp : SIZEOF '(' type ')' %prec UNARY): Likewise.
971 (variable: block COLONCOLON name): Likewise.
972 (qualified_name: TYPENAME COLONCOLON name): Likewise.
973 * c-lang.c (classify_type): Likewise.
974 * c-typeprint.c (c_print_type): Likewise.
975 (c_print_typedef): Likewise.
976 (c_type_print_base): Likewise.
977 * c-valprint.c (c_val_print): Likewise.
978 * compile/compile-c-types.c (convert_type): Likewise.
979 * compile/compile-object-load.c (get_out_value_type): Likewise.
980 * completer.c (add_struct_fields): Likewise.
981 (expression_completer): Likewise.
982 * cp-namespace.c (cp_find_type_baseclass_by_name): Likewise.
983 (cp_lookup_nested_symbol_1): Likewise.
984 (cp_lookup_nested_symbol): Likewise.
985 * cp-valprint.c (cp_print_value_fields): Likewise.
986 (cp_print_static_field): Likewise.
987 * d-valprint.c (d_val_print): Likewise.
988 * eval.c (evaluate_subexp_standard): Likewise.
989 (evaluate_subexp_for_sizeof): Likewise.
990 * f-exp.y (exp : SIZEOF '(' type ')' %prec UNARY): Likewise.
991 * f-typeprint.c (f_type_print_base): Likewise.
992 * f-valprint.c (f_val_print): Likewise.
993 * gdbtypes.c (get_discrete_bounds): Likewise.
994 (create_array_type_with_stride): Likewise.
995 (type_name_no_tag_or_error): Likewise.
996 (lookup_struct_elt_type): Likewise.
997 (get_unsigned_type_max): Likewise.
998 (internal_type_vptr_fieldno): Likewise.
999 (set_type_vptr_fieldno): Likewise.
1000 (internal_type_vptr_basetype): Likewise.
1001 (set_type_vptr_basetype): Likewise.
1002 (get_vptr_fieldno): Likewise.
1003 (is_integral_type): Likewise.
1004 (is_scalar_type): Likewise.
1005 (is_scalar_type_recursive): Likewise.
1006 (distance_to_ancestor): Likewise.
1007 (is_unique_ancestor_worker): Likewise.
1008 (check_types_equal): Likewise.
1009 * gnu-v2-abi.c (gnuv2_value_rtti_type): Likewise.
1013 * dwarf2read.c (find_slot_in_mapped_hash): Extend language support to
1014 also test for language_d.
1015 (dwarf2_compute_name): Likewise.
1016 (read_func_scope): Likewise.
1017 (read_structure_type): Likewise.
1018 (new_symbol_full): Likewise.
1019 (determine_prefix): Likewise.
1020 (read_import_statement): Use dot as the separator for language_d.
1021 (typename_concat): Likewise, but don't prefix the D main function.
1025 * nat/linux-namespaces.c (setns): Rename from this ...
1026 (do_setns): ... to this. Support calling setns if it exists.
1027 (mnsh_handle_setns): Call do_setns.
1031 * exec.c (exec_file_attach): Add period at the end of error
1036 * tui/tui-win.c (window_name_completer): New function.
1037 (focus_completer): Call window_name_completer. All old content
1038 moved into window_name_completer.
1039 (winheight_completer): New function.
1040 (_initialize_tui_win): Rename variable. Add completer to
1041 winheight command. Update doc string on winheight.
1045 * nios2-linux-tdep.c (_initialize_nios2_linux_tdep): Register
1046 all nios2 mach variants.
1050 * rx-tdep.c (rx_get_opcode_byte): Use target_read_code instead
1051 of target_read_memory.
1055 * tui/tui-win.c (tui_set_win_height): Use a cleanup to free the
1057 (parse_scrolling_args): Likewise.
1061 * tui/tui-win.c (focus_completer): Don't duplicate the tui window
1062 names in this function.
1066 * tui/tui-data.h (SRC_NAME): Convert to lower case.
1067 (CMD_NAME): Likewise.
1068 (DATA_NAME): Likewise.
1069 (DISASSEM_NAME): Likewise.
1070 * tui/tui-win.c (tui_set_focus): Window names are now lower case.
1071 (tui_set_win_height): Likewise.
1072 (parse_scrolling_args): Likewise.
1076 * record-btrace.c (record_btrace_goto_begin)
1077 (record_btrace_goto_end, record_btrace_goto): Move call to
1078 print_stack_frame ...
1079 (record_btrace_set_replay): ... here. Set stop_pc.
1080 * record-full.c (record_full_goto_entry): Set stop_pc.
1084 * NEWS: Mention support for tracepoints on aarch64-linux.
1088 * linux-aarch64-low.c (aarch64_supports_tracepoints): New
1090 (the_low_target): Install it.
1094 * gdb.trace/backtrace.exp: Set registers for aarch64 target.
1095 * gdb.trace/collection.exp: Likewise.
1096 * gdb.trace/mi-trace-frame-collected.exp: Likewise.
1097 * gdb.trace/mi-trace-unavailable.exp: Likewise.
1098 * gdb.trace/report.exp: Likewise.
1099 * gdb.trace/trace-break.exp: Likewise.
1100 * gdb.trace/unavailable.exp: Likewise.
1101 * gdb.trace/while-dyn.exp: Likewise.
1105 * aarch64-tdep.c: Add ax.h and ax-gdb.h includes.
1106 (aarch64_gen_return_address): New function.
1107 (aarch64_gdbarch_init): Hook it.
1111 * aarch64-tdep.c (aarch64_make_stub_cache): Set available_p and
1112 swallow NOT_AVAILABLE_ERROR.
1113 (aarch64_stub_this_id): Call frame_id_build_unavailable_stack if
1114 available_p is not set.
1115 (aarch64_stub_frame_unwind_stop_reason): New function.
1116 (aarch64_stub_unwind): Install it.
1120 * aarch64-tdep.c (aarch64_prologue_cache) <available_p>: New
1122 (aarch64_make_prologue_cache_1): New function, factored out from
1123 aarch64_make_prologue_cache. Do not allocate cache. Set
1125 (aarch64_make_prologue_cache): Reimplement wrapping
1126 aarch64_make_prologue_cache_1, and swallowing
1127 NOT_AVAILABLE_ERROR.
1128 (aarch64_prologue_frame_unwind_stop_reason): New function.
1129 Return UNWIND_UNAVAILABLE if available_p is not set.
1130 (aarch64_prologue_unwind): Install it.
1131 (aarch64_prologue_this_id): Move prev_pc and prev_sp limit
1132 checks into aarch64_prologue_frame_unwind_stop_reason. Call
1133 frame_id_build_unavailable_stack if available_p is not set.
1137 * aarch64-tdep.c (aarch64_prologue_cache) <func, prev_pc>: New
1139 (aarch64_scan_prologue): Set prev_pc.
1140 (aarch64_make_prologue_cache): Set func.
1141 (aarch64_make_stub_cache): Set prev_pc.
1142 (aarch64_prologue_this_id): Remove local variables id, pc and
1143 func. Read prev_pc and func from cache.
1144 (aarch64_stub_this_id): Read prev_pc from cache.
1148 * aarch64-tdep.c (aarch64_make_stub_cache): Update comment. New
1149 argument this_cache. Remove unused local variables reg and
1150 unwound_fp. Return early if this_cache is already set. Set
1152 (aarch64_stub_this_id): Update call to aarch64_make_stub_cache.
1156 * aarch64-tdep.c (aarch64_make_prologue_cache): Update comment.
1157 New argument this_cache. Return early if this_cache is already
1158 set. Set this_cache.
1159 (aarch64_prologue_this_id): Update call to
1160 aarch64_make_prologue_cache.
1161 (aarch64_prologue_prev_register): Likewise.
1162 (aarch64_normal_frame_base): Likewise.
1166 * c-valprint.c (c_val_print): Factor out memberptr printing code
1167 from c_val_print to ...
1168 (c_val_print_memberptr): ... this new function.
1172 * c-valprint.c (c_val_print): Factor out int printing code to ...
1173 (c_val_print_int): ... this new function.
1177 * c-valprint.c (c_val_print): Factor out struct and union
1178 printing code to ...
1179 (c_val_print_struct): ... this new function ...
1180 (c_val_print_union): ... and this new function.
1184 * c-valprint.c (c_val_print): Factor out pointer printing code
1186 (c_val_print_ptr): ... this new function.
1190 * c-valprint.c (c_valprint): Factor our array printing code from
1192 (c_val_print_array): ... this new function.
1196 * c-valprint.c (c_val_print): Factor out pointer printing code
1198 (print_unpacked_pointer): ... this new function.
1202 * c-valprint.c (c_val_print): Remove an assignment to i and move
1207 * aarch64-linux-nat.c (aarch64_linux_get_debug_reg_capacity): Add
1208 argument ptid. Update comments. Caller update.
1212 * btrace.c (pt_print_packet): Print stop, vmcs, tma, mtc, cyc, and
1217 * btrace.c (btrace_pt_readmem_callback): Change type of PC argument.
1221 * progspace.c (delete_program_space): Add missing spaces.
1225 * inferior.c (delete_inferior_1): Rename to ...
1226 (delete_inferior): ..., remove 'silent' parameter, delete
1227 program space when unused and remove call to prune_program_spaces.
1228 Remove the old, unused, delete_inferior.
1229 (delete_inferior_silent): Remove.
1230 (prune_inferiors): Change call from delete_inferior_1 to
1231 delete_inferior and remove 'silent' parameter. Remove call to
1232 prune_program_spaces.
1233 (remove_inferior_command): Idem.
1234 * inferior.h (delete_inferior_1): Rename to...
1235 (delete_inferior): ..., remove 'silent' parameter and remove the
1236 original delete_inferior.
1237 (delete_inferior_silent): Remove.
1238 * mi/mi-main.c (mi_cmd_remove_inferior): Change call from
1239 delete_inferior_1 to delete_inferior and remove 'silent'
1241 * progspace.c (prune_program_spaces): Remove.
1242 (pspace_empty_p): Rename to...
1243 (program_space_empty_p): ... and make non-static.
1244 (delete_program_space): New.
1245 * progspace.h (prune_program_spaces): Remove declaration.
1246 (program_space_empty_p): New declaration.
1247 (delete_program_space): New declaration.
1248 * monitor.c (monitor_close): Replace call to
1249 delete_thread_silent and delete_inferior_silent with
1250 discard_all_inferiors.
1254 * defs.h (deprecated_register_changed_hook): Remove prototype.
1255 * interps.c (clear_iterpreter_hooks): Remove reference to
1256 deprecated_register_changed_hook.
1257 * top.c (deprecated_register_changed_hook): Remove prototype.
1258 * valops.c (value_assign): Remove reference to
1259 deprecated_register_changed_hook.
1260 * tui/tui-hooks.c (tui_register_changed): Add parameter "frame".
1261 Add comment documenting the function.
1262 (tui_register_changed_observer): Define.
1263 (tui_install_hooks): Remove reference to
1264 deprecated_register_changed_hook. Set
1265 tui_register_changed_observer.
1266 (tui_remove_hooks): Remove reference to
1267 deprecated_register_changed_hook. Unset
1268 tui_register_changed_observer.
1273 * compile/compile-c-types.c (insert_type): Change gdb_assert to error.
1278 * ax-gdb.c (gen_conversion): Extend to 'to' bits, not 'from'.
1282 * MAINTAINERS (Write After Approval): Add Markus T. Metzger.
1286 * nat/linux-btrace.c (kernel_supports_bts, kernel_supports_pt):
1287 Use safe_strerror() instead of strerror().
1291 * features/arm-with-m-fpa-layout.xml: Set architecture to arm.
1292 * features/arm-with-m-fpa-layout.c: Regenerated.
1293 * features/arm-with-m-vfp-d16.xml: Likewise.
1294 * features/arm-with-m-vfp-d16.c: Regenerated.
1295 * features/arm-with-m.xml: Likewise.
1296 * features/arm-with-m.c: Regenerated.
1297 * features/arm-with-neon.xml: Likewise.
1298 * features/arm-with-neon.c: Regenerated.
1299 * features/arm-with-vfpv2.xml: Likewise.
1300 * features/arm-with-vfpv2.c: Regenerated.
1301 * features/arm-with-vfpv3.xml: Likewise.
1302 * features/arm-with-vfpv3.c: Regenerated.
1306 * aarch32-linux-nat.h (VFP_REGS_SIZE): New macro, moved from
1308 * aarch64-linux-nat.c: Include aarch32-linux-nat.h and
1310 (fetch_gregs_from_thread): Call aarch32_gp_regcache_supply
1311 if target is 32-bit.
1312 (store_gregs_to_thread): Call aarch32_gp_regcache_collect
1313 if target is 32-bit.
1314 (fetch_fpregs_from_thread): Call aarch32_vfp_regcache_supply
1315 if target is 32-bit.
1316 (store_fpregs_to_thread): Call aarch32_vfp_regcache_collect
1317 if target is 32-bit.
1318 (tdesc_arm_with_vfpv3, tdesc_arm_with_neon): Declare.
1319 (aarch64_linux_read_description): Return the right target
1321 * arm-linux-nat.c (VFP_REGS_SIZE): Moved to aarch32-linux-nat.h.
1322 * config/aarch64/linux.mh (NATDEPFILES): Add aarch32-linux-nat.o.
1323 * configure.tgt (aarch64*-*-linux*): Add arm-tdep.o and
1328 * aarch32-linux-nat.c: New file.
1329 * aarch32-linux-nat.h: New file.
1330 * arm-linux-nat.c: Include aarch32-linux-nat.h.
1331 (fetch_regs): Move code to aarch32-linux-nat.c. Call
1332 aarch32_gp_regcache_supply.
1333 (store_regs): Move code to aarch32-linux-nat.c. Call
1334 aarch32_gp_regcache_collect.
1335 (fetch_vfp_regs): Move code to aarch32-linux-nat.c. Call
1336 aarch32_vfp_regcache_supply.
1337 (store_vfp_regs): Move code to aarch32-linux-nat.c. Call
1338 aarch32_vfp_regcache_collect.
1339 * config/arm/linux.mh (NATDEPFILES): Add aarch32-linux-nat.o.
1343 * arm-linux-nat.c (store_fpregister): Remove.
1344 (store_register): Likewise.
1345 (fetch_fpregister): Likewise.
1346 (fetch_register): Likewise.
1347 (arm_linux_store_inferior_registers): Call store_regs and
1348 store_fpregs instead.
1349 (arm_linux_fetch_inferior_registers): Call fetch_fpregs and
1354 * doc/gdb.texinfo (TUI): Restructure documentation on TUI layout
1359 * NEWS: Create a new section for the next release branch.
1360 Rename the section of the current branch, now that it has
1365 GDB 7.10 branch created (66c4b3e8a628a207bc6aafef6af0c4128195f56e):
1366 * version.in: Bump version to 7.10.50.DATE-cvs.
1370 * breakpoint.c (remove_breakpoint_1): Don't handle permanent
1371 breakpoints in a special way.
1372 (remove_breakpoint): Likewise.
1373 (mark_breakpoints_out): Likewise.
1377 * doc/gdb.texinfo (TUI): Add comma after @xref.
1381 * tui/tui-win.c (tui_set_focus): Use structure member 'generic'
1382 instead of casting the structure type.
1386 * valops.c (search_struct_field): Remove OFFSET parameter.
1387 (value_cast_structs): Adjust calls to search_struct_field.
1388 (value_struct_elt): Same.
1389 (find_overload_match): Same.
1393 * value.c (value_fetch_lazy): Update comment, change return
1395 * value.h (value_fetch_lazy): Change return value to void.
1399 * tui/tui-data.c (tui_partial_win_by_name): Window name is const.
1400 (tui_win_name): Make parameter and result const.
1401 * tui/tui-data.h (tui_win_name): Make parameter and result const.
1405 * i386-tdep.c (i386_mpx_info_bounds): Don't call error, instead
1406 use printf_unfiltered.
1407 (set_mpx_cmd): Add missing trailing space to command string
1409 (_initialize_i386_tdep): Give the "mpx" prefix command its
1414 * rx-tdep.c (RX_USP_REGNUM, RX_BPC_REGNUM): New constants.
1415 (enum rx_frame_type): New.
1416 (struct rx_prologue): Add new field `frame_type'.
1417 (rx_analyze_prologue): Add `frame_type' parameter. Cache this
1418 parameter in the prologue struct. Add code for recording
1419 locations of PC and PSW for fast interrupt and exception frames.
1420 (rx_skip_prologue): Adjust call to rx_analyze_prologue.
1421 (rx_analyze_frame_prologue): Add `frame_type' parameter.
1422 (rx_frame_type): New function.
1423 (rx_frame_base): Fetch frame type and pass it to rx_analyze_prologue.
1424 (rx_frame_this_id): Rename parameter `this_prologue_cache' to
1426 (rx_frame_prev_register): Rename parameter `this_prologue_cache' to
1427 `this_cache'. Add cases for RX_FRAME_TYPE_EXCEPTION and
1428 RX_FRAME_TYPE_FAST_INTERRUPT.
1429 (normal_frame_p, exception_frame_p, rx_frame_sniffer_common)
1430 (rx_frame_sniffer, rx_exception_sniffer): New functions.
1431 (rx_frame_unwind): Use rx_frame_sniffer instead of
1432 default_frame_sniffer.
1433 (rx_frame_unwind): New unwinder.
1434 (rx_gdbarch_init): Register new unwinder.
1438 * rx-tdep.c (RX_BPSW_REGNUM, RX_FPSW_REGNUM): New constants.
1439 (struct gdbarch_tdep): Add fields rx_psw_type and rx_fpsw_type.
1440 (rx_register_type): Add cases for RX_PSW_REGNUM, RX_BPSW_REGNUM,
1442 (rx_gdbarch_init): Initialize PSW, BPSW, and FPSW flags types.
1446 Fix GCC false warning.
1447 * s390-linux-tdep.c (s390_handle_arg): Initialize VAL.
1451 * aarch64-linux-nat.c (aarch64_linux_insert_hw_breakpoint): Fix
1452 typo in the debugging message.
1456 * btrace.c: Include gdbcmd.h, cli/cli-utils.h, and ctype.h.
1457 (maint_btrace_cmdlist, maint_btrace_set_cmdlist)
1458 (maint_btrace_show_cmdlist, maint_btrace_pt_set_cmdlist)
1459 (maint_btrace_pt_show_cmdlist, maint_btrace_pt_skip_pad)
1460 (btrace_maint_clear): New.
1461 (btrace_fetch, btrace_clear): Call btrace_maint_clear.
1462 (pt_print_packet, btrace_maint_decode_pt)
1463 (btrace_maint_update_pt_packets, btrace_maint_update_packets)
1464 (btrace_maint_print_packets, get_uint, get_context_size, no_chunk)
1465 (maint_btrace_packet_history_cmd)
1466 (maint_btrace_clear_packet_history_cmd, maint_btrace_clear_cmd)
1467 (maint_btrace_cmd, maint_btrace_set_cmd, maint_btrace_show_cmd)
1468 (maint_btrace_pt_set_cmd, maint_btrace_pt_show_cmd)
1469 (maint_info_btrace_cmd, _initialize_btrace): New.
1470 * btrace.h (btrace_pt_packet, btrace_pt_packet_s)
1471 (btrace_maint_packet_history, btrace_maint_info): New.
1472 (btrace_thread_info) <maint>: New.
1473 * NEWS: Announce it.
1477 * btrace.c (btrace_fetch): Append the new trace data.
1478 (btrace_clear): Clear the stored trace data.
1479 * btrace.h (btrace_thread_info) <data>: New.
1480 * common/btrace-common.h (btrace_data_clear)
1481 (btrace_data_append): New.
1482 * common/btrace-common.c (btrace_data_clear)
1483 (btrace_data_append): New.
1487 * nat/linux-btrace.c (linux_enable_bts): Check for
1488 PERF_ATTR_SIZE_VER5.
1489 Check for data_offset and data_size fields. Use them.
1493 * NEWS: Announce new commands "record btrace pt" and "record pt".
1494 Announce new options "set|show record btrace pt buffer-size".
1495 * btrace.c: Include "rsp-low.h".
1496 Include "inttypes.h".
1497 (btrace_add_pc): Add forward declaration.
1498 (pt_reclassify_insn, ftrace_add_pt, btrace_pt_readmem_callback)
1499 (pt_translate_cpu_vendor, btrace_finalize_ftrace_pt)
1500 (btrace_compute_ftrace_pt): New.
1501 (btrace_compute_ftrace): Support BTRACE_FORMAT_PT.
1502 (check_xml_btrace_version): Update version check.
1503 (parse_xml_raw, parse_xml_btrace_pt_config_cpu)
1504 (parse_xml_btrace_pt_raw, parse_xml_btrace_pt)
1505 (btrace_pt_config_cpu_attributes, btrace_pt_config_children)
1506 (btrace_pt_children): New.
1507 (btrace_children): Add support for "pt".
1508 (parse_xml_btrace_conf_pt, btrace_conf_pt_attributes): New.
1509 (btrace_conf_children): Add support for "pt".
1510 * btrace.h: Include "intel-pt.h".
1511 (btrace_pt_error): New.
1512 * common/btrace-common.c (btrace_format_string, btrace_data_fini)
1513 (btrace_data_empty): Support BTRACE_FORMAT_PT.
1514 * common/btrace-common.h (btrace_format): Add BTRACE_FORMAT_PT.
1515 (struct btrace_config_pt): New.
1516 (struct btrace_config)<pt>: New.
1517 (struct btrace_data_pt_config, struct btrace_data_pt): New.
1518 (struct btrace_data)<pt>: New.
1519 * features/btrace-conf.dtd (btrace-conf)<pt>: New.
1521 * features/btrace.dtd (btrace)<pt>: New.
1522 (pt, pt-config, cpu): New.
1523 * nat/linux-btrace.c (perf_event_read, perf_event_read_all)
1524 (perf_event_pt_event_type, kernel_supports_pt)
1525 (linux_supports_pt): New.
1526 (linux_supports_btrace): Support BTRACE_FORMAT_PT.
1527 (linux_enable_bts): Free tinfo on error.
1528 (linux_enable_pt): New.
1529 (linux_enable_btrace): Support BTRACE_FORMAT_PT.
1530 (linux_disable_pt): New.
1531 (linux_disable_btrace): Support BTRACE_FORMAT_PT.
1532 (linux_fill_btrace_pt_config, linux_read_pt): New.
1533 (linux_read_btrace): Support BTRACE_FORMAT_PT.
1534 * nat/linux-btrace.h (struct btrace_tinfo_pt): New.
1535 (struct btrace_target_info)<pt>: New.
1536 * record-btrace.c (set_record_btrace_pt_cmdlist)
1537 (show_record_btrace_pt_cmdlist): New.
1538 (record_btrace_print_pt_conf): New.
1539 (record_btrace_print_conf): Support BTRACE_FORMAT_PT.
1540 (btrace_ui_out_decode_error): Support BTRACE_FORMAT_PT.
1541 (cmd_record_btrace_pt_start): New.
1542 (cmd_record_btrace_start): Support BTRACE_FORMAT_PT.
1543 (cmd_set_record_btrace_pt, cmd_show_record_btrace_pt): New.
1544 (_initialize_record_btrace): Add new commands.
1545 * remote.c (PACKET_Qbtrace_pt, PACKET_Qbtrace_conf_pt_size): New.
1546 (remote_protocol_features): Add "Qbtrace:pt".
1547 Add "Qbtrace-conf:pt:size".
1548 (remote_supports_btrace): Support BTRACE_FORMAT_PT.
1549 (btrace_sync_conf): Support PACKET_Qbtrace_conf_pt_size.
1550 (remote_enable_btrace): Support BTRACE_FORMAT_PT.
1551 (_initialize_remote): Add new commands.
1555 * configure.ac: check for libipt
1556 * configure: Regenerate.
1557 * config.in: Regenerate.
1558 * Makefile.in (LIBIPT): New.
1559 (CLIBS): Add $LIBIPT.
1560 * NEWS: document new configure options
1564 * compile/compile-object-load.c (compile_object_load): Replace debug
1565 message "lookup undefined ELF symbol" by 3 more specific messages.
1569 * rl78-tdep.c (struct gdbarch_tdep): Add new field, rl78_psw_type.
1570 (rl78_register_type): Add case for RL78_PSW_REGNUM.
1571 (rl78_gdbarch_init): Initialize rl78_psw_type.
1575 * tui/tui-hooks.c (tui_refresh_frame_and_register_information):
1576 Update commentary. Always refresh the registers when frame
1577 information has changed.
1578 * tui/tui-stack.c (tui_show_frame_info): Update commentary.
1579 Change return type to int. Return 1 if frame information has
1580 changed, 0 otherwise.
1581 (tui_before_prompt): Update commentary.
1582 * tui/tui-stack.h (tui_show_frame_info): Change return type to
1588 * frame.c (select_frame): Remove reference to
1589 deprecated_selected_frame_level_changed_hook.
1590 * frame.h (deprecated_selected_frame_level_changed_hook): Remove
1592 * stack.c (deprecated_selected_frame_level_changed_hook):
1594 * tui/tui-hooks.c (tui_selected_frame_level_changed_hook):
1596 (tui_refresh_frame_and_register_information): ... this. Bail
1597 out if there is no stack. Don't update register information
1598 unless registers_too_p is true.
1599 (tui_print_frame_info_listing_hook): Rename to ...
1600 (tui_dummy_print_frame_info_listing_hook): ... this.
1601 (tui_before_prompt): New function.
1602 (tui_normal_stop): New function.
1603 (tui_before_prompt_observer): New observer.
1604 (tui_normal_stop_observer): New observer.
1605 (tui_install_hooks): Set
1606 deprecated_print_frame_info_listing_hook to
1607 tui_dummy_print_frame_info_listing_hook. Register
1608 tui_before_prompt_observer to call tui_before_prompt and
1609 tui_normal_stop_observer to call tui_normal_stop. Remove
1610 reference to deprecated_selected_frame_level_changed_hook.
1611 (tui_remove_hooks): Detach and unset tui_before_prompt_observer
1612 and tui_normal_stop_observer. Remove reference to
1613 deprecated_selected_frame_level_changed_hook.
1618 * tui/tui-stack.c (tui_set_locator_info): Change prototype to
1619 return an int instead of void. Return whether the locator
1621 (tui_show_frame_info): If the locator info has not changed, then
1622 bail out early to avoid refreshing the windows.
1626 * tui/tui-stack.c (tui_set_locator_info): Explicitly pass
1627 LOCATOR_WIN to tui_alloc_content.
1632 * arm-tdep.c (arm_get_next_pc_raw): Break for media
1637 * rx-tdep.c (RX_PSW_REGNUM): New enum constant.
1638 (rx_dwarf_reg_to_regnum): New function.
1639 (rx_gdbarch_init): Register rx_dwarf_reg_to_regnum. Use dwarf2
1645 * infcall.c (run_inferior_call): On infcall success, if the thread
1646 was marked stopped before, reset it back to stopped.
1647 * infrun.c (resume): Don't suppress the set_running calls when
1649 (normal_stop): Only discard the finish_thread_state cleanup if the
1654 * MAINTAINERS (Write After Approval): Update my email address.
1660 * block.c (block_lookup_symbol): For non-function blocks,
1661 continue to search for a symbol with an exact domain match
1662 Otherwise, return any previously found "best domain" symbol.
1663 (block_lookup_symbol_primary): Likewise.
1667 * NEWS: Mention the new option "history remove-duplicates".
1668 * top.c (history_remove_duplicates): New static variable.
1669 (show_history_remove_duplicates): New static function.
1670 (gdb_add_history): Conditionally remove duplicate history
1672 (init_main): Add "history remove-duplicates" option.
1676 * tui/tui-win.c (focus_completer): New static function.
1677 (_initialize_tui_win): Set the completion function of the
1678 "focus" command to focus_completer.
1682 * linespec.c (minsym_found): Reset sal.PC for COMPUNIT_LOCATIONS_VALID
1684 * symtab.c (find_function_start_sal): Likewise.
1688 * solib.c (solib_find_1): Set local variable sysroot to NULL if
1689 it is the empty string after trailing slashes have been stripped.
1693 * exec.c (exec_file_locate_attach): Remove gdb_sysroot NULL check.
1694 * infrun.c (follow_exec): Likewise.
1695 * remote.c (remote_filesystem_is_local): Likewise.
1696 * solib.c (solib_find_1): Likewise.
1700 * build-id.c (build_id_to_debug_bfd): Add cleanup to free
1701 return value from lrealpath.
1705 * remote-sim.c (gdbsim_open): Move sysroot update to the top.
1709 * remote-sim.c: Include gdb_bfd.h.
1710 (gdbsim_open): Declare new local sysroot pointing to gdb_sysroot.
1711 Skip TARGET_SYSROOT_PREFIX in gdb_sysroot when it is active.
1715 * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't call
1716 set_gdbarch_get_siginfo_type.
1717 * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
1718 * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
1719 * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
1720 * m68klinux-tdep.c (m68k_linux_init_abi): Likewise.
1721 * ppc-linux-tdep.c (ppc_linux_init_abi): Likewise.
1722 * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
1723 * tilegx-linux-tdep.c (tilegx_linux_init_abi): Likewise.
1724 * linux-tdep.c (linux_get_siginfo_type): Change it to static.
1725 (linux_init_abi): Call set_gdbarch_get_siginfo_type.
1726 * linux-tdep.h (linux_get_siginfo_type): Remove the declaration.
1730 * common/buffer.c (stdint.h): Do not include.
1731 * common/print-utils.c (stdint.h): Likewise.
1732 * compile/compile-c-symbols.c (gdb_assert.h): Likewise.
1733 * compile/compile-c-types.c (gdb_assert.h): Likewise.
1734 * ft32-tdep.c (gdb_assert.h): Likewise.
1735 * guile/scm-utils.c (stdint.h): Likewise.
1736 * i386-linux-tdep.c (stdint.h): Likewise.
1737 * i386-tdep.c (stdint.h): Likewise.
1738 * nat/linux-btrace.c (stdint.h): Likewise.
1739 * nat/linux-btrace.h (stdint.h): Likewise.
1740 * nat/linux-ptrace.c (stdint.h): Likewise.
1741 * nat/mips-linux-watch.h (stdint.h): Likewise.
1742 * ppc-linux-nat.c (stdint.h): Likewise.
1743 * python/python-internal.h (stdint.h): Likewise.
1744 * stub-termcap.c (stdlib.h): Likewise.
1745 * target/target.h (stdint.h): Likewise.
1746 * xtensa-linux-nat.c (stdint.h): Likewise.
1750 * top.c (init_history): Look at errno after calling strtol to
1751 properly map large GDBHISTSIZE values to infinity.
1755 * inferior.h (struct inferior_suspend_state): Delete, unused.
1756 All references deleted.
1760 * microblaze-tdep.c (microblaze_push_dummy_code): Delete.
1761 (microblaze_push_dummy_call): Likewise.
1762 (microblaze_gdbarch_init): Delete calls to set_gdbarch_push_dummy_code
1763 and set_gdbarch_push_dummy_call.
1767 * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
1768 Check whether have_ptrace_getregset is TRIBOOL_TRUE explicitly.
1769 (amd64_linux_store_inferior_registers): Likewise.
1770 * arm-linux-nat.c (fetch_fpregister): Likewise.
1771 (fetch_fpregs, store_fpregister): Likewise.
1772 (store_fpregister, store_fpregs): Likewise.
1773 (fetch_register, fetch_regs): Likewise.
1774 (store_register, store_regs): Likewise.
1775 (fetch_vfp_regs, store_vfp_regs): Likewise.
1776 (arm_linux_read_description): Check have_ptrace_getregset is
1777 TRIBOOL_UNKNOWN. Set have_ptrace_getregset to TRIBOOL_TRUE
1779 * i386-linux-nat.c (fetch_xstateregs): Check
1780 have_ptrace_getregset is not TRIBOOL_TRUE.
1781 (store_xstateregs): Likewise.
1782 * linux-nat.c (have_ptrace_getregset): Change its type to
1784 * linux-nat.h (tribool): New enum.
1785 * x86-linux-nat.c (x86_linux_read_description): Use enum tribool.
1786 Check whether have_ptrace_getregset is TRIBOOL_TRUE.
1790 * NEWS: Mention Sun's version of stabs is no longer supported.
1791 * elfread.c (free_elfinfo): Delete. All uses updated.
1792 (elfstab_offset_sections): Delete. All uses updated.
1793 * gdb-stabs.h (stab_section_info): Delete. All uses updated.
1794 * psympriv.h (partial_symtab) <section_offsets>: Delete.
1796 * psymtab.c (start_psymtab_common): Delete arg section_offsets.
1797 All callers updated.
1801 * common/rsp-low.c (needs_escaping): New.
1802 (remote_escape_output): Add unit_size parameter. Refactor to
1803 support multi-byte addressable units. Rename parameters.
1804 * common/rsp-low.h (remote_escape_output): Add unit_size
1805 parameter and rename others. Update doc.
1806 * remote.c (align_for_efficient_write): New.
1807 (remote_write_bytes_aux): Add unit_size parameter and use it.
1808 Rename some variables. Update doc.
1809 (remote_xfer_partial): Get unit size and use it.
1810 (remote_read_bytes_1): Add unit_size parameter and use it.
1811 Rename some variables. Update doc.
1812 (remote_write_bytes): Same.
1813 (remote_xfer_live_readonly_partial): Same.
1814 (remote_read_bytes): Same.
1815 (remote_flash_write): Update call to remote_write_bytes_aux.
1816 (remote_write_qxfer): Update call to remote_escape_output.
1817 (remote_search_memory): Same.
1818 (remote_hostio_pwrite): Same.
1822 * breakpoint.c (add_location_to_breakpoint): Don't mark permanent
1823 locations as inserted.
1824 Update and expand comment about permanent locations.
1825 (bp_loc_is_permanent): Don't return 0 for bp_call_dummy.
1826 Move comment to add_location_to_breakpoint.
1827 (update_global_location_list): Don't error out if a permanent
1828 breakpoint is not marked inserted.
1829 Don't error out if a non-permanent breakpoint location is inserted on
1830 top of a permanent breakpoint.
1834 * breakpoint.c (make_breakpoint_permanent): Remove unused
1836 * breakpoint.h (make_breakpoint_permanent): Remove declaration.
1841 * NEWS: Mention new GDBHISTSIZE behavior.
1842 * top.c (init_history): For null or out-of-range GDBHISTSIZE,
1843 set history size to unlimited. Ignore non-numeric GDBHISTSIZE.
1847 * NEWS: Mention that GDBHISTSIZE is read instead of HISTSIZE.
1848 * top.c (init_history): Read from GDBHISTSIZE instead of
1850 (init_main): Refer to GDBHISTSIZE instead of HISTSIZE.
1854 * top.c (gdb_safe_append_history): Do not call
1855 history_truncate_file if the history is not stifled.
1859 * syscalls/s390-linux.xml: Add syscalls 344 through 354.
1860 * syscalls/s390x-linux.xml: Likewise.
1864 * nat/linux-namespaces.c (MSG_CMSG_CLOEXEC): Define if not defined.
1868 * tui/tui-hooks.c (tui_selected_frame_level_changed_hook): Call
1869 target_terminal_ours_for_output() before calling
1870 tui_show_frame_info(), and restore the original terminal
1871 settings afterwards.
1875 * arm-linux-nat.c: Include nat/linux-ptrace.h.
1879 * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Consider addressable
1881 (mi_cmd_data_write_memory_bytes): Same.
1885 * corefile.c (write_memory): Update doc.
1886 * gdbcore.h (write_memory): Same.
1890 * linux-tdep.c (enum filterflags): Make it from anonymous enum.
1891 (dump_mapping_p): Use it for parameter filterflags.
1892 (linux_find_memory_regions_full): Use it for variable filterflags.
1897 Merge multiple hex conversions.
1898 * monitor.c: Include rsp-low.h.
1899 (fromhex): Remove definition.
1904 Move utility functions to common/.
1905 * cli/cli-utils.c (skip_spaces, skip_spaces_const, skip_to_space_const):
1906 Move defs to common/common-utils.c.
1907 * cli/cli-utils.h (skip_spaces, skip_spaces_const, skip_to_space)
1908 (skip_to_space_const): Move decls to common/common-utils.h.
1909 * common/common-defs.h: Move include of common-types.h before
1911 * common/common-utils.c: Include host-defs.h and ctype.h.
1912 (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int, strtoulst): Move
1914 (skip_spaces, skip_spaces_const, skip_to_space_const): Move from
1916 * common/common-utils.h (strtoulst): Move decl from utils.h.
1917 (skip_spaces, skip_spaces_const, skip_to_space, skip_to_space_const):
1918 Move from cli/cli-utils.h.
1919 * common/host-defs.h: Include limits.h.
1920 (TARGET_CHAR_BIT, HOST_CHAR_BIT): Moved from defs.h.
1921 (skip_spaces, skip_spaces_const): Move decls from cli/cli-utils.h.
1922 * defs.h (TARGET_CHAR_BIT, HOST_CHAR_BIT): Move to
1923 common/common-utils.h.
1924 * utils.c (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int)
1925 (strtoulst): Move to common/common-utils.c.
1926 * utils.h (strtoulst): Moved decl to common/common-utils.h.
1930 * data-directory/Makefile.in (SYSCALLS_FILES): Add aarch64-linux.xml.
1934 * build-id.c: Don't include elf-bfd.h.
1935 (build_id_bfd_get): Use bfd_build_id.
1936 (build_id_verify): Ditto.
1937 * build-id.h: Ditto.
1938 (find_separate_debug_file_by_buildid): Ditto.
1939 * python/py-objfile.c: Don't include elf-bfd.h.
1940 (objfpy_get_build_id) Use bfd_build_id.
1941 (objfpy_build_id_matches, objfpy_lookup_objfile_by_build_id): Ditto.
1942 * coffread.c: Include build-id.h.
1943 (coff_symfile_read): Try find_separate_debug_file_by_buildid.
1947 * windows-nat.c (do_windows_fetch_inferior_registers)
1948 (handle_output_debug_string): Replace __COPY_CONTEXT_SIZE
1949 conditional with __CYGWIN__.
1953 * completer.c: Add arch-utils.h include.
1954 (enum reg_completer_targets): New enum.
1955 (reg_or_group_completer_1): New function containing old
1956 reg_or_group_completer, add and use new parameter to control what
1957 is completed on. Use get_current_arch rather than architecture of
1958 currently selected frame.
1959 (reg_or_group_completer): Call new reg_or_group_completer_1.
1960 (reggroup_completer): Call new reg_or_group_completer_1.
1961 * completer.h (reggroup_completer): Add declaration.
1962 * tui/tui-regs.c: Add 'completer.h' include.
1963 (tui_reg_next_command): Renamed to...
1964 (tui_reg_next): ...this. Adjust parameters and return rather than
1966 (tui_reg_prev_command): Renamed to...
1967 (tui_reg_prev): ...this. Adjust parameters and return rather than
1969 (tui_reg_float_command): Delete.
1970 (tui_reg_general_command): Delete.
1971 (tui_reg_system_command): Delete.
1972 (tui_reg_command): Rewrite to perform switching of register group.
1974 (tuireglist): Remove.
1975 (tui_reggroup_completer): New function.
1976 (_initialize_tui_regs): Remove 'tui reg' sub-commands, update
1977 creation of 'tui reg' command.
1978 * NEWS: Add comment about 'tui reg' changes.
1982 * target.c (target_read): Consider addressable unit size when
1983 reading from a memory object.
1984 (read_memory_robust): Same.
1985 (read_whatever_is_readable): Same.
1986 (target_write_with_progress): Consider addressable unit size
1987 when writing to a memory object.
1988 * target.h (target_read): Update documentation.
1989 (target_write): Add documentation.
1993 * arch-utils.h (default_addressable_memory_unit_size): New.
1994 * arch-utils.c (default_addressable_memory_unit_size): New.
1995 * gdbarch.sh (addressable_memory_unit_size): New.
1996 * gdbarch.h: Re-generate.
1997 * gdbarch.c: Re-generate.
2001 * target.c (target_read): Rename variables and use
2003 (target_read_with_progress): Same.
2004 (read_memory_robust): Constify parameters and rename
2006 (read_whatever_is_readable): Constify parameters,
2007 rename variables, adjust formatting.
2008 * target.h (read_memory_robust): Constify parameters.
2012 * ppc-sysv-tdep.c (ppc64_sysv_abi_return_value_base): Handle short
2013 synthetic (non-AltiVec) vector types.
2014 (ppc64_sysv_abi_return_value): Likewise.
2018 PR breakpoints/16465
2019 * breakpoint.c (create_breakpoint): Save extra_string for
2020 pending breakpoints.
2024 * i386-tdep.c (i386_mpx_get_bt_entry): Add a cast for mpx_bd_mask
2025 and bt_mask to CORE_ADDR.
2029 * nat/linux-namespaces.c (mnsh_send_message): Use pulongest.
2030 (mnsh_recv_message): Likewise.
2034 * i386-tdep.c (i386_mpx_print_bounds): use of LONGEST instead of
2035 long long int and plongest instead of %ll.
2039 * nat/linux-namespaces.c (gdb_wait.h): New include.
2040 (sys/wait.h): Do not include.
2044 * dwarf2read.c (dwarf_record_line): Call dwarf_record_line if
2045 end_sequence is true.
2050 * solib-target.c (library_list_start_list): Use explicit NULL
2055 * solib-target.c (library_list_start_list): Do not dereference
2056 variable version in its initialization. Make the VERSION check handle
2058 (library_list_attributes): Make "version" GDB_XML_AF_OPTIONAL.
2062 * NEWS: Announce support for direct access of executable and
2063 shared library files when attaching to inferiors in containers
2064 on GNU/Linux systems.
2068 * remote.c (struct remote_state) <fs_pid>: New field.
2069 (new_remote_state): Initialize the above.
2070 (PACKET_vFile_setfs): New enum value.
2071 (remote_hostio_set_filesystem): New function.
2072 (remote_hostio_open): Call the above.
2073 (remote_hostio_unlink): Likewise.
2074 (remote_hostio_readlink): Likewise.
2075 (_initialize_remote): Register new "set/show remote
2076 hostio-setfs-packet" command.
2077 * NEWS: Announce new vFile:setfs packet.
2081 * linux-nat.c (nat/linux-namespaces.h): New include.
2082 (fileio.h): Likewise.
2083 (linux_nat_filesystem_is_local): New function.
2084 (linux_nat_fileio_pid_of): Likewise.
2085 (linux_nat_fileio_open): Likewise.
2086 (linux_nat_fileio_readlink): Likewise.
2087 (linux_nat_fileio_unlink): Likewise.
2088 (linux_nat_add_target): Initialize to_filesystem_is_local,
2089 to_fileio_open, to_fileio_readlink and to_fileio_unlink.
2090 (_initialize_linux_nat): New "set/show debug linux-namespaces"
2092 * NEWS: Mention new "set/show debug linux-namespaces" commands.
2096 * target.h (struct inferior): New forward declaration.
2097 (struct target_ops) <to_filesystem_is_local>: Update comment.
2098 (struct target_ops) <to_fileio_open>: New argument inf.
2099 Update comment. All implementations updated.
2100 (struct target_ops) <to_fileio_unlink>: Likewise.
2101 (struct target_ops) <to_fileio_readlink>: Likewise.
2102 (target_filesystem_is_local): Update comment.
2103 (target_fileio_open): New argument inf. Update comment.
2104 (target_fileio_unlink): Likewise.
2105 (target_fileio_readlink): Likewise.
2106 (target_fileio_read_alloc): Likewise.
2107 (target_fileio_read_stralloc): Likewise.
2108 * target.c (target_fileio_open): New argument inf.
2109 Pass inf to implementation. Update debug printing.
2110 (target_fileio_unlink): Likewise.
2111 (target_fileio_readlink): Likewise.
2112 (target_fileio_read_alloc_1): New argument inf. Pass inf
2113 to target_fileio_open.
2114 (target_fileio_read_alloc): New argument inf. Pass inf to
2115 target_fileio_read_alloc_1.
2116 (target_fileio_read_stralloc): Likewise.
2117 * gdb_bfd.c (inferior.h): New include.
2118 (gdb_bfd_iovec_fileio_open): Replace unused "open_closure"
2119 argument with new argument "inferior". Pass inferior to
2121 (gdb_bfd_open): Supply inferior argument to
2122 gdb_bfd_iovec_fileio_open.
2123 * linux-tdep.c (linux_info_proc): Supply inf argument to
2124 relevant target_fileio calls.
2125 (linux_find_memory_regions_full): Likewise.
2126 (linux_fill_prpsinfo): Likewise.
2127 * remote.c (remote_filesystem_is_local): Supply inf
2128 argument to remote_hostio_open.
2129 (remote_file_put): Likewise.
2130 (remote_file_get): Likewise.
2131 (remote_file_delete): Supply inf argument to
2132 remote_hostio_unlink.
2136 * inf-child.c (inf_child_fileio_open): Replace comment.
2137 (inf_child_fileio_pwrite): Likewise.
2138 (inf_child_fileio_pread): Likewise.
2139 (inf_child_fileio_fstat): Insert blank line before comment.
2140 (inf_child_fileio_close): Replace comment.
2141 (inf_child_fileio_unlink): Likewise.
2142 (inf_child_fileio_readlink): Likewise.
2143 * remote.c (remote_hostio_open): Likewise.
2144 (remote_hostio_pread): Likewise.
2145 (remote_hostio_pwrite): Likewise.
2146 (remote_hostio_close): Likewise.
2147 (remote_hostio_unlink): Likewise.
2148 (remote_hostio_readlink): Likewise.
2149 (remote_hostio_fstat): Likewise.
2150 (remote_filesystem_is_local): Likewise.
2151 * target.c (target_fileio_open): Likewise.
2152 (target_fileio_pwrite): Likewise.
2153 (target_fileio_pread): Likewise.
2154 (target_fileio_fstat): Insert blank line before comment.
2155 (target_fileio_close): Replace comment.
2156 (target_fileio_unlink): Likewise.
2157 (target_fileio_readlink): Likewise.
2158 (target_fileio_read_alloc): Likewise.
2159 (target_fileio_read_stralloc): Likewise.
2163 * linux-thread-db.c (nat/linux-namespaces.h): New include.
2164 (check_pid_namespace_match): Use linux_ns_same rather than
2165 linux_proc_pid_get_ns to spot PID namespace mismatches.
2166 * nat/linux-procfs.h (linux_proc_pid_get_ns): Remove.
2167 * nat/linux-procfs.c (linux_proc_pid_get_ns): Likewise.
2171 * configure.ac (AC_CHECK_FUNCS): Add setns.
2172 * config.in: Regenerate.
2173 * configure: Likewise.
2174 * nat/linux-namespaces.h: New file.
2175 * nat/linux-namespaces.c: Likewise.
2176 * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-namespaces.h.
2177 (linux-namespaces.o): New rule.
2178 * config/aarch64/linux.mh (NATDEPFILES): Add linux-namespaces.o.
2179 * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
2180 * config/arm/linux.mh (NATDEPFILES): Likewise.
2181 * config/i386/linux.mh (NATDEPFILES): Likewise.
2182 * config/i386/linux64.mh (NATDEPFILES): Likewise.
2183 * config/ia64/linux.mh (NATDEPFILES): Likewise.
2184 * config/m32r/linux.mh (NATDEPFILES): Likewise.
2185 * config/m68k/linux.mh (NATDEPFILES): Likewise.
2186 * config/mips/linux.mh (NATDEPFILES): Likewise.
2187 * config/pa/linux.mh (NATDEPFILES): Likewise.
2188 * config/powerpc/linux.mh (NATDEPFILES): Likewise.
2189 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
2190 * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
2191 * config/s390/linux.mh (NATDEPFILES): Likewise.
2192 * config/sparc/linux.mh (NATDEPFILES): Likewise.
2193 * config/sparc/linux64.mh (NATDEPFILES): Likewise.
2194 * config/tilegx/linux.mh (NATDEPFILES): Likewise.
2195 * config/xtensa/linux.mh (NATDEPFILES): Likewise.
2199 * utils.h (make_cleanup_close): Moved to common/filestuff.h.
2200 * utils.c (do_close_cleanup): Moved to common/filestuff.c.
2201 (make_cleanup_close): Likewise.
2202 * common/filestuff.h (make_cleanup_close): Moved from utils.h.
2203 * common/filestuff.c (do_close_cleanup): Moved from utils.c.
2204 (make_cleanup_close): Likewise.
2208 * windows-nat.c (thread_rec): Also ignore ERROR_INVALID_HANDLE
2209 from SuspendThread().
2213 * windows-nat.c (handle_output_debug_string): Trim trailing '\n'
2214 from OutputDebugString.
2219 * i386-tdep.c (MPX_BASE_MASK, MPX_BD_MASK, MPX_BT_MASK, MPX_BD_MASK_32,
2220 MPX_BT_MASK_32): New macros.
2221 (i386_mpx_set_bounds): New function that implements
2222 the command "set-mpx-bound".
2223 (i386_mpx_enabled): Helper function to test MPX availability.
2224 (i386_mpx_bd_base): Helper function to calculate the base directory
2226 (i386_mpx_get_bt_entry): Helper function to access a bound
2228 (i386_mpx_print_bounds): Effectively display bound information.
2229 (_initialize_i386_tdep): Add new commands to commands "set mpx" and
2231 (_initialize_i386_tdep):
2232 Add "bound" to the commands "show mpx" and "set mpx" commands.
2233 (mpx_set_cmdlist and mpx_show_cmdlist): List for the new prefixed "set mpx"
2234 and "show mpx" commands.
2235 * NEWS: List new commands for MPX support.
2239 * common/fileio.h (fileio_to_host_mode): New declaration.
2240 * common/fileio.c (fileio_to_host_mode): New Function.
2241 * inf-child.c (inf_child_fileio_open): Process mode argument
2242 with fileio_to_host_mode.
2246 * common/fileio.c (fileio_mode_pack): Fix preprocessor
2251 * gdb_bfd.c (gdb_bfd_open): Move vgdb special case to...
2252 * remote.c (remote_filesystem_is_local): ...here.
2256 * gdbarch.c: Regenerate it.
2260 * arch-utils.c (default_infcall_munmap): New.
2261 * arch-utils.h (default_infcall_munmap): New declaration.
2262 * compile/compile-object-load.c (struct munmap_list, munmap_list_add)
2263 (munmap_list_free, munmap_listp_free_cleanup): New.
2264 (struct setup_sections_data): Add field munmap_list_headp.
2265 (setup_sections): Call munmap_list_add.
2266 (compile_object_load): New variable munmap_list_head, initialize
2267 setup_sections_data.munmap_list_headp, return munmap_list_head.
2268 * compile/compile-object-load.h (struct munmap_list): New declaration.
2269 (struct compile_module): Add field munmap_list_head.
2270 (munmap_list_free): New declaration.
2271 * compile/compile-object-run.c (struct do_module_cleanup): Add field
2273 (do_module_cleanup): Call munmap_list_free.
2274 (compile_object_run): Pass munmap_list_head to do_module_cleanup.
2275 * gdbarch.c: Regenerate.
2276 * gdbarch.h: Regenerate.
2277 * gdbarch.sh (infcall_munmap): New.
2278 * linux-tdep.c (linux_infcall_munmap): New.
2279 (linux_init_abi): Install it.
2284 * inferior.c (detach_inferior): Call exit_inferior_1 with silent = 0.
2288 * i386-linux-nat.c: Include linux-nat.h.
2294 * dwarf2-frame-tailcall.c (pretended_chain_levels): Correct
2296 * dwarf2loc.c (chain_candidate): Likewise.
2300 * arm-linux-nat.c (fetch_vfp_regs): Use PTRACE_GETREGSET.
2301 (store_vfp_regs): Use PTRACE_SETREGSET.
2305 * arm-linux-nat.c (fetch_fpregister): Use PTRACE_GETREGSET.
2306 (fetch_fpregs): Likewise.
2307 * arm-linux-nat.c (store_fpregister): Use PTRACE_SETREGSET.
2308 (store_fpregs): Likewise.
2312 * arm-linux-nat.c (fetch_register): Use PTRACE_GETREGSET.
2313 (fetch_regs): Likewise.
2314 (store_regs): Use PTRACE_SETREGSET.
2315 (store_register): Likewise.
2319 * arm-linux-nat.c (arm_linux_read_description): Check whether
2320 kernel supports PTRACE_GETREGSET.
2324 * x86-linux-nat.c (have_ptrace_getregset): Move it to ...
2325 * linux-nat.c: ... here.
2326 * x86-linux-nat.h (have_ptrace_getregset): Move the declaration
2328 * linux-nat.h: ... here.
2332 * amd64-linux-nat.c: Include "nat/linux-ptrace.h".
2333 * i386-linux-nat.c: Likewise.
2334 * nat/linux-ptrace.h (PTRACE_GETREGSET, PTRACE_SETREGSET): Define.
2335 * s390-linux-nat.c: Include "nat/linux-ptrace.h".
2336 (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
2337 * x86-linux-nat.c: Include "nat/linux-ptrace.h".
2338 * x86-linux-nat.h (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
2342 * go32-nat.c (go32_xfer_memory): Fix the return value to be
2343 compatible to what read_child and write_child return. This
2344 unbreaks that DJGPP build of GDB which was broken since v7.7.
2348 * MAINTAINERS (Write After Approval): Add Martin Galvan.
2353 * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use warning
2354 rather than internal_error for an unrecognized value.
2358 * xtensa-tdep.c (xtensa_pseudo_register_read)
2359 (xtensa_pseudo_register_write): Don't alias last pseudo register
2364 * infrun.c (follow_fork_inferior): Ensure the use of
2365 process-style ptids (pid,0,0) in verbose/debug "Detaching"
2370 * dwarf2read.c (record_line_ftype): Remove, duplicate.
2374 * arm-linux-nat.c (arm_linux_has_wmmx_registers): Remove.
2375 (arm_linux_fetch_inferior_registers): Use
2376 tdep->have_wmmx_registers instead of arm_linux_has_wmmx_registers.
2377 (arm_linux_store_inferior_registers): Likewise.
2378 (arm_linux_read_description): Don't set
2379 arm_linux_has_wmmx_registers.
2380 * arm-tdep.c (arm_gdbarch_init): Set
2381 tdep->have_wmmx_registers according target descriptions.
2382 * arm-tdep.h (struct gdbarch_tdep) <have_wmmx_registers>: New
2387 * arm-linux-nat.c (arm_linux_vfp_register_count): Remove.
2388 (fetch_vfp_regs): Use vfp_register_count from gdbarch_tdep
2389 instead of arm_linux_vfp_register_count.
2390 (store_vfp_regs): Likewise.
2391 (arm_linux_fetch_inferior_registers): Likewise.
2392 (arm_linux_store_inferior_registers): Likewise.
2393 (arm_linux_read_description): Don't set
2394 arm_linux_vfp_register_count.
2395 * arm-linux-tdep.c (arm_linux_iterate_over_regset_sections):
2397 * arm-tdep.c (arm_gdbarch_init): Add assert on
2399 * arm-tdep.h (struct gdbarch_tdep) <have_vfp_registers>: Rename
2400 field to vfp_register_count. All users updated.
2404 * gdb/arm-tdep.c (arm_gdbarch_init): Perform arm_abi detection on
2405 ELFOSABI_GNU binaries.
2409 * dwarf2read.c (lnp_state_machine): New typedef.
2410 (lnp_reader_state): New typedef.
2411 (dwarf_record_line_1): Renamed from dwarf_record_line.
2412 All callers updated.
2413 (dwarf_record_line): New function.
2414 (init_lnp_state_machine): New function.
2415 (check_line_address): Replace p_record_line parameter with state.
2416 All callers updated.
2417 (dwarf_decode_lines_1): Call dwarf_record_line, init_lnp_state_machine.
2418 Update to record state in lnp_state_machine.
2422 * dwarf2read.c (record_line_ftype): New typedef.
2423 (check_line_address): New function.
2424 (dwarf_decode_lines_1): Call it.
2428 * NEWS: Mention "set debug dwarf-line".
2429 * dwarf2read.c (dwarf_line_debug): New static global.
2430 (add_include_dir): Add debug dwarf-line support.
2431 (add_file_name, dwarf_record_line, dwarf_finish_line): Ditto.
2432 (_initialize_dwarf2_read): New parameter "debug dwarf-line".
2436 * cp-namespace.c (cp_lookup_nested_symbol): New arg "domain".
2437 All callers updated.
2438 (cp_lookup_nested_symbol_1, find_symbol_in_baseclass): Ditto.
2439 * cp-support.h (cp_lookup_nested_symbol): Update.
2444 * block.c (block_find_symbol): New function.
2445 (block_find_non_opaque_type): Ditto.
2446 (block_find_non_opaque_type_preferred): Ditto.
2447 * block.h (block_symbol_matcher_ftype): New typedef.
2448 (block_find_symbol): Declare.
2449 (block_find_non_opaque_type): Ditto.
2450 (block_find_non_opaque_type_preferred): Ditto.
2451 * dwarf2read.c (dw2_lookup_symbol): Call block_find_symbol.
2452 * psymtab.c (psym_lookup_symbol): Ditto.
2453 * symtab.c (basic_lookup_transparent_type_1): New function.
2454 (basic_lookup_transparent_type): Call it.
2458 * aarch64-tdep.c (aarch64_record_data_proc_simd_fp): Return
2459 AARCH64_RECORD_UNKNOWN for unknown instruction encoding.
2463 * aarch64-tdep.c (aarch64_record_branch_except_sys): Split lines
2465 (aarch64_record_load_store): Likewise.
2469 PR c++/18141, c++/18417.
2470 * cp-support.c (cp_lookup_rtti_type): Handle the case of NAME being
2475 * NEWS: Add entries for command renamings.
2476 * dwarf2read.c (dwarf_read_debug): Renamed from dwarf2_read_debug.
2478 (dwarf_die_debug): Renamed from dwarf2_die_debug. All uses updated.
2479 (dwarf_max_cache_age): Renamed from dwarf2_max_cache_age.
2481 (show_dwarf_max_cache_age): Renamed from show_dwarf2_max_cache_age.
2482 All callers updated. Fix spelling of DWARF in help text.
2483 (set_dwarf_cmdlist): Renamed from set_dwarf2_cmdlist.
2485 (show_dwarf_cmdlist): Renamed from show_dwarf2_cmdlist.
2487 (set_dwarf_cmd): Renamed from set_dwarf2_cmd. All callers updated.
2488 (show_dwarf_cmd): Renamed from show_dwarf2_cmd. All callers updated.
2489 (dwarf_always_disassemble): Renamed from dwarf_always_disassemble.
2491 (show_dwarf_always_disassemble): Renamed from
2492 show_dwarf2_always_disassemble. All callers updated.
2493 (_initialize_dwarf2_read): Rename "set/show dwarf2" prefix to
2494 "set/show dwarf". Rename "set/show dwarf2 max-cache-age" to
2495 "set/show dwarf max-cache-age". Rename
2496 "set/show dwarf2 always-disassemble" to
2497 "set/show dwarf always-disassemble". Rename
2498 "set/show debug dwarf2-read" to "set/show debug dwarf-read". Rename
2499 "set/show debug dwarf2-die" to "set/show debug dwarf-die".
2504 * python/py-lazy-string.c (stpy_convert_to_value): Use
2505 gdbpy_gdb_memory_error not PyExc_MemoryError.
2506 (gdbpy_create_lazy_string_object): Ditto.
2510 * tui/tui-regs.c (tui_reg_next_command): Compare against NULL.
2514 * tui/tui-regs.c (tui_reg_prev_command): New function.
2515 (_initialize_tui_regs): Add 'prev' command for 'tui reg'.
2516 * reggroups.c (reggroup_prev): New function.
2517 * reggroups.h (reggroup_prev): Add declaration. Update comment.
2522 * aarch64-linux-tdep.c: Include linux-record.h and
2524 (struct linux_record_tdep aarch64_linux_record_tdep): Declare.
2525 (aarch64_syscall): New enum.
2526 (aarch64_canonicalize_syscall): New function.
2527 (aarch64_all_but_pc_registers_record): New function.
2528 (aarch64_linux_syscall_record): New function.
2529 (aarch64_linux_init_abi): Install AArch64 process record
2530 handler. Update to handle syscall recording.
2531 * aarch64-tdep.c: Include record.h and record-full.h.
2532 (submask, bit, bits, REG_ALLOC, MEM_ALLOC): New macros.
2533 (struct aarch64_mem_r): Define.
2534 (aarch64_record_result): New enum.
2535 (struct insn_decode_record): Define.
2536 (insn_decode_record): New typedef.
2537 (aarch64_record_data_proc_reg): New function.
2538 (aarch64_record_data_proc_imm): New function.
2539 (aarch64_record_branch_except_sys): New function.
2540 (aarch64_record_load_store): New function.
2541 (aarch64_record_data_proc_simd_fp): New function.
2542 (aarch64_record_asimd_load_store): New function.
2543 (aarch64_record_decode_insn_handler): New function.
2544 (deallocate_reg_mem): New function.
2545 (aarch64_process_record): New function.
2546 * aarch64-tdep.h (struct gdbarch_tdep) <aarch64_syscall_record>:
2548 (aarch64_process_record): New extern declaration.
2549 * configure.tgt: Add linux-record.o to gdb_target_obs.
2550 * linux-record.h (struct linux_record_tdep) <arg7>: New field.
2554 * NEWS: Add a note on process record-replay support on aarch64*-linux*
2559 * amd64-tdep.c: Replace in_function_epilogue_p with
2560 stack_frame_destroyed_p throughout.
2561 * arch-utils.c: Ditto.
2562 * arch-utils.h: Ditto.
2563 * arm-tdep.c: Ditto.
2564 * breakpoint.c: Ditto.
2565 * gdbarch.sh: Ditto.
2566 * hppa-tdep.c: Ditto.
2567 * i386-tdep.c: Ditto.
2568 * mips-tdep.c: Ditto.
2569 * nios2-tdep.c: Ditto.
2570 * rs6000-tdep.c: Ditto.
2571 * s390-linux-tdep.c: Ditto.
2572 * score-tdep.c: Ditto.
2574 * sparc-tdep.c: Ditto.
2575 * sparc-tdep.h: Ditto.
2576 * sparc64-tdep.c: Ditto.
2577 * spu-tdep.c: Ditto.
2578 * tic6x-tdep.c: Ditto.
2579 * tilegx-tdep.c: Ditto.
2580 * xstormy16-tdep.c: Ditto.
2581 * gdbarch.c, gdbarch.h: Re-generated.
2585 * NEWS: Mention 'tui enable' and 'tui disable'.
2586 * tui/tui.c (tui_enable_command): New function.
2587 (tui_disable_command): New function.
2588 (_initialize_tui): New function.
2592 * tui/tui-regs.c (tui_reg_next_command): Use NULL not 0.
2596 * tui/tui-layout.c (tui_set_layout_for_display_command): Ensure
2601 * tui/tui-layout.c (tui_layout_command): Move call to tui_enable
2603 (tui_set_layout_for_display_command): ...here, before calling
2604 tui_set_layout. Only set the layout if gdb has not already
2605 entered the TUI_FAILURE state.
2609 * tui/tui-layout.c (layout_completer): New function.
2610 (_initialize_tui_layout): Set completer on layout command.
2614 * tui/tui-layout.c (tui_set_layout): Remove
2615 tui_register_display_type parameter. Remove all checking of this
2616 parameter, and reindent function. Update header comment.
2617 (tui_set_layout_for_display_command): Rename to...
2618 (tui_set_layout_by_name): ...this, and don't check for different
2619 register class types, don't pass a tui_register_display_type to
2620 tui_set_layout. Update header comment.
2621 (layout_names): Remove register set specific names.
2622 * tui/tui-layout.h (tui_set_layout): Remove
2623 tui_register_display_type parameter.
2624 * tui/tui.c (tui_rl_change_windows): Don't pass a
2625 tui_register_display_type to tui_set_layout.
2626 (tui_rl_delete_other_windows): Likewise.
2627 (tui_enable): Likewise.
2628 * tui/tui-data.h (TUI_FLOAT_REGS_NAME): Remove.
2629 (TUI_FLOAT_REGS_NAME_LOWER): Remove.
2630 (TUI_GENERAL_REGS_NAME): Remove.
2631 (TUI_GENERAL_REGS_NAME_LOWER): Remove.
2632 (TUI_SPECIAL_REGS_NAME): Remove.
2633 (TUI_SPECIAL_REGS_NAME_LOWER): Remove.
2634 (TUI_GENERAL_SPECIAL_REGS_NAME): Remove.
2635 (TUI_GENERAL_SPECIAL_REGS_NAME_LOWER): Remove.
2636 (enum tui_register_display_type): Remove.
2637 (struct tui_layout_def): Remove regs_display_type and
2638 float_regs_display_type fields.
2639 (struct tui_data_info): Remove regs_display_type field.
2640 (tui_layout_command): Use new name for
2641 tui_set_layout_for_display_command.
2642 * tui/tui-data.c (layout_def): Don't initialise removed fields.
2643 (tui_clear_win_detail): Don't initialise removed fields of
2645 * tui/tui-regs.c (tui_show_registers): Use new name for
2646 tui_set_layout_for_display_command.
2647 * tui/tui.h (tui_set_layout_for_display_command): Rename
2649 (tui_set_layout_by_name): ...this.
2650 * printcmd.c (display_command): Remove tui related layout call,
2655 * infrun.c (handle_inferior_event_1): Renames handle_inferior_event.
2656 (handle_inferior_event): New function.
2660 * ada-lang.c (to_fixed_array_type): Rename local variable
2661 typename into type_name.
2665 Fix ASAN crash for gdb.compile/compile.exp.
2666 * infcall.c (call_function_by_hand_dummy): Use xstrdup for NAME.
2670 * compile/compile-c-symbols.c (convert_symbol_sym, gcc_convert_symbol)
2671 (gcc_symbol_address): Change gdb_stdout to gdb_stdlog.
2672 * compile/compile-object-load.c (setup_sections, compile_object_load):
2674 * compile/compile.c (compile_to_object): Likewise.
2678 * NEWS: Mention support for unbuffered Guile memory ports.
2679 * scm-ports.c (ioscm_memory_port): Update comments on end, size.
2680 (ioscm_lseek_address): Improve overflow calculation.
2681 (gdbscm_memory_port_fill_input): Add assert.
2682 (gdbscm_memory_port_write): Handle unbuffered ports.
2683 Handle large writes identical to Guile's fport_write.
2684 (gdbscm_memory_port_seek): Fix seeking past end check.
2685 (gdbscm_memory_port_close): Handle closing unbuffered port.
2686 (ioscm_parse_mode_bits): Recognize "0" for unbuffered ports.
2687 (ioscm_init_memory_port): Handle unbuffered ports.
2688 (ioscm_reinit_memory_port): Ditto.
2689 (ioscm_init_memory_port): Update size calculation.
2690 (gdbscm_open_memory): Support zero sized ports.
2694 * compile/compile-object-load.c (get_out_value_type): Fix uninitialized
2695 variable compiler warnings.
2699 * compile/compile-object-load.c (get_out_value_type): Fix returned type.
2704 * NEWS (Changes since GDB 7.9): Add compile print.
2705 * compile/compile-c-support.c (add_code_header, add_code_footer)
2706 (c_compute_program): Add COMPILE_I_PRINT_ADDRESS_SCOPE and
2707 COMPILE_I_PRINT_VALUE_SCOPE.
2708 * compile/compile-internal.h (COMPILE_I_PRINT_OUT_ARG_TYPE)
2709 (COMPILE_I_PRINT_OUT_ARG, COMPILE_I_EXPR_VAL, COMPILE_I_EXPR_PTR_TYPE):
2711 * compile/compile-object-load.c: Include block.h.
2712 (get_out_value_type): New function.
2713 (compile_object_load): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and
2714 COMPILE_I_PRINT_VALUE_SCOPE. Set compile_module's OUT_VALUE_ADDR and
2716 * compile/compile-object-load.h (struct compile_module): Add fields
2717 out_value_addr and out_value_type.
2718 * compile/compile-object-run.c: Include valprint.h and compile.h.
2719 (struct do_module_cleanup): Add fields out_value_addr and
2721 (do_module_cleanup): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and
2722 COMPILE_I_PRINT_VALUE_SCOPE.
2723 (compile_object_run): Propagate out_value_addr and out_value_type.
2724 Pass OUT_VALUE_ADDR.
2725 * compile/compile.c: Include valprint.h.
2726 (compile_print_value, compile_print_command): New functions.
2727 (eval_compile_command): Handle failed COMPILE_I_PRINT_ADDRESS_SCOPE.
2728 (_initialize_compile): Update compile code help text. Install
2729 compile_print_command.
2730 * compile/compile.h (compile_print_value): New prototype.
2731 * defs.h (enum compile_i_scope_types): Add
2732 COMPILE_I_PRINT_ADDRESS_SCOPE and COMPILE_I_PRINT_VALUE_SCOPE.
2736 * compile/compile-object-load.c (get_regs_type): Add parameter func_sym.
2737 Rely on its parameter count.
2738 (compile_object_load): Replace lookup_minimal_symbol_text by
2739 lookup_global_symbol_from_objfile. Verify FUNC_SYM. Set it in the
2741 * compile/compile-object-load.h (struct compile_module): Replace
2742 func_addr by func_sym.
2743 * compile/compile-object-run.c: Include block.h.
2744 (compile_object_run): Reset module variable after it is freed. Use
2745 FUNC_SYM instead of FUNC_ADDR. Rely on it.
2749 * compile/compile-c-support.c (print_one_macro): Use #ifndef.
2750 (generate_register_struct): Use __gdb_uintptr for TYPE_CODE_PTR.
2751 (c_compute_program): Call generate_register_struct after typedefs.
2752 * compile/compile-loc2c.c (push, pushf_register_address)
2753 (pushf_register): Cast to GCC_UINTPTR.
2754 (do_compile_dwarf_expr_to_c): Use unused attribute. Add space after
2755 type. Use GCC_UINTPTR instead of void *. Remove excessive cast.
2756 (compile_dwarf_expr_to_c): Use GCC_UINTPTR instead of void *.
2757 * compile/compile.c (_initialize_compile): Enable warnings for
2762 * cli/cli-script.c (execute_control_command): Update
2763 eval_compile_command caller.
2764 * compile/compile-object-load.c (compile_object_load): Add parameters
2765 scope and scope_data. Set them.
2766 * compile/compile-object-load.h (struct compile_module): Add fields
2767 scope and scope_data.
2768 (compile_object_load): Add parameters scope and scope_data.
2769 * compile/compile-object-run.c (struct do_module_cleanup): Add fields
2770 scope and scope_data.
2771 (compile_object_run): Propagate the fields scope and scope_data.
2772 * compile/compile.c (compile_file_command, compile_code_command):
2773 Update eval_compile_command callers.
2774 (eval_compile_command): Add parameter scope_data. Pass it plus scope.
2775 * compile/compile.h (eval_compile_command): Add parameter scope_data.
2776 * defs.h (struct command_line): Add field scope_data.
2780 * printcmd.c (struct format_data): Move it to valprint.h.
2781 (print_command_parse_format, print_value): New functions from ...
2782 (print_command_1): ... here. Call them.
2783 * valprint.h (struct format_data): Move it here from printcmd.c.
2784 (print_command_parse_format, print_value): New declarations.
2788 * compile/compile-object-load.c (compile_object_load): Add
2789 COMPILE_DEBUG message.
2793 * ada-lang.c (ada_value_ptr_subscript): Use enum position of
2794 index to get element instead of enum value.
2795 (ada_value_slice_from_ptr, ada_value_slice): Use enum position
2796 of index to compute length, but enum values to compute bounds.
2797 (ada_array_length): Use enum position of index instead of enum value.
2798 (pos_atr): Move position computation to...
2799 (ada_evaluate_subexp): Use enum values to compute bounds.
2800 * gdbtypes.c (discrete_position): ...this new function.
2801 * gdbtypes.h (discrete_position): New function declaration.
2802 * valprint.c (val_print_array_elements): Call discrete_position
2803 to handle array indexed by non-contiguous enumeration types.
2807 * ada-lang.c (find_parallel_type_by_descriptive_type):
2808 Go through typedefs during lookup.
2809 (to_fixed_array_type): Add support for non-bit packed arrays
2810 as variable-length fields.
2815 * event-loop.c (gdb_notifier) <next_file_handler,
2816 next_poll_fds_index>: New fields.
2817 (get_next_file_handler_to_handle_and_advance): New function.
2818 (delete_file_handler): If deleting the next file handler to
2819 handle, advance to the next file handler.
2820 (gdb_wait_for_event): Bail early if no event fired. Poll file
2821 handlers in round-robin fashion.
2825 * linux-tdep.c (linux_find_memory_regions_full): Rename local
2826 'private' to 'priv'.
2830 * nat/linux-nat.h: Include "target/waitstatus.h".
2834 * python/py-unwind.c (struct reg_info): Move out of ...
2835 (struct cached_frame_info): ... this scope.
2836 (pending_frame_object_type, unwind_info_object_type): Make extern.
2840 * ada-lang.c (ada_value_primitive_packed_val): Make sure
2841 accumSize is never negative.
2845 * tui/tui-command.c: Remove include of <ctype.h>.
2846 (tui_dispatch_ctrl_char): Remove workaround for xterm terminals.
2850 * dwarf2read.c (die_needs_namespace): Return 1 for
2851 DW_TAG_inlined_subroutine.
2855 * regcache.c (regcache_cpy_no_passthrough): New declaration.
2856 (regcache_cpy_no_passthrough): Make it static, add function comment.
2857 * regcache.h (regcache_dup, regcache_cpy): Reduce/update their comment.
2858 (regcache_cpy_no_passthrough): Remove declaration.
2862 * gdbthread.h (struct thread_control_state): Update comment for
2864 * infcall.c (run_inferior_call): Update comment about
2866 * infcmd.c (get_return_value): Update comment about stop_registers.
2867 (finish_forward): Update comment about proceed_to_finish.
2868 * infrun.c (stop_registers): Remove.
2869 (clear_proceed_status, normal_stop): Remove stop_registers handling.
2870 * infrun.h (stop_registers): Remove.
2874 * infcall.c (struct dummy_frame_context_saver)
2875 (dummy_frame_context_saver_data_free, dummy_frame_context_saver_dtor)
2876 (dummy_frame_context_saver_drop, dummy_frame_context_saver_cleanup)
2877 (dummy_frame_context_saver_get_regs, dummy_frame_context_saver_setup):
2879 (call_function_by_hand_dummy): Move discard_cleanups of
2880 inf_status_cleanup before dummy_frame_push. Call
2881 dummy_frame_context_saver_setup and prepare context_saver_cleanup.
2882 Use dummy_frame_context_saver_get_regs instead of stop_registers.
2883 * infcall.h (struct dummy_frame_context_saver)
2884 (dummy_frame_context_saver_drop, dummy_frame_context_saver_cleanup)
2885 (dummy_frame_context_saver_get_regs, dummy_frame_context_saver_setup):
2887 * infcmd.c: Include infcall.h.
2888 (get_return_value): Add parameter ctx_saver, use it instead of
2890 (print_return_value): Add parameter ctx_saver, pass it.
2891 (struct finish_command_continuation_args): Add field ctx_saver.
2892 (finish_command_continuation): Update print_return_value caller.
2893 (finish_command_continuation_free_arg): Free also ctx_saver.
2894 (finish_forward): Call dummy_frame_context_saver_setup.
2895 * inferior.h (struct dummy_frame_context_saver): New declaration.
2896 (get_return_value): Add parameter ctx_saver.
2897 * python/py-finishbreakpoint.c (bpfinishpy_pre_stop_hook): Update
2898 get_return_value caller.
2902 * dummy-frame.c (struct dummy_frame_dtor_list): New.
2903 (struct dummy_frame): Replace dtor and dtor_data by dtor_list.
2904 (remove_dummy_frame): Process dtor_list.
2905 (pop_dummy_frame): Process dtor_list.
2906 (register_dummy_frame_dtor): Maintain dtor_list.
2907 (find_dummy_frame_dtor): Handle dtor_list.
2908 * dummy-frame.h (register_dummy_frame_dtor, find_dummy_frame_dtor):
2913 * compile/compile-object-run.c (do_module_cleanup): Add parameter
2915 (compile_object_run): Update do_module_cleanup caller.
2916 * dummy-frame.c: Include infcall.h.
2917 (struct dummy_frame): Update dtor comment.
2918 (remove_dummy_frame): Call dtor.
2919 (pop_dummy_frame): Update dtor caller.
2920 * dummy-frame.h (dummy_frame_dtor_ftype): Add parameter
2929 * NEWS: Create "Changes in GDB 7.9.1" section. Move news about
2930 Xmethods now being able to specify a result type to that new
2935 * tui/tui-win.c (tui_async_resize_screen): Clear win_resized
2936 first before resizing the window.
2937 * tui/tui.c (tui_enable): Likewise.
2941 * dummy-frame.c (struct dummy_frame): Use proper typedef for dtor.
2942 * dummy-frame.h (dummy_frame_dtor_ftype): Add its comment.
2943 * infcall.c (call_function_by_hand_dummy): Use proper typedef for
2944 dummy_dtor parameter.
2945 * infcall.h: Include dummy-frame.h.
2946 (call_function_by_hand_dummy_dtor_ftype): Remove.
2947 (call_function_by_hand_dummy): Use proper typedef for dummy_dtor
2953 * top.c (history_size_setshow_var): Change type to signed.
2954 Initialize to -2. Update documentation.
2955 (set_readline_history_size): Define.
2956 (set_history_size_command): Use it. Remove logic for handling
2958 (init_history): Use set_readline_history_size(). Test for a
2959 value of -2 instead of 0 when determining whether to set a
2960 default history size.
2961 (init_main): Decode the argument of the "size" command as a
2962 zuinteger_unlimited.
2966 * dwarf2read.c (struct file_entry): Tweak comments.
2967 (get_debug_line_section): Tweak comments.
2971 * NEWS: Announce fork support in the RSP and support
2972 for fork debugging in extended mode.
2976 * remote.c (remote_insert_fork_catchpoint): New function.
2977 (remote_remove_fork_catchpoint): New function.
2978 (remote_insert_vfork_catchpoint): New function.
2979 (remote_remove_vfork_catchpoint): New function.
2980 (pending_fork_parent_callback): New function.
2981 (remove_new_fork_child): New function.
2982 (remote_update_thread_list): Call remote_notif_get_pending_events
2983 and remove_new_fork_child.
2984 (extended_remote_kill): Kill fork child when killing the
2985 parent before follow_fork completes.
2986 (init_extended_remote_ops): Initialize target vector with
2987 new fork catchpoint functions.
2991 * remote.c (remove_vfork_event_p): New function.
2992 (remote_follow_fork): Add vfork event type to event checking.
2993 (remote_parse_stop_reply): New stop reasons "vfork" and
2994 "vforkdone" for RSP 'T' Stop Reply Packet.
2998 * linux-nat.c (linux_nat_ptrace_options): New function.
2999 (linux_init_ptrace, wait_lwp, linux_nat_filter_event):
3000 Call linux_nat_ptrace_options and use different argument to
3001 linux_enable_event_reporting.
3002 (_initialize_linux_nat): Delete call to
3003 linux_ptrace_set_additional_flags.
3004 * nat/linux-ptrace.c (current_ptrace_options): Rename to
3005 supported_ptrace_options.
3006 (additional_flags): Delete variable.
3007 (linux_check_ptrace_features): Use supported_ptrace_options.
3008 (linux_test_for_tracesysgood, linux_test_for_tracefork):
3009 Likewise, and remove additional_flags check.
3010 (linux_enable_event_reporting): Change 'attached' argument to
3011 'options'. Use supported_ptrace_options.
3012 (ptrace_supports_feature): Change comment. Use
3013 supported_ptrace_options.
3014 (linux_ptrace_set_additional_flags): Delete function.
3015 * nat/linux-ptrace.h (linux_ptrace_set_additional_flags):
3016 Delete function prototype.
3017 * remote.c (remote_fork_event_p): New function.
3018 (remote_detach_pid): New function.
3019 (remote_detach_1): Call remote_detach_pid, don't mourn inferior
3020 if doing detach-on-fork.
3021 (remote_follow_fork): New function.
3022 (remote_parse_stop_reply): Handle new "T" stop reason "fork".
3023 (remote_pid_to_str): Print "process" strings for pid/0/0 ptids.
3024 (init_extended_remote_ops): Initialize to_follow_fork.
3028 * nat/linux-ptrace.c (linux_check_ptrace_features): Change
3029 from static to extern.
3030 * nat/linux-ptrace.h (linux_check_ptrace_features): Declare.
3031 * remote.c (anonymous enum): <PACKET_fork_event_feature,
3032 * PACKET_vfork_event_feature>: New enumeration constants.
3033 (remote_protocol_features): Add table entries for new packets.
3034 (remote_query_supported): Add new feature queries to qSupported
3039 * remote.c (remote_add_inferior): Call exec_file_locate_attach
3040 for fake PIDs as well as real ones.
3041 (remote_pid_to_exec_file): Send empty annex if PID is fake.
3045 * NEWS (Python Scripting): Mention the new gdb.Value methods.
3046 * python/py-value.c (valpy_reference_value): New function.
3047 (valpy_const_value): Likewise.
3048 (value_object_methods): Add new methods.
3049 * value.c (make_cv_value): New function.
3050 * value.h (make_cv_value): Declare.
3055 * dwarf2read.c (setup_type_unit_groups): Do NULL pointer check
3056 to 'lh->include_dirs' before accessing to it.
3057 (psymtab_include_file_name): Likewise.
3058 (dwarf_decode_lines_1): Likewise.
3059 (dwarf_decode_lines): Likewise.
3060 (file_file_name): Likewise.
3064 * nios2-linux-tdep.c (NIOS2_SIGRETURN_TRAMP_ADDR): Define.
3065 (NIOS2_SIGRETURN_REGSAVE_OFFSET): Define.
3066 (nios2_linux_rt_sigreturn_init): Adjust base address of
3071 * nios2-tdep.c (nios2_breakpoint_from_pc): Revert to using
3072 "trap 31" as the breakpoint instruction on all targets.
3076 * infcmd.c (print_return_value): Remove unused declaration.
3080 * dwarf2read.c (attr_to_dynamic_prop)
3081 <DW_AT_data_member_location>: Use read_type_die isntead of
3086 * ada-lang.c (ada_convert_actual): Add handling of formals
3087 passed inside an aligner type.
3091 * copyright.py (NOT_FSF_LIST): Remove sim/erc32 entries.
3096 * python/lib/gdb/command/xmethods.py (print_xm_info): Fix typo.
3097 Print xmethod matcher status.
3101 * s390-linux-nat.c (fill_gregset): Avoid relying on the PSWA
3102 register in the regcache when treating the PSWM register, and vice
3107 * linux-thread-db.c (struct thread_db_info)
3108 <td_ta_map_id2thr_p>: Remove field.
3109 (try_thread_db_load_1): Remove initialization for the above.
3113 * linux-thread-db.c (struct thread_db_info)
3114 <td_thr_validate_p>: Remove field.
3115 (try_thread_db_load_1): Remove initialization for the above.
3119 * compile/compile-object-load.c (compile_object_load): Support
3124 * compile/compile.c (compile_to_object): Make the cmd_string parameter
3125 const. Use new variables for the const compatibility.
3126 (eval_compile_command): Make the cmd_string parameter const.
3127 * compile/compile.h (eval_compile_command): Make the cmd_string
3132 * defs.h (deprecated_init_ui_hook): Delete. Remove associated
3134 * top.c (deprecated_init_ui_hook): Delete.
3135 (gdb_init): Remove handling of deprecated_init_ui_hook.
3136 * interps.c (clear_interpreter_hooks): Remove handling of
3137 deprecated_init_ui_hook.
3138 * main.c (captured_main): Update comment.
3142 * solib.c (_initialize_solib): Add "info dll" alias creation.
3143 * windows-nat.c (set_windows_aliases): Delete.
3144 (_initialize_windows_nat): Remove deprecated_init_ui_hook
3146 * NEWS: Add news entry about "info dll" now being available
3151 * ada-lang.c (value_assign_to_component): Reformat and improve
3152 documentation. Remove all trailing spaces.
3156 * inline-frame.c (inline_frame_sniffer, skip_inline_frames):
3157 Stop counting inlined frames as soon as an out-of-line function
3162 * dwarf2read.c (inherit_abstract_dies): Skip
3163 DW_TAG_GNU_call_site dies while inheriting children of an
3164 abstract DIE into a scope.
3165 (read_lexical_block_scope): Inherit abstract DIE's for
3170 * ada-valprint.c (val_print_packed_array_elements): Delete
3171 variable "len". Add a type-length check when comparing two
3172 consecutive elements of the array. Use the element's actual
3173 length in call to value_contents_eq.
3174 * ada-lang.c (ada_value_primitive_packed_val): Always return
3175 a value whose type has been resolved.
3179 * ada-lang.c (ada_value_primitive_packed_val): Recompute
3180 BIT_SIZE and LEN if the size of the resolved type is smaller
3181 than BIT_SIZE * HOST_CHAR_BIT.
3185 * ada-lang.c (ada_value_primitive_packed_val): Use a more
3186 correct address in call to value_at. Adjust call to
3187 value_address accordingly.
3191 * ada-valprint.c (ada_val_print_1): Resolve TYPE before trying
3196 * dwarf2loc.h (struct property_addr_info): Add "valaddr" field.
3197 * dwarf2loc.c (dwarf2_evaluate_property): Add handling of
3199 * gdbtypes.h (resolve_dynamic_type): Add "valaddr" parameter.
3200 * gdbtypes.c (resolve_dynamic_struct): Set pinfo.valaddr.
3201 (resolve_dynamic_type_internal): Set pinfo.valaddr.
3202 Add handling of addr_stack->valaddr.
3203 (resolve_dynamic_type): Add "valaddr" parameter.
3204 Set pinfo.valaddr field.
3205 * ada-lang.c (ada_discrete_type_high_bound): Update call to
3206 resolve_dynamic_type.
3207 (ada_discrete_type_low_bound): Likewise.
3208 * findvar.c (default_read_var_value): Likewise.
3209 * value.c (value_from_contents_and_address): Likewise.
3213 * gdbtypes.c (resolve_dynamic_array): Use
3214 create_array_type_with_stride instead of create_array_type.
3218 * rl78-tdep.c (rl78_analyze_prologue): Pass RL78_ISA_DEFAULT to
3224 * NEWS: Document new gdb.XMethodWorker.get_result_type method.
3225 * eval.c (evaluate_subexp_standard) <OP_FUNCALL>: Handle
3226 EVAL_AVOID_SIDE_EFFECTS for xmethods.
3227 * extension-priv.h (struct extension_language_ops)
3228 <get_xmethod_result_type>: New member.
3229 * extension.c (get_xmethod_result_type): New function.
3230 * extension.h (get_xmethod_result_type): Declare.
3231 * python/py-xmethods.c (get_result_type_method_name): New static
3233 (py_get_result_type_method_name): Ditto.
3234 (gdbpy_get_xmethod_result_type): New function.
3235 (gdbpy_initialize_xmethods): Initialize py_get_result_type_method_name.
3236 * python/python-internal.h (gdbpy_get_xmethod_result_type): Declare.
3237 * python/python.c (python_extension_ops): Add
3238 gdbpy_get_xmethod_result_type.
3239 * python/lib/gdb/xmethod.py (XMethodWorker): Add get_result_type.
3240 * valarith.c (value_x_binop): Handle EVAL_AVOID_SIDE_EFFECTS for
3242 (value_x_unop): Ditto.
3243 * value.c (result_type_of_xmethod): New function.
3244 * value.h (result_type_of_xmethod): Declare.
3248 * solib.c (solib_find_1): Allow fd argument to be NULL.
3249 (exec_file_find): Update comment.
3250 (solib_find): Likewise.
3251 * exec.c (exec_file_locate_attach): Use NULL as fd
3252 argument to exec_file_find to avoid having to close
3254 * infrun.c (follow_exec): Likewise.
3259 * python/lib/gdb/printing.py (register_pretty_printer): Handle
3260 name or __name__ attributes. Handle gdb module as first argument.
3265 * python/py-prettyprint.c (print_children): Verify result of children
3266 iterator. Provide better error message.
3267 * python/python-internal..h (gdbpy_print_python_errors_p): Declare.
3268 * python/python.c (gdbpy_print_python_errors_p): New function.
3272 * gdbtypes.h (struct cplus_struct_type) <n_baseclasses>: Fix comment.
3276 * NEWS: Mention gdb.Type.optimized_out method.
3277 * python/py-type.c (typy_optimized_out): New function.
3281 * fbsd-nat.c: Include "gdb_wait.h" instead of <sys/wait.h>.
3285 * utils.c (init_page_info): Set rl_catch_sigwinch to zero.
3286 (initialize_utils): Move call of init_page_info() to ...
3287 * top.c (gdb_init): ... here.
3291 * tui/tui-win.c (tui_sigwinch_handler): Remove now-stale comment.
3292 (tui_sigwinch_handler): Still update our idea of
3293 the terminal's width and height even when TUI is not active.
3297 * utils.h (set_screen_width_and_height): Declare.
3298 * utils.c (set_screen_width_and_height): Define.
3299 * tui/tui-win.c (tui_update_gdb_sizes): Use it.
3303 * infrun.c (solist.h): New include.
3304 (follow_exec): Use exec_file_find to prefix execd_pathname
3309 * tui/tui-source.c (tui_set_source_content): Avoid calling
3310 strcpy() when offset is 0.
3315 * tui/tui-data.c (tui_free_window): Don't free the locator
3316 window when passed an SRC_WIN or a DISASSEM_WIN.
3320 * tui/tui-data.h (struct tui_win_element): Forward-declare.
3321 (tui_win_content): Move declaration.
3322 (struct tui_gen_win_info): Give 'content' field the
3323 type tui_win_content.
3324 * tui/tui-data.c (init_content_element): Remove redundant and
3326 (tui_add_content_elements): Remove erroneous cast.
3327 * tui/tui-disasm.c (tui_set_disassem_content): Remove redundant
3329 (tui_get_begin_asm_address): Likewise.
3330 * tui/tui-regs.c (tui_show_registers): Likewise.
3331 (tui_show_register_group): Likewise.
3332 (tui_display_registers_from): Likewise.
3333 (tui_check_register_values): Likewise.
3334 * tui/tui-source.c (tui_set_source_content): Likewise.
3335 (tui_set_source_content_nil): Likewise.
3336 (tui_source_is_displayed): Likewise.
3337 * tui/tui-stack.c (tui_show_locator_content): Likewise.
3338 (tui_set_locator_fullname): Likewise.
3339 (tui_set_locator_info): Likewise.
3340 (tui_show_frame_info): Likewise.
3341 * tui/tui-winsource.c (tui_clear_source_content): Likewise.
3342 (tui_show_source_line): Likewise.
3343 (tui_horizontal_source_scroll): Likewise.
3344 (tui_update_breakpoint_info): Likewise.
3345 (tui_set_exec_info_content): Likewise.
3346 (tui_show_exec_info_content): Likewise.
3347 (tui_alloc_source_buffer): Likewise.
3348 (tui_line_is_displayed): Likewise.
3349 (tui_addr_is_displayed): Likewise.
3353 * fbsd-nat.c: (fbsd_wait) [PL_FLAG_EXEC]: Report TARGET_WAITKIND_EXECD
3354 event if PL_FLAG_EXEC is set.
3355 [PL_FLAG_EXEC] (fbsd_insert_exec_catchpoint): New function.
3356 [PL_FLAG_EXEC] (fbsd_remove_exec_catchpoint): New function.
3357 (fbsd_nat_add_target) [PL_FLAG_EXEC]: Set
3358 "to_insert_exec_catchpoint" to "fbsd_insert_exec_catchpoint".
3359 Set "to_remove_exec_catchpoint" to "fbsd_remove_exec_catchpoint".
3363 * fbsd-nat.c: [PT_LWPINFO] New variable super_wait.
3364 [TDP_RFPPWAIT] New variable fbsd_pending_children.
3365 [TDP_RFPPWAIT] (fbsd_remember_child): New function.
3366 [TDP_RFPPWAIT] (fbsd_is_child_pending): New function.
3367 [TDP_RFPPWAIT] (fbsd_fetch_kinfo_proc): New function.
3368 [PT_LWPINFO] (fbsd_wait): New function.
3369 [TDP_RFPPWAIT] (fbsd_follow_fork): New function.
3370 [TDP_RFPPWAIT] (fbsd_insert_fork_catchpoint): New function.
3371 [TDP_RFPPWAIT] (fbsd_remove_fork_catchpoint): New function.
3372 [TDP_RFPPWAIT] (fbsd_insert_vfork_catchpoint): New function.
3373 [TDP_RFPPWAIT] (fbsd_remove_vfork_catchpoint): New function.
3374 [TDP_RFPPWAIT] (fbsd_enable_follow_fork): New function.
3375 [TDP_RFPPWAIT] (fbsd_post_startup_inferior): New function.
3376 [TDP_RFPPWAIT] (fbsd_post_attach): New function.
3377 (fbsd_nat_add_target) [PT_LWPINFO] Set "to_wait" to
3379 [TDP_RFPPWAIT] Set "to_follow_fork" to "fbsd_follow_fork".
3380 Set "to_insert_fork_catchpoint" to "fbsd_insert_fork_catchpoint".
3381 Set "to_remove_fork_catchpoint" to "fbsd_remove_fork_catchpoint".
3382 Set "to_insert_vfork_catchpoint" to "fbsd_insert_vfork_catchpoint".
3383 Set "to_remove_vfork_catchpoint" to "fbsd_remove_vfork_catchpoint".
3384 Set "to_post_startup_inferior" to "fbsd_post_startup_inferior".
3385 Set "to_post_attach" to "fbsd_post_attach".
3389 * fbsd-nat.c (fbsd_pid_to_exec_file): Mark static.
3390 (fbsd_find_memory_regions): Mark static.
3391 (fbsd_nat_add_target): New function.
3392 * fbsd-nat.h: Export fbsd_nat_add_target and remove prototypes for
3393 fbsd_pid_to_exec_file and fbsd_find_memory_regions.
3394 * amd64fbsd-nat.c (_initialize_amd64fbsd_nat): Use fbsd_nat_add_target.
3395 * i386fbsd-nat.c (_initialize_i386fbsd_nat): Likewise.
3396 * ppcfbsd-nat.c (_initialize_ppcfbsd_nat): Likewise.
3397 * sparc64fbsd-nat.c (_initialize_sparc64fbsd_nat): Likewise.
3401 * objfiles.c (allocate_objfile): Do not attempt to expand name
3402 if name is a "target:" filename.
3403 * auto-load.c (load_auto_scripts_for_objfile): Do not attempt
3404 to load auto-load scripts for objfiles with "target:" filenames.
3408 * s390-linux-tdep.c: Include "elf/s390.h" and "elf-bfd.h".
3409 (enum s390_vector_abi_kind): New enum.
3410 (struct gdbarch_tdep)<vector_abi>: New field.
3411 (s390_effective_inner_type): Add parameter min_size. Stop
3412 unwrapping if the inner type is smaller than min_size.
3413 (s390_function_arg_float): Adjust call to
3414 s390_effective_inner_type.
3415 (s390_function_arg_vector): New function.
3416 (s390_function_arg_integer): Adjust comment.
3417 (struct s390_arg_state)<vr>: New field.
3418 (s390_handle_arg): Add parameter 'is_unnamed'. Pass vector
3419 arguments according to vector ABI when appropriate.
3420 (s390_push_dummy_call): Initialize the argument state's field
3421 'vr'. Adjust calls to s390_handle_arg.
3422 (s390_register_return_value): Handle vector return values.
3423 (s390_return_value): Apply the "register" return value convention
3424 to a vector when appropriate.
3425 (s390_gdbarch_init): Initialize tdep->vector_abi.
3426 * NEWS: Announce S390 vector ABI support.
3430 * s390-linux-tdep.c (s390_return_value_convention): Remove
3431 function. Inline its logic...
3432 (s390_return_value): ...here. Instead, move the handling of the
3433 "register" return value convention...
3434 (s390_register_return_value): ...here. New function.
3439 (is_float_singleton): Remove function. Move the "singleton" part
3441 (s390_effective_inner_type): ...here. New function.
3442 (is_float_like): Remove function. Inline its logic...
3443 (s390_function_arg_float): ...here.
3444 (is_pointer_like, is_integer_like, is_struct_like): Remove
3445 functions. Inline their logic...
3446 (s390_function_arg_integer): ...here.
3447 (s390_function_arg_pass_by_reference): Remove function.
3448 (extend_simple_arg): Remove function.
3449 (alignment_of): Remove function.
3450 (struct s390_arg_state): New structure.
3451 (s390_handle_arg): New function.
3452 (s390_push_dummy_call): Move parameter placement logic to the new
3453 function s390_handle_arg. Call it for calculating the stack area
3454 sizes first, and again for actually writing the parameters.
3458 * s390-linux-tdep.c (is_power_of_two): Add comment. Return
3459 false if the argument is zero.
3463 * ada-lang.c (template_to_static_fixed_type): Return input type
3464 when it is already fixed. Cache the input type itself when not
3465 creating a static fixed copy. Make it explicit that we never
3466 molestate the input type.
3467 * gdbtypes.c (resolve_dynamic_struct): Reset the
3468 TYPE_TARGET_TYPE field for resolved copies.
3472 * ada-lang.c (ada_is_tagged_type): Add call to ada_check_typedef.
3473 (ada_lookup_struct_elt_type): Remove calls to ada_check_typedef.
3474 (template_to_static_fixed_type): Call ada_check_typedef only
3479 * cli/cli-dump.c (srec_dump_command): Add internationalization
3481 (ihex_dump_command): Likewise.
3482 (tekhex_dump_command): Likewise.
3483 (binary_dump_command): Likewise.
3484 (binary_append_command): Likewise.
3488 * cli/cli-dump.c (verilog_cmdlist): New variable.
3489 (dump_verilog_memory): New function.
3490 (dump_verilog_value): New function.
3491 (verilog_dump_command): New function.
3492 (_initialize_cli_dump): Add new commands to support verilog dump
3494 * NEWS: Add entry for "dump verilog".
3498 * gdbtypes.c (print_gnat_stuff): Do not recurse on the
3499 descriptive type when there is none.
3503 * tui/tui-win.c (tui_async_resize_screen): Call
3504 rl_resize_terminal().
3508 * windows-nat.c (handle_output_debug_string): Don't change
3509 current_event.dwThreadId.
3510 (get_windows_debug_event): Use thread_id, rather than relying on
3511 current_event.dwThreadId being changed.
3515 * windows-nat.c (windows_continue): Report an error if
3516 ContinueDebugEvent() fails.
3520 * windows-nat.c (windows_resume): Fix misspelling in debug output.
3524 * windows-nat.c (get_windows_debug_event): Replace retval with
3525 thread_id throughout. Update stale comment.
3529 * windows-nat.c (get_windows_debug_event): Don't use ternary
3530 conditional operator.
3535 p-exp.y (yylex): Reorganize code to return the matched pattern
3536 for a field of this.
3540 * common/fileio.h (fileio_to_host_openflags): New declaration.
3541 * common/fileio.c (fcntl.h): New include.
3542 (fileio_to_host_openflags): New function, factored out from...
3543 * inf-child.c (inf_child_fileio_open_flags_to_host): ...here.
3548 * rl78-tdep.c (RL78_SP_ADDR): Define.
3549 (opc_reg_to_gdb_regnum): New static function.
3550 (rl78_analyze_prologue): Recognize instructions forming slightly
3551 more interesting prologues.
3557 * gdbtypes.c (is_dynamic_type_internal): Remove special handling of
3558 TYPE_CODE_REF types so that they are not considered as dynamic
3559 depending on the referenced type.
3560 (resolve_dynamic_type_internal): Likewise.
3566 * gdbtypes.c (is_dynamic_type_internal): Remove the unused
3567 "top_level" parameter.
3568 (resolve_dynamic_type_internal): Remove the unused "top_level"
3569 parameter. Update call to is_dynamic_type_internal.
3570 (is_dynamic_type): Update call to is_dynamic_type_internal.
3571 (resolve_dynamic_range): Update call to
3572 resolve_dynamic_type_internal.
3573 (resolve_dynamic_union): Likewise.
3574 (resolve_dynamic_struct): Likewise.
3575 (resolve_dynamic_type): Likewise.
3579 * breakpoint.c (update_dprintf_command_list): Remove duplicated
3584 * reply_mig_hack.awk: Robustify parsing.
3586 * reply_mig_hack.awk: Don't bother to declare an intermediate
3587 function pointer variable.
3591 * solib-svr4.c (svr4_exec_displacement): Rename outer "displacement"
3592 to "exec_displacement" to avoid confusion with inner use of the name.
3596 * arm-linux-nat.c (arm_linux_can_use_hw_breakpoint): Return zero
3597 if HW point of TYPE isn't supported.
3602 * target.h (target_can_use_hardware_watchpoint): Update comments.
3603 Remove trailing ";".
3607 * remote.c (remote_add_inferior): New argument try_open_exec.
3608 If nonzero, attempt to open the inferior's executable file as
3609 the main executable if no main executable is open already.
3610 All callers updated.
3611 * NEWS: Mention that GDB now supports automatic location and
3612 retrieval of executable + files from remote targets.
3616 * target.h (TARGET_OBJECT_EXEC_FILE): New enum value.
3617 * remote.c (PACKET_qXfer_exec_file): Likewise.
3618 (remote_protocol_features): Register the
3619 "qXfer:exec-file:read" feature.
3620 (remote_xfer_partial): Handle TARGET_OBJECT_EXEC_FILE.
3621 (remote_pid_to_exec_file): New function.
3622 (init_remote_ops): Initialize to_pid_to_exec_file.
3623 (_initialize_remote): Register new "set/show remote
3624 pid-to-exec-file-packet" command.
3625 * NEWS: Announce new qXfer:exec-file:read packet.
3629 * nat/linux-procfs.h (linux_proc_pid_to_exec_file):
3631 * nat/linux-procfs.c (linux_proc_pid_to_exec_file):
3632 New function, factored out from...
3633 * linux-nat.c (linux_child_pid_to_exec_file): ...here.
3637 * exec.c (solist.h): New include.
3638 (exec_file_locate_attach): Prefix absolute executable
3639 paths with gdb_sysroot if set.
3640 * NEWS: Mention that executable paths may be prepended
3645 * solist.h (exec_file_find): New declaration.
3646 * solib.c (solib_find_1): New function, factored out from...
3647 (solib_find): ...here.
3648 (exec_file_find): New function.
3652 * gdbcore.h (exec_file_locate_attach): New declaration.
3653 * exec.c (exec_file_locate_attach): New function, factored
3655 * infcmd.c (attach_command_post_wait): ...here.
3659 * MAINTAINERS: Add myself for Blackfin/write-after-approval.
3663 * infrun.c (maybe_software_singlestep): Declare.
3664 (displaced_step_fixup): Call maybe_software_singlestep.
3668 * psymtab.c (psym_expand_symtabs_matching): Add QUIT call.
3672 * dwarf2read.c (dw2_expand_symtabs_matching): Add some QUIT calls.
3676 * python/lib/gdb/command/unwinders.py: Add parentheses.
3680 * arm-linux-tdep.c (arm_linux_copy_svc): Update debug message.
3684 * arm-linux-tdep.c (arm_linux_copy_svc): Fix indentation.
3688 * arm-linux-tdep.c (arm_linux_cleanup_svc): Use
3689 dsc->insn_size instead of 4.
3693 * jit.c (mem_bfd_iovec_stat): Zero supplied buffer.
3694 * minidebug.c (lzma_stat): Likewise.
3695 * solib-spu.c (spu_bfd_iovec_stat): Likewise.
3696 * spu-linux-nat.c (spu_bfd_iovec_stat): Likewise.
3700 * MAINTAINERS: Update my email address.
3704 * amd64-tdep.c (amd64_target_description): New function.
3705 * amd64-tdep.h: Export amd64_target_description and tdesc_amd64.
3706 * amd64bsd-nat.c [PT_GETXSTATE_INFO]: New variable amd64bsd_xsave_len.
3707 (amd64bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle
3708 x86 extended save area.
3709 (amd64bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise.
3710 * amd64bsd-nat.h: Export amd64bsd_xsave_len.
3711 * amd64fbsd-nat.c (amd64fbsd_read_description): New function.
3712 (_initialize_amd64fbsd_nat): Set "to_read_description" to
3713 "amd64fbsd_read_description".
3714 * amd64fbsd-tdep.c (amd64fbsd_core_read_description): New function.
3715 (amd64fbsd_supply_xstateregset): New function.
3716 (amd64fbsd_collect_xstateregset): New function.
3717 Add "amd64fbsd_xstateregset".
3718 (amd64fbsd_iterate_over_regset_sections): New function.
3719 (amd64fbsd_init_abi): Set "xsave_xcr0_offset" to
3720 "I386_FBSD_XSAVE_XCR0_OFFSET".
3721 Add "iterate_over_regset_sections" gdbarch method.
3722 Add "core_read_description" gdbarch method.
3723 * i386-tdep.c (i386_target_description): New function.
3724 * i386-tdep.h: Export i386_target_description and tdesc_i386.
3725 * i386bsd-nat.c [PT_GETXSTATE_INFO]: New variable i386bsd_xsave_len.
3726 (i386bsd_fetch_inferior_registers) [PT_GETXSTATE_INFO]: Handle
3727 x86 extended save area.
3728 (i386bsd_store_inferior_registers) [PT_GETXSTATE_INFO]: Likewise.
3729 * i386bsd-nat.h: Export i386bsd_xsave_len.
3730 * i386fbsd-nat.c (i386fbsd_read_description): New function.
3731 (_initialize_i386fbsd_nat): Set "to_read_description" to
3732 "i386fbsd_read_description".
3733 * i386fbsd-tdep.c (i386fbsd_core_read_xcr0): New function.
3734 (i386fbsd_core_read_description): New function.
3735 (i386fbsd_supply_xstateregset): New function.
3736 (i386fbsd_collect_xstateregset): New function.
3737 Add "i386fbsd_xstateregset".
3738 (i386fbsd_iterate_over_regset_sections): New function.
3739 (i386fbsd4_init_abi): Set "xsave_xcr0_offset" to
3740 "I386_FBSD_XSAVE_XCR0_OFFSET".
3741 Add "iterate_over_regset_sections" gdbarch method.
3742 Add "core_read_description" gdbarch method.
3743 * i386fbsd-tdep.h: New file.
3747 * NEWS (Changes since GDB 7.9): Add removed -xdb.
3748 * breakpoint.c (command_line_is_silent): Remove xdb_commands
3750 (_initialize_breakpoint): Remove xdb_commands for bc, ab, sb, db, ba
3752 * cli/cli-cmds.c (_initialize_cli_cmds): Remove xdb_commands for v and
3754 * cli/cli-decode.c (find_command_name_length): Remove xdb_commands
3756 * defs.h (xdb_commands): Remove declaration.
3757 * f-valprint.c (_initialize_f_valprint): Remove xdb_commands for lc.
3758 * guile/scm-cmd.c (command_classes): Remove xdb from comment.
3759 * infcmd.c (run_no_args_command, go_command): Remove.
3760 (_initialize_infcmd): Remove xdb_commands for S, go, g, R and lr.
3761 * infrun.c (xdb_handle_command): Remove.
3762 (_initialize_infrun): Remove xdb_commands for lz and z.
3763 * main.c (xdb_commands): Remove variable.
3764 (captured_main): Remove "xdb" from long_options.
3765 (print_gdb_help): Remove --xdb from help.
3766 * python/py-cmd.c (gdbpy_initialize_commands): Remove xdb from comment.
3767 * source.c (_initialize_source): Remove xdb_commands for D, ld, / and ?.
3768 * stack.c (backtrace_full_command, args_plus_locals_info)
3769 (current_frame_command): Remove.
3770 (_initialize_stack): Remove xdb_commands for t, T and l.
3771 * symtab.c (_initialize_symtab): Remove xdb_commands for lf and lg.
3772 * thread.c (_initialize_thread): Remove xdb_commands condition.
3773 * tui/tui-layout.c (tui_toggle_layout_command)
3774 (tui_toggle_split_layout_command, tui_handle_xdb_layout): Remove.
3775 (_initialize_tui_layout): Remove xdb_commands for td and ts.
3776 * tui/tui-regs.c (tui_scroll_regs_forward_command)
3777 (tui_scroll_regs_backward_command): Remove.
3778 (_initialize_tui_regs): Remove xdb_commands for fr, gr, sr, +r and -r.
3779 * tui/tui-win.c (tui_xdb_set_win_height_command): Remove.
3780 (_initialize_tui_win): Remove xdb_commands for U and w.
3781 * utils.c (pagination_on_command, pagination_off_command): Remove.
3782 (initialize_utils): Remove xdb_commands for am and sm.
3786 * infrun.c (displaced_step_fixup): Switch to the event ptid
3787 earlier. If the thread stopped for a watchpoint and the
3788 target/arch has non-continuable watchpoints, cancel the displaced
3790 (resume): Don't start a displaced step if in-line step-over info
3795 * infrun.c (displaced_step_in_progress): New function.
3796 (do_target_resume): Advise target to report all signals if
3802 * infrun.c (process_event_stop_test): Don't assume a step-resume
3803 is set if tp->stepped_breakpoint is true.
3807 * arm-tdep.c (install_alu_reg): Update comment.
3808 (thumb_copy_alu_reg): Remove local variable rn. Update
3809 debugging message. Use r2 instead of r1 in the modified
3815 * amd64-linux-tdep.c (amd64_linux_init_abi_common): Install
3816 linux_displaced_step_location as gdbarch_displaced_step_location
3818 * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
3819 * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
3820 * linux-tdep.c (linux_displaced_step_location): New function,
3821 based on ppc_linux_displaced_step_location.
3822 * linux-tdep.h (linux_displaced_step_location): New declaration.
3823 * ppc-linux-tdep.c (ppc_linux_entry_point_addr): Delete.
3824 (ppc_linux_inferior_created, ppc_linux_displaced_step_location):
3826 (ppc_linux_init_abi): Install linux_displaced_step_location as
3827 gdbarch_displaced_step_location hook, even without Cell/B.E..
3828 (_initialize_ppc_linux_tdep): Don't install
3829 ppc_linux_inferior_created as inferior_created observer.
3830 * s390-linux-tdep.c (s390_gdbarch_init): Install
3831 linux_displaced_step_location as gdbarch_displaced_step_location
3836 * common/common-remote-fileio.h: Rename to...
3837 * common/fileio.h: ...this. Update all references.
3838 (remote_fileio_to_fio_error): Rename to...
3839 (host_to_fileio_error): ...this.
3840 (remote_fileio_to_be): Rename to...
3841 (host_to_bigendian): ...this. Update all callers.
3842 (remote_fileio_to_fio_uint): Rename to...
3843 (host_to_fileio_uint): ...this. Update all callers.
3844 (remote_fileio_to_fio_time): Rename to...
3845 (host_to_fileio_time): ...this. Update all callers.
3846 (remote_fileio_to_fio_stat): Rename to...
3847 (host_to_fileio_stat): ...this.
3848 Update all references.
3849 * common/common-remote-fileio.c: Rename to...
3850 * common/fileio.c: ...this. Update all references.
3851 (remote_fileio_to_fio_error): Rename to...
3852 (host_to_fileio_error): ...this. Update all callers.
3853 (remote_fileio_mode_to_target): Rename to...
3854 (fileio_mode_pack): ...this. Update all callers.
3855 (remote_fileio_to_fio_mode): Rename to...
3856 (host_to_fileio_mode): ...this. Update all callers.
3857 (remote_fileio_to_fio_ulong): Rename to...
3858 (host_to_fileio_ulong): ...this. Update all callers.
3859 (remote_fileio_to_fio_stat): Rename to...
3860 (host_to_fileio_stat): ...this. Update all callers.
3864 * guile/scm-frame.c (gdbscm_frame_read_register): New function.
3865 (frame_functions): Bind gdbscm_frame_read_register to
3866 frame-read-register.
3867 * guile/lib/gdb.scm (frame-read-register): Export.
3871 * common/common-remote-fileio.h (remote_fileio_to_fio_error):
3873 * common/common-remote-fileio.c (remote_fileio_to_fio_error):
3874 New function, factored out the named functions below.
3875 * inf-child.c (gdb/fileio.h): Remove include.
3876 (common-remote-fileio.h): New include.
3877 (inf_child_errno_to_fileio_error): Remove function. Update
3878 all callers to use remote_fileio_to_fio_error.
3879 * remote-fileio.c (remote_fileio_errno_to_target): Likewise.
3883 * MAINTAINERS (Write After Approval): Add Andy Wingo.
3887 * acinclude.m4: (GDB_AC_CHECK_BFD): Set ZLIBDIR with $zlibdir.
3888 Replace $zlibdir with $ZLIBDIR in LDFLAGS.
3889 * configure: Regenerated.
3893 * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Add strtok_r.
3894 * gnulib/Makefile.in (aclocal_m4_deps): Add import/m4/strtok_r.m4.
3895 * gnulib/configure, gnulib/config.in, gnulib/aclocal.m4: Regenerate.
3896 * gnulib/import/Makefile.am: Update.
3897 * gnulib/import/Makefile.in: Update.
3898 * gnulib/import/m4/gnulib-cache.m4: Update.
3899 * gnulib/import/m4/gnulib-comp.m4: Update.
3900 * gnulib/import/m4/strtok_r.m4: New file.
3901 * gnulib/import/strtok_r.c: New file.
3905 * gnulib/update-gnulib.sh (aclocal version check): Filter out
3906 "called too early to check prototype".
3911 * python/py-cmd.c (cmdpy_completer_helper): Adjust function to not
3912 use a caching mechanism. Adjust comments and code to reflect
3913 that. Replace 'sizeof' by 'strlen' when fetching 'wordobj'.
3914 (cmdpy_completer_handle_brkchars): Adjust call to
3915 cmdpy_completer_helper. Call Py_XDECREF for 'resultobj'.
3916 (cmdpy_completer): Likewise.
3920 * spu-tdep.c (spu_gdbarch_init): Don't call
3921 set_gdbarch_cannot_step_breakpoint.
3925 * linux-tdep.c (decode_vmflags): Initialize 'saveptr'.
3929 * gdbthread.h (ALL_NON_EXITED_THREADS_SAFE): Rename to ...
3930 (ALL_THREADS_SAFE): ... this, and don't skip exited threads.
3931 (delete_exited_threads): New declaration.
3932 * infrun.c (follow_exec): Use ALL_THREADS_SAFE.
3933 * linux-nat.c (linux_nat_update_thread_list): New function.
3934 (linux_nat_add_target): Install it.
3935 * remote.c (remote_update_thread_list): Use ALL_THREADS_SAFE.
3936 * thread.c (prune_threads): Use ALL_THREADS_SAFE.
3937 (delete_exited_threads): New function.
3941 * infrun.c (resume) <displaced stepping debug output>: Get the
3942 leader thread's regcache, not resume_ptid's.
3946 * symtab.c (hash_symbol_entry): Hash STRUCT_DOMAIN symbols as
3948 (symbol_cache_lookup): Clarify use of bsc_ptr, slot_ptr parameters.
3949 Include symbol domain in debugging output.
3954 * configure.ac: Remove the mingw32-specific stub-termcap.o
3955 fallback, and instead fallback to the stub termcap on all hosts.
3956 * configure: Regenerate.
3957 * stub-termcap.c [!__MINGW32__] (PC, BC, UP): Define as weak
3962 * gdbtypes.c (is_dynamic_type_internal): Remove the unused
3963 "top_level" parameter.
3964 (resolve_dynamic_type_internal): Remove the unused "top_level"
3965 parameter. Update call to is_dynamic_type_internal.
3966 (is_dynamic_type): Update call to is_dynamic_type_internal.
3967 (resolve_dynamic_range): Update call to
3968 resolve_dynamic_type_internal.
3969 (resolve_dynamic_union): Likewise.
3970 (resolve_dynamic_struct): Likewise.
3971 (resolve_dynamic_type): Likewise.
3975 * gdbtypes.c (is_dynamic_type_internal): Remove special handling of
3976 TYPE_CODE_REF types so that they are not considered as dynamic
3977 depending on the referenced type.
3978 (resolve_dynamic_type_internal): Likewise.
3982 * Makefile.in (top_srcdir): New.
3983 * configure: Regenerated.
3987 * NEWS: Announce the new default sysroot of "target:".
3991 * main.c (captured_main): Set gdb_sysroot to "target:"
3992 if not otherwise set.
3996 * exec.c (exec_file_attach): Support "target:" filenames.
4000 * solib.c (solib_find): Strip "target:" prefix from sysroot
4001 if accessing local files.
4005 * symfile.c (symfile_bfd_open): Reorder to remove duplicated
4006 checks and error messages.
4010 * remote.h (REMOTE_SYSROOT_PREFIX): Remove definition.
4011 (remote_filename_p): Remove declaration.
4012 (remote_bfd_open): Likewise.
4013 * remote.c (remote_bfd_iovec_open): Remove function.
4014 (remote_bfd_iovec_close): Likewise.
4015 (remote_bfd_iovec_pread): Likewise.
4016 (remote_bfd_iovec_stat): Likewise.
4017 (remote_filename_p): Likewise.
4018 (remote_bfd_open): Likewise.
4019 * symfile.h (gdb_bfd_open_maybe_remote): Remove declaration.
4020 * symfile.c (separate_debug_file_exists): Use gdb_bfd_open.
4021 (gdb_bfd_open_maybe_remote): Remove function.
4022 (symfile_bfd_open): Replace remote filename check with
4023 target filename check.
4024 (reread_symbols): Use gdb_bfd_open.
4025 * build-id.c (gdbcore.h): New include.
4026 (build_id_to_debug_bfd): Use gdb_bfd_open.
4027 * infcmd.c (attach_command_post_wait): Remove remote filename
4029 * solib.c (solib_find): Replace remote-specific handling with
4030 target-specific handling. Update comments where necessary.
4031 (solib_bfd_open): Replace remote-specific handling with
4032 target-specific handling.
4033 (gdb_sysroot_changed): New function.
4034 (_initialize_solib): Call the above when gdb_sysroot changes.
4035 * windows-tdep.c (gdbcore.h): New include.
4036 (windows_xfer_shared_library): Use gdb_bfd_open.
4040 * gdb/gdb_bfd.h (TARGET_SYSROOT_PREFIX): New definition.
4041 (is_target_filename): New declaration.
4042 (gdb_bfd_has_target_filename): Likewise.
4043 (gdb_bfd_open): Update documentation comment.
4044 * gdb_bfd.c (target.h): New include.
4045 (gdb/fileio.h): Likewise.
4046 (is_target_filename): New function.
4047 (gdb_bfd_has_target_filename): Likewise.
4048 (fileio_errno_to_host): Likewise.
4049 (gdb_bfd_iovec_fileio_open): Likewise.
4050 (gdb_bfd_iovec_fileio_pread): Likewise.
4051 (gdb_bfd_iovec_fileio_close): Likewise.
4052 (gdb_bfd_iovec_fileio_fstat): Likewise.
4053 (gdb_bfd_open): Use target fileio to access paths prefixed
4054 with "target:" where necessary.
4058 * target.h (struct target_ops) <to_filesystem_is_local>:
4060 (target_filesystem_is_local): New macro.
4061 * target-delegates.c: Regenerate.
4062 * remote.c (remote_filesystem_is_local): New function.
4063 (init_remote_ops): Initialize to_filesystem_is_local.
4067 * target.h (struct target_ops) <to_fileio_fstat>: New field.
4068 (target_fileio_fstat): New declaration.
4069 * target.c (target_fileio_fstat): New function.
4070 * inf-child.c (inf_child_fileio_fstat): Likewise.
4071 (inf_child_target): Initialize to_fileio_fstat.
4072 * remote.c (init_remote_ops): Likewise.
4076 * Makefile.in (SUBDIR_PYTHON_OBJS): Add py-unwind.o.
4077 (SUBDIR_PYTHON_SRCS): Add py-unwind.c.
4078 (py-unwind.o): New recipe.
4079 * NEWS: mention Python frame unwinding.
4080 * data-directory/Makefile.in (PYTHON_FILE_LIST): Add
4081 gdb/unwinder.py and gdb/command/unwinder.py
4082 * python/lib/gdb/__init__.py (packages): Add frame_unwinders
4084 (execute_unwinders): New function.
4085 * python/lib/gdb/command/unwinders.py: New file.
4086 * python/lib/gdb/unwinder.py: New file.
4087 * python/py-objfile.c (objfile_object): Add frame_unwinders field.
4088 (objfpy_dealloc): Decrement frame_unwinders reference count.
4089 (objfpy_initialize): Create frame_unwinders list.
4090 (objfpy_get_frame_unwinders): New function.
4091 (objfpy_set_frame_unwinders): Ditto.
4092 (objfile_getset): Add frame_unwinders attribute to Objfile.
4093 * python/py-progspace.c (pspace_object): Add frame_unwinders field.
4094 (pspy_dealloc): Decrement frame_unwinders reference count.
4095 (pspy_initialize): Create frame_unwinders list.
4096 (pspy_get_frame_unwinders): New function.
4097 (pspy_set_frame_unwinders): Ditto.
4098 (pspy_getset): Add frame_unwinders attribute to gdb.Progspace.
4099 * python/py-unwind.c: New file.
4100 * python/python-internal.h (pspy_get_name_unwinders): New prototype.
4101 (objpy_get_frame_unwinders): New prototype.
4102 (gdbpy_initialize_unwind): New prototype.
4103 * python/python.c (gdbpy_apply_type_printers): Call
4104 gdbpy_initialize_unwind.
4108 * infrun.c (resume): Check currently_stepping after clearing
4109 stepped_breakpoint, not before.
4113 * infrun.c (print_target_wait_results): Print all the ptid
4118 * infrun.c (keep_going): Also discard cleanups if inserting
4123 * infrun.c (wait_for_inferior): Install the
4124 finish_thread_state_cleanup cleanup across the whole function, not
4125 just around handle_inferior_event.
4129 * infrun.c (resume) <step past permanent breakpoint>: Use
4134 * linux-nat.c (linux_handle_extended_wait): Always call set_running.
4138 * MAINTAINERS (Write After Approval): Add "Pierre-Marie de Rodat".
4142 * linux-thread-db.c (record_thread): Readd the thread to gdb's
4143 list if it was marked exited.
4147 * configure: Regenerated.
4154 * linux-tdep.c: Include 'gdbcmd.h' and 'gdb_regex.h'.
4155 New enum identifying the various options of the coredump_filter
4157 (struct smaps_vmflags): New struct.
4158 (use_coredump_filter): New variable.
4159 (decode_vmflags): New function.
4160 (mapping_is_anonymous_p): Likewise.
4161 (dump_mapping_p): Likewise.
4162 (linux_find_memory_regions_full): New variables
4163 'coredumpfilter_name', 'coredumpfilterdata', 'pid', 'filterflags'.
4164 Removed variable 'modified'. Read /proc/<PID>/smaps file; improve
4165 parsing of its information. Implement memory mapping filtering
4166 based on its contents.
4167 (show_use_coredump_filter): New function.
4168 (_initialize_linux_tdep): New command 'set use-coredump-filter'.
4169 * NEWS: Mention the possibility of using the
4170 '/proc/PID/coredump_filter' file when generating a corefile.
4171 Mention new command 'set use-coredump-filter'.
4175 * solib-svr4.c (solib_svr4_r_ldsomap): Catch possible exception by
4176 read_memory_unsigned_integer.
4180 * Makefile.in (ZLIB): New.
4181 (ZLIBINC): Likewise.
4182 (INTERNAL_CFLAGS_BASE): Add $(ZLIBINC).
4183 (CLIBS): Add $(ZLIB).
4184 * acinclude.m4: (GDB_AC_CHECK_BFD): Add $zlibdir to LDFLAGS.
4186 * gdb_bfd.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
4187 * top.c (print_gdb_configuration): Remove --with-zlib and
4189 * config.in: Regenerated.
4190 * configure: Likewise.
4194 * NEWS: Mention info os cpus support.
4195 * gdb/nat/linux-osdata.c (linux_xfer_osdata_cpus): New function.
4196 (struct osdata_type): Add cpus entry, reorder the entries in
4201 * compile/compile.c (compile_to_object): Allow triplets with or
4207 * cp-namespace.c (cp_search_static_and_baseclasses): Always look for
4208 klass in VAR_DOMAIN.
4212 * remote.c (remote_mourn_1): Remove function. Update all callers
4213 to use remote_mourn.
4214 (extended_remote_mourn_1): Remove function. Update all callers
4215 to use extended_remote_mourn.
4216 (extended_remote_attach_1): Remove function. Update all callers
4217 to use extended_remote_attach.
4221 * Makefile.in (ALL_TARGET_OBS): Add ft32-tdep.o.
4222 (HFILES_NO_SRCDIR): Add ft32-tdep.h.
4223 (ALLDEPFILES): Add ft32-tdep.c.
4224 * configure.tgt: Add FT32 entry.
4225 * ft32-tdep.c: New file, FT32 target-dependent code.
4226 * ft32-tdep.h: New file, FT32 target-dependent code.
4233 * printcmd.c (print_command_1): Move expr variable scope.
4237 * dtrace-probe.c (dtrace_process_dof_probe): Initialize expr to NULL.
4241 * gdb_bfd.c (gdb_bfd_section_index): Fix off-by-one for special
4246 * dtrace-probe.c (dtrace_process_dof_probe): Contain any
4247 exception raised while parsing the probe arguments.
4248 Force parsing to be done using the C language parser.
4249 * expression.h (parse_expression_with_language): Declare.
4250 * parse.c (parse_expression_with_language): New function.
4254 * MAINTAINERS (Write After Approval): Add "Jon Turney".
4259 * dwarf2read.c (struct partial_die_info): Add has_const_value
4261 (add_partial_symbol): Don't punt on symbols that have const_value
4263 (read_partial_die): Detect DW_AT_const_value.
4268 * printcmd.c (print_command_1): Move expr variable scope.
4273 * printcmd.c (validate_format): Make the parameter cmdname const.
4277 * remote.c (_initialize_remote): Update comment.
4282 * coffread.c (coff_symfile_read): When constructing the name of an
4283 import stub symbol from import symbol for amd64, only skip the
4284 char after _imp_ if the target is underscored (like i386) and the
4285 char is indeed the target's leading char.
4289 * target.h <to_async>: Replace 'callback' and 'context' parameters
4290 with boolean 'enable' parameter.
4291 (target_async): Replace CALLBACK and CONTEXT parameters with
4292 boolean ENABLE parameter.
4293 * inf-loop.c (inferior_event_handler): Adjust.
4294 * linux-nat.c (linux_nat_attach, linux_nat_resume)
4295 (linux_nat_resume): Adjust.
4296 (async_client_callback, async_client_context): Delete.
4297 (handle_target_event): Call inferior_event_handler directly.
4298 (linux_nat_async): Replace 'callback' and 'context' parameters
4299 with boolean 'enable' parameter. Adjust. Remove references to
4300 async_client_callback and async_client_context.
4301 (linux_nat_close): Adjust.
4302 * record-btrace.c (record_btrace_async): Replace 'callback' and
4303 'context' parameters with boolean 'enable' parameter. Adjust.
4304 (record_btrace_resume): Adjust.
4305 * record-full.c (record_full_async): Replace 'callback' and
4306 'context' parameters with boolean 'enable' parameter. Adjust.
4307 (record_full_resume, record_full_core_resume): Adjust.
4308 * remote.c (struct remote_state) <async_client_callback,
4309 async_client_context>: Delete fields.
4310 (remote_start_remote, extended_remote_attach_1, remote_resume)
4311 (extended_remote_create_inferior): Adjust.
4312 (remote_async_serial_handler): Call inferior_event_handler
4314 (remote_async): Replace 'callback' and 'context' parameters with
4315 boolean 'enable' parameter. Adjust.
4316 * top.c (gdb_readline_wrapper_cleanup, gdb_readline_wrapper):
4318 * target-delegates.c: Regenerate.
4323 * target.c (fileio_ft_t): New typedef, define object vector.
4324 (fileio_fhandles): New static variable.
4325 (is_closed_fileio_fh): New macro.
4326 (lowest_closed_fd): New static variable.
4327 (acquire_fileio_fd): New function.
4328 (release_fileio_fd): Likewise.
4329 (fileio_fd_to_fh): New macro.
4330 (target_fileio_open): Wrap the file descriptor on success.
4331 (target_fileio_pwrite): Updated to use wrapped file descriptor.
4332 (target_fileio_pread): Likewise.
4333 (target_fileio_close): Likewise.
4337 * thread.c (thread_apply_all_command): Take exited threads into
4342 * infrun.c (resume, proceed): Mention
4343 switch_back_to_stepped_thread, not switch_back_to_stepping.
4347 * infrun.c (user_visible_resume_ptid): Rewrite going from
4348 most-locked to unlocked instead of the opposite. Move comment ...
4349 * infrun.h (user_visible_resume_ptid): ... here.
4353 * linux-nat.c (linux_nat_resume): Output debug logs before trying
4354 to resume the event lwp. Use the lwp's ptid instead of the passed
4355 in (maybe wildcard) ptid.
4356 (stop_wait_callback): Tweak debug log output.
4357 (check_stopped_by_breakpoint): Tweak debug log output. Also dump
4359 (linux_nat_filter_event): In debug output, distinguish a
4360 resume_stop SIGSTOP from a delayed SIGSTOP. Output debug logs
4361 before trying to resume the lwp.
4365 * gdbtypes.h (struct dynamic_prop_list) <prop>: Remove
4366 pointer indirection.
4367 * gdbtypes.c (get_dyn_prop): Adjust, following change above.
4368 (add_dyn_prop, copy_dynamic_prop_list): Likewise.
4372 * gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_DATA_LOCATION>:
4373 Renames DYN_ATTR_DATA_LOCATION.
4374 (TYPE_DATA_LOCATION): Use DYN_PROP_DATA_LOCATION instead of
4375 DYN_ATTR_DATA_LOCATION.
4376 * dwarf2read.c (set_die_type): Use DYN_PROP_DATA_LOCATION
4377 instead of DYN_ATTR_DATA_LOCATION.
4381 * breakpoint.c (until_break_command): Adjust call to proceed.
4382 * gdbthread.h (struct thread_control_state) <stepping_command>:
4384 * infcall.c (run_inferior_call): Adjust call to proceed.
4385 * infcmd.c (run_command_1, proceed_thread_callback, continue_1):
4386 Adjust calls to proceed.
4387 (set_step_frame): Set the current thread's step_start_function
4389 (step_once): Adjust calls to proceed.
4390 (jump_command, signal_command, until_next_command)
4391 (finish_backward, finish_forward, proceed_after_attach_callback)
4392 (attach_command_post_wait): Adjust calls to proceed.
4393 * infrun.c (proceed_after_vfork_done): Adjust call to proceed.
4394 (do_target_resume): New function, factored out from ...
4395 (resume): ... here. Remove 'step' parameter. Instead, check
4396 currently_stepping to determine whether the thread should be
4398 (proceed): Remove 'step' parameter and don't set the thread's
4399 step_start_function here. Adjust call to 'resume'.
4400 (handle_inferior_event): Adjust calls to 'resume'.
4401 (switch_back_to_stepped_thread): Use do_target_resume instead of
4403 (keep_going): Adjust calls to 'resume'.
4404 * infrun.h (proceed): Remove 'step' parameter.
4406 * windows-nat.c (do_initial_windows_stuff): Adjust call to
4408 * mi/mi-main.c (proceed_thread): Adjust call to 'proceed'.
4412 * gdbthread.h (struct thread_control_state) <stepping_command>:
4414 * infcmd.c (step_once): Pass step=1 to clear_proceed_status. Set
4415 the thread's stepping_command field.
4416 * infrun.c (resume): Check the thread's stepping_command flag to
4417 determine which threads should be resumed. Rename 'entry_step'
4419 (clear_proceed_status_thread): Clear 'stepping_command'.
4420 (schedlock_applies): Change parameter type to struct thread_info
4422 (find_thread_needs_step_over): Remove 'step' parameter. Adjust.
4423 (switch_back_to_stepped_thread): Adjust calls to
4424 'schedlock_applies'.
4425 (_initialize_infrun): Adjust "set scheduler-locking step" help.
4429 * infrun.c (step_start_function): Delete and ...
4430 * gdbthread.h (struct thread_control_state) <step_start_function>:
4431 ... now a field here.
4432 * infrun.c (clear_proceed_status_thread): Clear the thread's
4433 step_start_function.
4434 (proceed, process_event_stop_test, print_stop_event): Adjust.
4438 * infrun.c (proceed): No longer handle negative step.
4442 * nat/x86-linux.h (x86_linux_new_thread): New declaration.
4443 (x86_linux_prepare_to_resume): Likewise.
4444 * x86-linux-nat.c (x86_linux_new_thread):
4445 Moved to nat/x86-linux.c.
4446 (x86_linux_prepare_to_resume): Likewise.
4447 * nat/x86-linux.c (x86_linux_new_thread): New function.
4448 (x86_linux_prepare_to_resume): Likewise.
4452 * nat/x86-linux-dregs.h: New file.
4453 * nat/x86-linux-dregs.c: Likewise.
4454 * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux-dregs.h.
4455 (x86-linux-dregs.o): New rule.
4456 * config/i386/linux.mh (NATDEPFILES): Add x86-linux-dregs.o.
4457 * config/i386/linux64.mh (NATDEPFILES): Likewise.
4458 * x86-linux-nat.c: Include nat/x86-linux-dregs.h.
4459 (u_debugreg_offset): Moved to nat/x86-linux-dregs.c.
4460 (x86_linux_dr_get): Likewise.
4461 (x86_linux_dr_set): Likewise.
4462 (x86_linux_dr_get_addr): Likewise.
4463 (x86_linux_dr_get_control): Likewise.
4464 (x86_linux_dr_get_status): Likewise.
4465 (update_debug_registers_callback): Likewise.
4466 (x86_linux_dr_set_control): Likewise.
4467 (x86_linux_dr_set_addr): Likewise.
4468 (x86_linux_update_debug_registers): Likewise.
4472 * x86-linux-nat.c (x86_linux_update_debug_registers):
4473 New function, factored out from...
4474 (x86_linux_prepare_to_resume): ...this.
4478 * x86-linux-nat.c (x86_linux_dr_get): Update comments.
4479 (x86_linux_dr_set): Likewise.
4480 (x86_linux_dr_get_addr): Likewise.
4481 (x86_linux_dr_get_control): Likewise.
4482 (x86_linux_dr_get_status): Likewise.
4483 (update_debug_registers_callback): Likewise.
4484 (x86_linux_dr_set_control): Likewise.
4485 (x86_linux_dr_set_addr): Likewise.
4486 (x86_linux_prepare_to_resume): Likewise.
4487 (x86_linux_new_thread): Likewise.
4491 * x86-linux-nat.c (x86_linux_dr_set_addr): Update assertion.
4492 (x86_linux_new_thread): Rename argument.
4496 * nat/x86-linux.h: New file.
4497 * nat/x86-linux.c: Likewise.
4498 * Makefile.in (HFILES_NO_SRCDIR): Add nat/x86-linux.h.
4499 (x86-linux.o): New rule.
4500 * config/i386/linux.mh (NATDEPFILES): Add x86-linux.o.
4501 * config/i386/linux64.mh (NATDEPFILES): Likewise.
4502 * nat/linux-nat.h (struct arch_lwp_info): New forward declaration.
4503 (lwp_set_arch_private_info): New declaration.
4504 (lwp_arch_private_info): Likewise.
4505 * linux-nat.c (lwp_set_arch_private_info): New function.
4506 (lwp_arch_private_info): Likewise.
4507 * x86-linux-nat.c: Include nat/x86-linux.h.
4508 (arch_lwp_info): Removed structure.
4509 (update_debug_registers_callback):
4510 Use lwp_set_debug_registers_changed.
4511 (x86_linux_prepare_to_resume): Use lwp_debug_registers_changed
4512 and lwp_set_debug_registers_changed.
4513 (x86_linux_new_thread): Use lwp_set_debug_registers_changed.
4517 * nat/linux-nat.h (ptid_of_lwp): New declaration.
4518 (lwp_is_stopped): Likewise.
4519 (lwp_stop_reason): Likewise.
4520 * linux-nat.c (ptid_of_lwp): New function.
4521 (lwp_is_stopped): Likewise.
4522 (lwp_is_stopped_by_watchpoint): Likewise.
4523 * x86-linux-nat.c (update_debug_registers_callback):
4525 (x86_linux_prepare_to_resume): Use ptid_of_lwp and
4530 * linux-nat.h (linux_stop_lwp): Move declaration to...
4531 * nat/linux-nat.h (linux_stop_lwp): New declaration.
4535 * linux-nat.h: Include nat/linux-nat.h.
4536 (iterate_over_lwps): Move declaration to nat/linux-nat.h.
4537 * nat/linux-nat.h (struct lwp_info): New forward declaration.
4538 (iterate_over_lwps_ftype): New typedef.
4539 (iterate_over_lwps): New declaration.
4540 * linux-nat.h (iterate_over_lwps): Update comment. Use
4541 iterate_over_lwps_ftype. Update callback return value check.
4545 * x86-nat.h (x86_debug_reg_state): Move declaration to...
4546 * nat/x86-dregs.h (x86_debug_reg_state): New declaration.
4550 * nat/linux-nat.h (current_lwp_ptid): New declaration.
4551 * linux-nat.c (current_lwp_ptid): New function.
4552 * x86-linux-nat.c: Include nat/linux-nat.h.
4553 (x86_linux_dr_get_addr): Use current_lwp_ptid.
4554 (x86_linux_dr_get_control): Likewise.
4555 (x86_linux_dr_get_status): Likewise.
4556 (x86_linux_dr_set_control): Likewise.
4557 (x86_linux_dr_set_addr): Likewise.
4561 PR breakpoints/16466
4562 * breakpoint.c (create_breakpoint): Set thread on breakpoint struct.
4566 * ser-mingw.c (ser_windows_setparity): Fix indentation.
4567 * ser-unix.c (hardwire_setparity): Likewise.
4571 * NEWS: Mention set/show serial parity command.
4572 * monitor.c (monitor_open): Call serial_setparity.
4573 * remote.c (remote_open_1): Likewise.
4574 * ser-base.c (ser_base_serparity): New function.
4575 * ser-base.h (ser_base_setparity): Add declaration.
4576 * ser-go32.c (dos_ops): Set "setparity" field.
4577 * ser-mingw.c (ser_windows_raw): Do not set state.fParity and
4579 (ser_windows_setparity): New function.
4580 (hardwire_ops): Add ser_windows_setparity.
4581 (tty_ops): Add NULL for setparity field.
4582 (pipe_ops): Add ser_base_setparity.
4583 (tcp_ops): Likewise.
4584 * ser-pipe.c (pipe_ops): Likewise.
4585 * ser-tcp.c (tcp_ops): Likewise.
4586 * ser-unix.c (hardwire_setparity): Add declaration.
4587 (hardwire_raw): Don't reset PARENB flag.
4588 (hardwire_setparity): New function.
4589 (hardwire_ops): Add hardwire_setparity.
4590 * serial.c (serial_setparity): New function.
4591 (serial_parity): New global.
4592 (parity_none, parity_odd, parity_even, parity_enums, parity):
4594 (set_parity): New function.
4595 (_initialize_serial): Add set/show serial parity commands.
4596 * serial.h (GDBPARITY_NONE): Define.
4597 (GDBPARITY_ODD): Define.
4598 (GDBPARITY_EVEN): Define.
4599 (serial_setparity) Add declaration.
4600 (struct serial_ops): Add setparity field.
4601 * target.h (serial_parity): Add declaration.
4605 * linespec.c (linespec_lexer_lex_keyword): Update comment.
4609 * breakpoint.c (parse_breakpoint_sals): Use
4610 linespec_lexer_lex_keyword to ascertain if the user specified
4612 * linespec.c [IF_KEYWORD_INDEX]: Define.
4613 (linespec_lexer_lex_keyword): Export.
4614 (struct ls_parser) <keyword_ok>: Remove.
4615 A keyword is only a keyword if not followed by another keyword.
4616 (linespec_lexer_lex_one): Remove keyword_ok handling.
4617 Add comment explaining why the parsing stream is not advanced
4618 when a keyword is seen.
4619 (parse_linespec): Remove parser->keyword_ok.
4620 * linespec.h (linespec_lexer_lex_keyword): Add declaration.
4625 * dwarf2read.c (dwarf2_add_member_fn): Issue a complaint
4626 if we find a static method with DW_AT_vtable_elem_location.
4630 * tui/tui-io.c (tui_expand_tabs): Reinitialize the column counter
4631 before the second loop, to avoid undefined behavior. Reported by
4636 * gdbtypes.c (resolve_dynamic_type_internal): Adapt
4637 data_location usage to linked list.
4638 (resolve_dynamic_type_internal): Adapt data_location to
4640 (get_dyn_prop, add_dyn_prop, copy_dynamic_prop_list): New function.
4641 (copy_type_recursive, copy_type): Add copy of linked list.
4642 * gdbtypes.h (enum dynamic_prop_node_kind): New enum.
4643 (struct dynamic_prop_list): New struct.
4644 * dwarf2read.c (set_die_type): Set data_location data.
4648 * i386-sol2-tdep.c (i386_sol2_static_transform_name): Move "p" to
4649 inner block and make it const.
4650 * machoread.c (get_archive_prefix_len): Make "lparen" const.
4654 * breakpoint.c (set_breakpoint_condition): Make argument "exp" const.
4655 * breakpoint.h (set_breakpoint_condition): Update declaration.
4659 * tui/tui-io.c (tui_expand_tabs): Make "s1" const.
4663 * xcoffread.c (scan_xcoff_symtab): Make "p" and "q" const.
4667 * remote-m32r-sdi.c (m32r_open): Make "port_str" const.
4671 * nto-tdep.c (nto_find_and_open_solib): Make "endian" const.
4672 (nto_init_solib_absolute_prefix): Likewise.
4676 * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Make "p" const.
4677 * spu-tdep.c (spu_gdbarch_init): Make "name" const.
4681 * config/djgpp/README: Remove gdb.hp.
4685 * aarch64-tdep.c (aarch64_gdbarch_init): Don't call
4686 set_gdbarch_cannot_step_breakpoint.
4690 * linux-nat.c (linux_resume_one_lwp): Rename to ...
4691 (linux_resume_one_lwp_throw): ... this. Don't handle ESRCH here,
4692 instead call perror_with_name.
4693 (check_ptrace_stopped_lwp_gone): New function.
4694 (linux_resume_one_lwp): Reimplement as wrapper around
4695 linux_resume_one_lwp_throw that swallows errors if the LWP is
4697 (resume_stopped_resumed_lwps): Try register reads in TRY/CATCH and
4698 swallows errors if the LWP is gone. Use
4699 linux_resume_one_lwp_throw instead of linux_resume_one_lwp.
4703 * linux-nat.c (status_callback): Return early if the LWP has no
4708 * linux-nat.c (select_event_lwp_callback): Update comment to no
4709 longer mention SIGTRAP.
4713 * amd64-windows-tdep.c (amd64_windows_find_unwind_info): Move
4714 redirection code to ...
4715 (amd64_windows_frame_decode_insns): ... Here. Fix in prologue
4716 checks. Fix SAVE_NONVOL operations. Add debug code and comments.
4720 (remote_protocol_features): Remove the "vFile:fstat" feature.
4721 (remote_hostio_fstat): Probe for "vFile:fstat" support.
4726 * aarch64-linux-tdep.c: Include xml-syscall.h
4727 (aarch64_linux_get_syscall_number): New function.
4728 (aarch64_linux_init_abi): Call
4729 set_gdbarch_get_syscall_number.
4730 * syscalls/aarch64-linux.xml: New file.
4734 * ser-base.h (ser_base_setstopbits): Change second argument name
4735 from "rate" to "num".
4741 * common/common-remote-fileio.h (sys/stat.h): New include.
4742 (stuct stat): Remove forward declaration.
4746 * fbsd-tdep.c (fbsd_make_corefile_notes): Fetch all target registers
4747 before writing core register notes.
4752 * gdb_curses.h (tgetnum): Mark with EXTERN_C.
4753 * stub-termcap.c (tgetent, tgetnum, tgetflag, tgetstr, tputs)
4754 (tgoto): Wrap with extern "C".
4759 * stub-termcap.c (tputs): Change prototype.
4764 * windows-nat.c (struct thread_info_struct): Rename to ...
4765 (struct windows_thread_info_struct): ... this.
4766 (thread_info): Rename to ...
4767 (windows_thread_info): ... this.
4773 * NEWS: New Removed targets and native configurations.
4778 * Makefile.in (ALL_64_TARGET_OBS): Remove ia64-hpux-tdep.o.
4779 (ALL_TARGET_OBS): Remove hppa-hpux-tdep.o, solib-som.o and solib-pa64.o.
4780 (HFILES_NO_SRCDIR): Remove solib-som.h, inf-ttrace.h, solib-pa64.h and
4781 ia64-hpux-tdep.h, solib-ia64-hpux.h.
4782 (ALLDEPFILES): Remove hppa-hpux-tdep.c, hppa-hpux-nat.c,
4783 ia64-hpux-nat.c, ia64-hpux-tdep.c, somread.c and solib-som.c.
4784 * config/djgpp/fnchange.lst: Remove hppa-hpux-nat.c and
4786 * config/ia64/hpux.mh: Remove file.
4787 * config/pa/hpux.mh: Remove file.
4788 * configure: Rebuilt.
4789 * configure.ac (dlgetmodinfo, somread.o): Remove.
4790 * configure.host (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete.
4791 (ia64-*-hpux*): Remove its float format exception.
4792 * configure.tgt (hppa*-*-hpux*, ia64-*-hpux*): Make them obsolete.
4793 * hppa-hpux-nat.c: Remove file.
4794 * hppa-hpux-tdep.c: Remove file.
4795 * hppa-tdep.c (struct hppa_unwind_info, struct hppa_objfile_private):
4796 Move them here from hppa-tdep.h
4797 (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Make it static.
4798 (hppa_frame_prev_register_helper): Remove HPPA_FLAGS_REGNUM exception.
4799 * hppa-tdep.h (struct hppa_unwind_info, struct hppa_objfile_private):
4800 Move them to hppa-tdep.c.
4801 (hppa_objfile_priv_data, hppa_init_objfile_priv_data): Remove
4803 * ia64-hpux-nat.c: Remove file.
4804 * ia64-hpux-tdep.c: Remove file.
4805 * ia64-hpux-tdep.h: Remove file.
4806 * inf-ttrace.c: Remove file.
4807 * inf-ttrace.h: Remove file.
4808 * solib-ia64-hpux.c: Remove file.
4809 * solib-ia64-hpux.h: Remove file.
4810 * solib-pa64.c: Remove file.
4811 * solib-pa64.h: Remove file.
4812 * solib-som.c: Remove file.
4813 * solib-som.h: Remove file.
4814 * somread.c: Remove file.
4818 * configure.ac: AC_SEARCH_LIBS(kinfo_getvmmap, util).
4819 * config.in: Regenerate.
4820 * configure: Regenerate.
4821 * fbsd-nat.c [!HAVE_KINFO_GETVMMAP] (fbsd_read_mapping): Don't
4823 (fbsd_find_memory_regions): Use kinfo_getvmmap to
4824 enumerate memory regions if present.
4828 * amd64fbsd-tdep.c (amd64fbsd_sigtramp_p): Style fixes.
4829 * i386fbsd-tdep.c: Fix style in various gdb_static_assert
4831 (i386fbsd_sigtramp_p): Likewise.
4835 * MAINTAINERS (Write After Approval): Add John Baldwin.
4839 * solib.c (_initialize_solib): Make "set/show sysroot" use
4840 add_setshow_optional_filename_cmd so it can be restored to
4841 empty after being set.
4845 * Makefile.in (SFILES): New source break-catch-syscall.c.
4846 (COMMON_OBS): New object break-catch-syscall.o.
4847 * break-catch-syscall.c: New file.
4848 * breakpoint.c: Remove inclusion of "xml-syscall.h".
4849 (syscall_catchpoint_p): Move declaration to break-catch-syscall.c
4850 (struct syscall_catchpoint): Likewise.
4851 (dtor_catch_syscall): Likewise.
4852 (catch_syscall_inferior_data): Likewise.
4853 (struct catch_syscall_inferior_data): Likewise.
4854 (get_catch_syscall_inferior_data): Likewise.
4855 (catch_syscall_inferior_data_cleanup): Likewise.
4856 (insert_catch_syscall): Likewise.
4857 (remove_catch_syscall): Likewise.
4858 (breakpoint_hit_catch_syscall): Likewise.
4859 (print_it_catch_syscall): Likewise.
4860 (print_one_catch_syscall): Likewise.
4861 (print_mention_catch_syscall): Likewise.
4862 (print_recreate_catch_syscall): Likewise.
4863 (catch_syscall_breakpoint_ops): Likewise.
4864 (syscall_catchpoint_p): Likewise.
4865 (create_syscall_event_catchpoint): Likewise.
4866 (catch_syscall_split_args): Likewise.
4867 (catch_syscall_command_1): Likewise.
4868 (is_syscall_catchpoint_enabled): Likewise.
4869 (catch_syscall_enabled): Likewise.
4870 (catching_syscall_number): Likewise.
4871 (catch_syscall_completer): Likewise.
4872 (clear_syscall_counts): Likewise.
4873 (initialize_breakpoint_ops): Move initialization of syscall
4874 catchpoints to break-catch-syscall.c.
4875 (_initialize_breakpoint): Move code related to syscall catchpoints
4876 to break-catch-syscall.c.
4880 * breakpoint.c (breakpoint_find_if): New function.
4881 * breakpoint.h (breakpoint_find_if): New prototype.
4885 * remote-fileio.h (remote_fileio_to_host_stat): New declaration.
4886 * remote-fileio.c (remote_fileio_to_host_uint): New function.
4887 (remote_fileio_to_host_ulong): Likewise.
4888 (remote_fileio_to_host_mode): Likewise.
4889 (remote_fileio_to_host_time): Likewise.
4890 (remote_fileio_to_host_stat): Likewise.
4891 * remote.c (PACKET_vFile_fstat): New enum value.
4892 (remote_protocol_features): Register the "vFile:fstat" feature.
4893 (remote_hostio_fstat): New function.
4894 (remote_bfd_iovec_stat): Use the above.
4895 (_initialize_remote): Register new "set/show remote
4896 hostio-fstat-packet" command.
4897 * symfile.c (separate_debug_file_exists): Update comment.
4898 * NEWS: Announce new vFile:fstat packet.
4902 * common/common-remote-fileio.h: New file.
4903 * common/common-remote-fileio.c: Likewise.
4904 * Makefile.in (SFILES): Add common/common-remote-fileio.c.
4905 (HFILES_NO_SRCDIR): Add common/common-remote-fileio.h.
4906 (COMMON_OBS): Add common-remote-fileio.o.
4907 (common-remote-fileio.o): New rule.
4908 * remote-fileio.h (common-remote-fileio.h): New include.
4909 * remote-fileio.c (gdb/fileio.h): Do not include.
4910 (remote_fileio_to_be): Moved to common-remote-fileio.h.
4911 (remote_fileio_to_fio_uint): Likewise.
4912 (remote_fileio_to_fio_time): Likewise.
4913 (remote_fileio_mode_to_target): Moved to common-remote-fileio.c.
4914 (remote_fileio_to_fio_mode): Likewise.
4915 (remote_fileio_to_fio_ulong): Likewise.
4916 (remote_fileio_to_fio_stat): Likewise.
4920 * guile/scm-value.c (gdbscm_value_dynamic_type): Fix typo in which
4921 we were checking the cached type, not the cached dynamic type.
4925 * guile/scm-cmd.c (cmdscm_destroyer): Don't xfree the name and
4926 other strings, as these are on the GC'd heap, and will be
4927 collected along with the smob.
4931 * guile/scm-objfile.c (gdbscm_objfile_progspace): New function.
4932 (objfile_functions): Bind gdbscm_objfile_progspace to
4934 * guile/lib/gdb.scm: Add objfile-progspace to exports.
4938 * guile/guile.c (_initialize_guile): Disable automatic
4939 finalization, if Guile offers us that possibility.
4940 * guile/guile.c (call_initialize_gdb_module):
4941 * guile/scm-safe-call.c (gdbscm_with_catch): Arrange to run
4942 finalizers in appropriate places.
4943 * configure.ac (AC_TRY_LIBGUILE): Add a check for
4944 scm_set_automatic_finalization_enabled.
4945 * configure: Regenerated.
4949 * s390-linux-tdep.c (s390_skip_prologue): Skip the prologue using
4954 * s390-linux-nat.c (struct arch_lwp_info): New.
4955 (s390_fix_watch_points): Rename to...
4956 (s390_prepare_to_resume): ...this. Skip the PER info update
4957 unless the watch points have changed.
4958 (s390_refresh_per_info, s390_new_thread): New functions.
4959 (s390_insert_watchpoint): Call s390_refresh_per_info instead of
4960 s390_fix_watch_points.
4961 (s390_remove_watchpoint): Likewise.
4962 (_initialize_s390_nat): Reflect renaming of s390_fix_watch_points.
4963 Register s390_prepare_to_resume.
4969 * common/gdb_socket.h: New file.
4970 * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
4972 (net_open): Use union gdb_sockaddr_u.
4976 * configure.ac (build_warnings): Move -Wmissing-prototypes
4977 -Wdeclaration-after-statement -Wmissing-parameter-type
4978 -Wold-style-declaration -Wold-style-definition to the C-specific
4980 * configure: Regenerate.
4984 * common/gdb_socket.h: New file.
4985 * ser-tcp.c: Include gdb_socket.h. Don't include netinet/in.h nor
4987 (net_open): Use union gdb_sockaddr_u.
4991 * common/common-exceptions.c [!__cplusplus] (enum catcher_state)
4992 (exceptions_state_mc_action_iter)
4993 (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
4995 [__cplusplus] (try_scope_depth): New global.
4996 [__cplusplus] (exception_try_scope_entry)
4997 (exception_try_scope_exit, gdb_exception_sliced_copy)
4998 (exception_rethrow): New functions.
4999 (throw_exception): In C++ mode, throw
5000 gdb_exception_RETURN_MASK_QUIT for RETURN_QUIT and
5001 gdb_exception_RETURN_MASK_ERROR for RETURN_ERROR.
5002 (throw_it): In C++ mode, use try_scope_depth.
5003 * common/common-exceptions.h [!__cplusplus]
5004 (exceptions_state_mc_action_iter)
5005 (exceptions_state_mc_action_iter_1, exceptions_state_mc_catch):
5007 [__cplusplus] (exception_try_scope_entry)
5008 (exception_try_scope_exit, exception_rethrow): Declare.
5009 [__cplusplus] (struct exception_try_scope): New struct.
5010 [__cplusplus] (TRY, CATCH, END_CATCH): Reimplement on top of real
5012 (struct gdb_exception_RETURN_MASK_ALL)
5013 (struct gdb_exception_RETURN_MASK_ERROR)
5014 (struct gdb_exception_RETURN_MASK_QUIT): New types.
5018 * main.c (handle_command_errors): Remove volatile qualifier from
5023 * breakpoint.c (save_breakpoints): Adjust to avoid code between
5025 * gdbtypes.c (safe_parse_type): Remove empty line.
5026 (types_deeply_equal):
5027 * guile/scm-frame.c (gdbscm_frame_name):
5028 * linux-thread-db.c (find_new_threads_once):
5029 * python/py-breakpoint.c (bppy_get_commands):
5030 * record-btrace.c (record_btrace_insert_breakpoint)
5031 (record_btrace_remove_breakpoint, record_btrace_start_replaying)
5032 (record_btrace_start_replaying): Adjust to avoid code between TRY
5037 * common/common-exceptions.c (struct catcher) <exception>: No
5038 longer a pointer to volatile exception. Now an exception value.
5039 <mask>: Delete field.
5040 (exceptions_state_mc_init): Remove all parameters. Adjust.
5041 (exceptions_state_mc): No longer pop the catcher here.
5042 (exceptions_state_mc_catch): New function.
5043 (throw_exception): Adjust.
5044 * common/common-exceptions.h (exceptions_state_mc_init): Remove
5046 (exceptions_state_mc_catch): Declare.
5047 (TRY_CATCH): Rename to ...
5048 (TRY): ... this. Remove EXCEPTION and MASK parameters.
5049 (CATCH, END_CATCH): New.
5050 All callers adjusted.
5054 * top.c (quit_force): Inline and delete DO_TRY, DO_PRINT_EX.
5058 * amd64-tdep.c (amd64_frame_cache, amd64_sigtramp_frame_cache)
5059 (amd64_epilogue_frame_cache): Normal exception handling code.
5060 * break-catch-throw.c (check_status_exception_catchpoint)
5061 (re_set_exception_catchpoint): Ditto.
5062 * cli/cli-interp.c (safe_execute_command):
5063 * cli/cli-script.c (script_from_file): Ditto.
5064 * compile/compile-c-symbols.c (generate_c_for_for_one_variable):
5066 * compile/compile-object-run.c (compile_object_run): Ditto.
5067 * cp-abi.c (baseclass_offset): Ditto.
5068 * cp-valprint.c (cp_print_value): Ditto.
5069 * exceptions.c (catch_exceptions_with_msg):
5070 * frame-unwind.c (frame_unwind_try_unwinder): Ditto.
5071 * frame.c (get_frame_address_in_block_if_available): Ditto.
5072 * i386-tdep.c (i386_frame_cache, i386_epilogue_frame_cache)
5073 (i386_sigtramp_frame_cache): Ditto.
5074 * infcmd.c (post_create_inferior): Ditto.
5075 * linespec.c (parse_linespec, find_linespec_symbols):
5076 * p-valprint.c (pascal_object_print_value): Ditto.
5077 * parse.c (parse_expression_for_completion): Ditto.
5078 * python/py-finishbreakpoint.c (bpfinishpy_init): Ditto.
5079 * remote.c (remote_get_noisy_reply): Ditto.
5080 * s390-linux-tdep.c (s390_frame_unwind_cache): Ditto.
5081 * solib-svr4.c (solib_svr4_r_map): Ditto.
5085 * common/common-utils.h (startswith): New inline function.
5086 All places where this logic was used updated to use the above.
5091 * mem-break.c (default_memory_insert_breakpoint): Set shadow_len
5092 after reading the breakpoint's shadow memory.
5096 * hppabsd-nat.c: Remove file.
5097 * hppaobsd-nat.c: New file.
5098 * Makefile.in (ALLDEPFILES): Remove hppabsd-nat.c. Add
5100 * config/pa/obsd.mh (NATDEPFILES): Replace hppabsd-nat.o with
5105 * target.h (struct target_ops) <to_decr_pc_after_break>: Delete.
5106 (target_decr_pc_after_break): Delete declaration.
5107 * target.c (default_target_decr_pc_after_break)
5108 (target_decr_pc_after_break): Delete.
5109 * linux-nat.c (check_stopped_by_breakpoint, linux_nat_wait_1): Use
5110 gdbarch_decr_pc_after_break instead of target_decr_pc_after_break.
5111 * linux-thread-db.c (check_event): Likewise.
5112 * infrun.c (adjust_pc_after_break): Likewise.
5113 * darwin-nat.c (cancel_breakpoint): Likewise.
5114 * aix-thread.c (aix_thread_wait): Likewise.
5115 * target-delegates.c: Regenerate.
5119 * linux-nat.c (save_sigtrap): Check for breakpoints before
5120 checking watchpoints.
5121 (status_callback) [USE_SIGTRAP_SIGINFO]: Don't check whether a
5122 breakpoint is inserted if relying on SIGTRAP's siginfo.si_code.
5123 (check_stopped_by_breakpoint) [USE_SIGTRAP_SIGINFO]: Decide whether
5124 a breakpoint triggered based on the SIGTRAP's siginfo.si_code.
5125 (linux_nat_stopped_by_sw_breakpoint)
5126 (linux_nat_supports_stopped_by_sw_breakpoint)
5127 (linux_nat_stopped_by_hw_breakpoint)
5128 (linux_nat_supports_stopped_by_hw_breakpoint): New functions.
5129 (linux_nat_wait_1): Don't re-increment the PC if relying on
5130 SIGTRAP's siginfo->si_code.
5131 (linux_nat_add_target): Install new target methods.
5132 * linux-thread-db.c (check_event): Don't account for breakpoint PC
5133 offset if the target already adjusted the PC.
5134 * nat/linux-ptrace.h (USE_SIGTRAP_SIGINFO): New.
5135 (GDB_ARCH_TRAP_BRKPT): New.
5136 (TRAP_HWBKPT): Define if not already defined.
5140 * NEWS: Mention the new "swbreak" and "hwbreak" stop reasons.
5141 * remote.c (struct remote_state) <remote_stopped_by_watchpoint_p>:
5143 <stop_reason>: New field.
5144 (PACKET_swbreak_feature, PACKET_hwbreak_feature): New enum values.
5145 (packet_set_cmd_state): New function.
5146 (remote_protocol_features): Register the "swbreak" and "hwbreak"
5148 (remote_query_supported): If not disabled with the corresponding
5149 "set remote foo-packet" command, report support for the swbreak
5150 and hwbreak features.
5151 (struct stop_reply) <remote_stopped_by_watchpoint_p>: Delete
5153 <stop_reason>: New field.
5154 (remote_parse_stop_reply): Handle "swbreak" and "hwbreak".
5155 (remote_wait_as): Adjust.
5156 (remote_stopped_by_sw_breakpoint)
5157 (remote_supports_stopped_by_sw_breakpoint)
5158 (remote_stopped_by_hw_breakpoint)
5159 (remote_supports_stopped_by_hw_breakpoint): New functions.
5160 (remote_stopped_by_watchpoint): New function.
5161 (init_remote_ops): Install them.
5162 (_initialize_remote): Register new "set/show remote
5163 swbreak-feature-packet" and "set/show remote
5164 swbreak-feature-packet" commands.
5168 * btrace.h: Include target/waitstatus.h.
5169 (struct btrace_thread_info) <stop_reason>: New field.
5170 * record-btrace.c (record_btrace_step_thread): Use
5171 record_check_stopped_by_breakpoint instead of breakpoint_here_p.
5172 (record_btrace_decr_pc_after_break): Delete.
5173 (record_btrace_stopped_by_sw_breakpoint)
5174 (record_btrace_supports_stopped_by_sw_breakpoint)
5175 (record_btrace_stopped_by_hw_breakpoint)
5176 (record_btrace_supports_stopped_by_hw_breakpoint): New functions.
5177 (init_record_btrace_ops): Install them.
5178 * record-full.c (record_full_hw_watchpoint): Delete and replace
5180 (record_full_stop_reason): ... this throughout.
5181 (record_full_exec_insn): Adjust.
5182 (record_full_wait_1): Adjust. No longer re-increment the PC.
5183 (record_full_wait_1): Adjust. Use
5184 record_check_stopped_by_breakpoint instead of breakpoint_here_p.
5185 (record_full_stopped_by_watchpoint): Adjust.
5186 (record_full_stopped_by_sw_breakpoint)
5187 (record_full_supports_stopped_by_sw_breakpoint)
5188 (record_full_supports_stopped_by_sw_breakpoint)
5189 (record_full_stopped_by_hw_breakpoint)
5190 (record_full_supports_stopped_by_hw_breakpoint): New functions.
5191 (init_record_full_ops, init_record_full_core_ops): Install them.
5192 * record.c (record_check_stopped_by_breakpoint): New function.
5193 * record.h: Include target/waitstatus.h.
5194 (record_check_stopped_by_breakpoint): New declaration.
5198 enum lwp_stop_reason -> enum target_stop_reason
5199 * linux-nat.c (linux_resume_one_lwp, check_stopped_by_watchpoint)
5200 (linux_nat_stopped_by_watchpoint, status_callback)
5201 (linux_nat_wait_1): Adjust.
5202 * linux-nat.h (enum lwp_stop_reason): Delete.
5203 (struct lwp_info) <stop_reason>: Now an enum target_stop_reason.
5204 * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
5205 * target/waitstatus.h (enum target_stop_reason): New.
5209 * breakpoint.c (need_moribund_for_location_type): New function.
5210 (bpstat_stop_status): Don't skipping checking moribund locations
5211 of breakpoint types which the target tell caused a stop.
5212 (program_breakpoint_here_p): New function, factored out from ...
5213 (bp_loc_is_permanent): ... this.
5214 (update_global_location_list): Don't create a moribund location if
5215 the target supports reporting stops of the type of the removed
5217 * breakpoint.h (program_breakpoint_here_p): New declaration.
5218 * infrun.c (adjust_pc_after_break): Return early if the target has
5219 already adjusted the PC. Add comments.
5220 (handle_signal_stop): If nothing explains a signal, and the target
5221 tells us the stop was caused by a software breakpoint, check if
5222 there's a breakpoint instruction in the memory. If so, adjust the
5223 PC before presenting the stop to the user. Otherwise, ignore the
5224 trap. If nothing explains a signal, and the target tells us the
5225 stop was caused by a hardware breakpoint, ignore the trap.
5226 * target.h (struct target_ops) <to_stopped_by_sw_breakpoint,
5227 to_supports_stopped_by_sw_breakpoint, to_stopped_by_hw_breakpoint,
5228 to_supports_stopped_by_hw_breakpoint>: New fields.
5229 (target_stopped_by_sw_breakpoint)
5230 (target_supports_stopped_by_sw_breakpoint)
5231 (target_stopped_by_hw_breakpoint)
5232 (target_supports_stopped_by_hw_breakpoint): Define.
5233 * target-delegates.c: Regenerate.
5237 * infrun.c (follow_fork_inferior): Use the whole of the
5238 inferior_ptid and pending_follow.related_pid ptids instead of
5239 building ptids from the process components. Adjust verbose output
5240 to use target_pid_to_str.
5241 * linux-nat.c (linux_child_follow_fork): Use the whole of the
5242 inferior_ptid and pending_follow.related_pid ptids instead of
5243 building ptids from the process components.
5247 * inf-ptrace.c [PT_GET_PROCESS_STATE]
5248 (inf_ptrace_insert_fork_catchpoint): New function.
5249 (inf_ptrace_remove_fork_catchpoint): New function.
5250 (inf_ptrace_target) [PT_GET_PROCESS_STATE]: Install them.
5254 * s390-linux-tdep.c (s390_register_name): Return empty string
5255 instead of NULL for registers that shouldn't be visible.
5259 * s390-linux-tdep.c (s390_gdbarch_init): Use the correct syscall
5260 XML file for 64-bit targets.
5264 * target.h (find_default_create_inferior): Remove declaration.
5265 (find_default_attach): Likewise.
5269 * inf-ptrace.c (inf_ptrace_resume): Remove spurious whitespace.
5270 Use ptid_get_pid to get the overall process id when resuming all
5275 * i386-linux-nat.c (i386_linux_resume): Get the ptrace PID out of
5276 the lwp field of ptid. Pass the full ptid to get_thread_regcache.
5277 * inf-ptrace.c (get_ptrace_pid): New function.
5278 (inf_ptrace_resume): Use it.
5279 * linux-nat.c (linux_resume_one_lwp): Pass the LWP's ptid ummodified
5284 * nat/linux-btrace.c: Include sys/utsname.h.
5285 (linux_determine_kernel_ptr_bits): New.
5286 (linux_enable_bts): Call linux_determine_kernel_ptr_bits.
5287 * x86-linux-nat.c (x86_linux_enable_btrace): Do not overwrite non-zero
5292 * btrace.c (ftrace_update_function): Treat return as tailcall for
5293 "_dl_runtime_resolve".
5297 * btrace.h (btrace_function) <lbegin, lend>: Remove.
5298 * btrace.c (ftrace_debug): Do not print the line range.
5299 (ftrace_skip_file, ftrace_update_lines): Remove.
5300 (ftrace_new_function): Remove lbegin and lend initialization.
5301 (btrace_compute_ftrace_bts): Remove call to ftrace_update_lines.
5302 * record-btrace.c (btrace_compute_src_line_range): New.
5303 (btrace_call_history_src_line): Call btrace_compute_src_line_range.
5307 * infrun.c (follow_exec): Delete all threads of the process except
5308 the event thread. Extended comments.
5312 * contrib/ari/gdb_ari.sh: Reinstate checks for "true" and "false".
5316 * utils.h: Remove <stdbool.h> #include.
5317 (producer_is_gcc): Change return type to "int".
5318 * utils.c (producer_is_gcc): Change return type to int.
5319 Return 1 instead of true, and 0 instead of false.
5320 Adjust function documentation accordingly.
5324 * s390-linux-nat.c (have_regset_vxrs): New static variable.
5325 (s390_linux_fetch_inferior_registers): Handle vector registers, if
5327 (s390_linux_store_inferior_registers): Likewise.
5328 (s390_get_hwcap): Remove function. Embed its logic...
5329 (s390_read_description): ...here. Yield a target description with
5330 vector registers if applicable.
5331 * s390-linux-tdep.c: Include "features/s390-vx-linux64.c",
5332 "features/s390-tevx-linux64.c", "features/s390x-vx-linux64.c", and
5333 "features/s390x-tevx-linux64.c".
5334 (struct gdbarch_tdep) <v0_full_regnum>: New field.
5335 (s390_dwarf_regmap): Add vector registers. Remove bogus entries
5336 for "GNU/Linux-specific registers".
5337 (s390_dwarf_reg_r0l): New enum value.
5338 (s390_dwarf_reg_to_regnum): Support vector registers.
5339 (s390_adjust_frame_regnum): Adjust pseudo DWARF register numbers
5340 of GPR lower halves.
5341 (regnum_is_vxr_full): New function.
5342 (s390_register_name): New function.
5343 (s390_pseudo_register_name): Handle v0-v15, which are composed of
5344 f0-f15 and v0l-v15l.
5345 (s390_pseudo_register_type): Likewise.
5346 (s390_pseudo_register_read): Likewise.
5347 (s390_pseudo_register_write): Likewise.
5348 (s390_value_from_register): Account for the fact that values are
5349 placed left-justified in vector registers.
5350 (s390_pseudo_register_reggroup_p): Add pseudo registers v0-v15 to
5351 the vector reggroup and omit them from the general reggroup.
5352 (s390_regmap_vxrs_low, s390_regmap_vxrs_high): New register maps.
5353 (s390_vxrs_low_regset, s390_vxrs_high_regset): New regsets.
5354 (s390_iterate_over_regset_sections): Add iterations for the two
5356 (s390_core_read_description): Yield a target description with
5357 vector registers if applicable.
5358 (s390_gdbarch_init): Handle target descriptions with vector
5359 registers. Add "register_name" gdbarch method.
5360 (_initialize_s390_tdep): Call new tdesc initialization functions.
5361 * s390-linux-tdep.h (HWCAP_S390_VX): New macro.
5362 (S390_V0_LOWER_REGNUM, S390_V1_LOWER_REGNUM, S390_V2_LOWER_REGNUM)
5363 (S390_V3_LOWER_REGNUM, S390_V4_LOWER_REGNUM, S390_V5_LOWER_REGNUM)
5364 (S390_V6_LOWER_REGNUM, S390_V7_LOWER_REGNUM, S390_V8_LOWER_REGNUM)
5365 (S390_V9_LOWER_REGNUM, S390_V10_LOWER_REGNUM)
5366 (S390_V11_LOWER_REGNUM, S390_V12_LOWER_REGNUM)
5367 (S390_V13_LOWER_REGNUM, S390_V14_LOWER_REGNUM)
5368 (S390_V15_LOWER_REGNUM, S390_V16_REGNUM, S390_V17_REGNUM)
5369 (S390_V18_REGNUM, S390_V19_REGNUM, S390_V20_REGNUM)
5370 (S390_V21_REGNUM, S390_V22_REGNUM, S390_V23_REGNUM)
5371 (S390_V24_REGNUM, S390_V25_REGNUM, S390_V26_REGNUM)
5372 (S390_V27_REGNUM, S390_V28_REGNUM, S390_V29_REGNUM)
5373 (S390_V30_REGNUM, S390_V31_REGNUM): New macros.
5374 (S390_NUM_REGS): Adjust value.
5375 (s390_vxrs_low_regset, s390_vxrs_high_regset): Declare.
5376 (tdesc_s390_vx_linux64, tdesc_s390_tevx_linux64)
5377 (tdesc_s390x_vx_linux64, tdesc_s390x_tevx_linux64): Likewise.
5378 * NEWS: Announce S/390 vector register support.
5382 * features/s390-tevx-linux64.xml: New file.
5383 * features/s390-vx-linux64.xml: New file.
5384 * features/s390-vx.xml: New file.
5385 * features/s390x-tevx-linux64.xml: New file.
5386 * features/s390x-vx-linux64.xml: New file.
5387 * features/Makefile (WHICH): Add s390-vx-linux64,
5388 s390x-vx-linux64, s390-tevx-linux64, and s390x-tevx-linux64.
5389 (s390-vx-linux64-expedite, s390-tevx-linux64-expedite)
5390 (s390x-vx-linux64-expedite, s390x-tevx-linux64-expedite): New
5392 * features/s390-tevx-linux64.c: New generated file.
5393 * features/s390-vx-linux64.c: Likewise.
5394 * features/s390x-tevx-linux64.c: Likewise.
5395 * features/s390x-vx-linux64.c: Likewise.
5396 * regformats/s390-tevx-linux64.dat: Likewise.
5397 * regformats/s390-vx-linux64.dat: Likewise.
5398 * regformats/s390x-tevx-linux64.dat: Likewise.
5399 * regformats/s390x-vx-linux64.dat: Likewise.
5403 * symtab.h (struct symtab) <next>: Fix comment.
5407 * python/python.c (python_GdbModuleDef): Rename GdbMethods to
5412 * dtrace-probe.c (dtrace_probe_ops): Make extern.
5416 * common/common-exceptions.h (exception_none): Declare.
5417 * common/common-exceptions.c (exception_none): Moved from
5419 (exceptions_state_mc_init): Use exception_none.
5420 * exceptions.c (exception_none): Move to
5421 common/common-exceptions.c.
5422 * exceptions.h (exception_none): Move to
5423 common/common-exceptions.h.
5427 * main.c (catch_command_errors, catch_command_errors_const):
5428 Remove 'mask' argument. Adjust.
5429 (captured_main): Adjust callers.
5433 * python/python-internal.h: Include "extension-priv.h".
5437 * breakpoint.h (enum print_stop_action): Move further up in the
5442 * gdbarch.sh: Include regcache.h.
5443 * gdbarch.h: Regenerate.
5447 * arm-tdep.c (decode_insn) <arm_handle_insn, thumb_handle_insn>:
5448 Remove duplicate const.
5449 * sparc-sol2-tdep.c (sparc_sol2_static_transform_name): Remove
5454 * cp-valprint.c (vtbl_ptr_name): Use EXPORTED_CONST.
5455 * guile/guile.c (extension_language_guile): Use EXPORTED_CONST.
5456 * features/feature_to_c.sh: Tag the generated xml_builtin array
5457 with extern const in C++ mode.
5461 * minidebug.c (struct lzma_stream): Rename to ...
5462 (struct gdb_lzma_stream): ... this.
5463 (lzma_open, lzma_pread, lzma_close, lzma_stat): Adjust.
5467 * mi/mi-cmd-stack.c (mi_apply_ext_lang_frame_filter): New
5469 (mi_cmd_stack_list_locals, mi_cmd_stack_list_args)
5470 (mi_cmd_stack_list_variables): Use it.
5474 * x86-linux-nat.c (u_debugreg_offset): New function.
5475 (x86_linux_dr_get, x86_linux_dr_set): Use it.
5479 * nat/x86-dregs.h (enum target_hw_bp_type): Remove forward
5481 Include break-common.h.
5486 * arm-tdep.c (set_fp_model_sfunc, arm_set_abi): Use 'int' for
5487 local used to iterate over enums.
5488 * completer.c (signal_completer): Likewise.
5489 * i386-tdep.c (i386_stap_parse_special_token): Likewise.
5490 * rs6000-tdep.c (powerpc_set_vector_abi): Likewise.
5491 * tui/tui-data.c (tui_next_win, tui_prev_win): Likewise.
5492 * tui/tui-layout.c (next_layout, prev_layout): Likewise.
5493 * tui/tui-win.c (tui_refresh_all_win, tui_rehighlight_all)
5494 (tui_resize_all, tui_set_focus_command, tui_all_windows_info): Likewise.
5495 * tui-wingeneral.c (tui_refresh_all): Likewise.
5499 * target.h: Include "infrun.h".
5503 * gdb_proc_service.h: Wrap with EXTERN_C_PUSH/EXTERN_C_POP.
5507 * common/agent.h (IPA_SYM_EXPORTED_NAME): New.
5509 * common/common-defs.h (EXTERN_C_PUSH, EXTERN_C_POP): New macros.
5513 * cli-out.c (_rl_erase_entire_line): Move declaration out of
5514 cli_mld_erase_entire_line, and make it extern "C".
5515 * common/common-defs.h (EXTERN_C): New.
5516 * completer.c (_rl_completion_prefix_display_length)
5517 (_rl_print_completions_horizontally, QSFUNC): Move declarations
5518 out of gdb_display_match_list_1.
5519 (_rl_qsort_string_compare): Move declaration out of
5520 gdb_display_match_list_1, and make it extern "C".
5521 * defs.h (re_comp): Use EXTERN_C.
5522 * maint.c (_mcleanup): Move declaration out of mcleanup_wrapper,
5523 and make it extern "C".
5524 (monstartup): Move declaration out of maintenance_set_profile_cmd,
5525 and make it extern "C".
5526 (main): Move declaration out of maintenance_set_profile_cmd.
5527 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string): Use
5532 * python/python.c (GdbMethods): Rename to ...
5533 (python_GdbMethods): ... this and make extern.
5534 (GdbModuleDef): Rename to ...
5535 (python_GdbModuleDef): ... this and make extern.
5539 * record-btrace.c (set_record_btrace_cmdlist)
5540 (show_record_btrace_cmdlist): Remove redefinitions.
5545 * dwarf2-frame.c (enum cfa_how_kind, struct
5546 dwarf2_frame_state_reg_info): Move out of struct
5548 * dwarf2read.c (struct tu_stats): Move out of struct
5550 (struct file_entry): Move out of struct line_header.
5551 (struct nextfield, struct nextfnfield, struct fnfieldlist, struct
5552 typedef_field_list): Move out of struct field_info.
5553 * gdbtypes.h (enum dynamic_prop_kind, union dynamic_prop_data):
5554 Move out of struct dynamic_prop.
5555 (union type_owner, union field_location, struct field, struct
5556 range_bounds, union type_specific): Move out of struct main_type.
5557 (struct fn_fieldlist, struct fn_field, struct typedef_field)
5558 (VOFFSET_STATIC): Move out of struct cplus_struct_type.
5559 (struct call_site_target, union call_site_parameter_u, struct
5560 call_site_parameter): Move out of struct call_site.
5561 * m32c-tdep.c (enum m32c_prologue_kind): Move out of struct
5563 (enum srcdest_kind): Move out of struct srcdest.
5564 * main.c (enum cmdarg_kind): Move out of struct cmdarg.
5565 * prologue-value.h (enum prologue_value_kind): Move out of struct
5567 * s390-linux-tdep.c (enum s390_abi_kind): Move out of struct
5569 * stabsread.c (struct nextfield, struct next_fnfieldlist): Move
5570 out of struct field_info.
5571 * symfile.h (struct other_sections): Move out of struct
5573 * symtab.c (struct symbol_cache_slot): Move out struct
5575 * target-descriptions.c (enum tdesc_type_kind): Move out of
5576 typedef struct tdesc_type.
5577 * tui/tui-data.h (enum tui_line_or_address_kind): Move out of
5578 struct tui_line_or_address.
5579 * value.c (enum internalvar_kind, union internalvar_data): Move
5580 out of struct internalvar.
5581 * xtensa-tdep.h (struct ctype_cache): Move out of struct
5587 Rename symbols whose names are reserved C++ keywords throughout.
5591 * Makefile.in (COMPILER): New, get it from autoconf.
5592 (COMPILE.pre, CC_LD): Use COMPILER.
5593 (CXX): Get from autoconf instead.
5594 (CXX_FOR_TARGET): Default to g++ instead of gcc.
5595 * acinclude.m4: Include build-with-cxx.m4.
5596 * build-with-cxx.m4: New file.
5597 * configure.ac: Call AC_PROG_CXX and GDB_AC_BUILD_WITH_CXX.
5598 Disable -Werror by default if building in C++ mode.
5599 (build_warnings): Add -Wno-sign-compare, -Wno-write-strings and
5600 -Wno-narrowing in C++ mode. Only enable -Wpointer-sign in C mode.
5601 Run supported-warning-flags tests with the C++ compiler.
5602 Save/restore CXXFLAGS too.
5603 * configure: Regenerate.
5607 * libiberty.m4: New file.
5608 * acinclude.m4: Include libiberty.m4.
5609 * configure.ac: Call libiberty_INIT.
5610 * config.in, configure: Regenerate.
5614 * s390-linux-tdep.c (s390_gcc_target_options): Not just handle
5615 31-bit targets, but 64-bit targets as well.
5616 (s390_gnu_triplet_regexp): New function.
5617 (s390_gdbarch_init): Set the gcc_target_options gdbarch method for
5618 64-bit targets as well. Set the gnu_triplet_regexp gdbarch
5623 * windows-nat.c (CONTEXT_DEBUGGER): Remove.
5624 (CONTEXT_DEBUGGER_DR): Add CONTEXT_SEGMENTS. Incorporate flags
5625 from CONTEXT_DEBUGGER.
5629 * gdbtypes.c (internal_type_vptr_fieldno): Add missing call to
5631 (set_type_vptr_fieldno): Ditto.
5632 (internal_type_vptr_basetype, set_type_vptr_basetype): Ditto.
5633 * gnu-v3-abi.c (gnuv3_dynamic_class): Ditto.
5637 * auto-load.h (file_is_auto_load_safe): Add ATTRIBUTE_PRINTF.
5638 * complaints.c (vcomplaint): Pass argument FMT directly to
5639 printf-like functions instead of complaint->fmt.
5640 * ctf.c (ctf_save_write_metadata): Add ATTRIBUTE_PRINTF.
5641 * darwin-nat.c (inferior_debug): Add ATTRIBUTE_PRINTF.
5642 * compile/compile-loc2c.c (pushf, unary, binary): Add
5644 (do_compile_dwarf_expr_to_c): Pass string literal as format string
5646 (BINARY): Pass string literal as format string to 'binary'.
5647 * compile/compile-object-load.c (link_callbacks_einfo): Add
5649 * guile/guile-internal.h (gdbscm_printf): Add ATTRIBUTE_PRINTF.
5653 * windows-termcap.c: Rename to ...
5654 * stub-termcap.c: ... this. Adjust header line.
5655 * Makefile.in (SFILES): Refer to stub-termcap.c instead of
5657 * configure: Regenerate.
5658 * configure.ac: Refer to stub-termcap.o instead of
5660 * gdb_curses.h: Mention stub-termcap.c instead of
5665 * compile/compile-c-symbols.c (convert_one_symbol, convert_symbol_bmsym)
5666 (gcc_symbol_address): Call gnu_ifunc_resolve_addr.
5670 * gdb/infcmd.c (print_return_value): use type_to_string to print type.
5674 * elfread.c (elf_read_minimal_symbols): Use bfd_alloc for
5675 bfd_canonicalize_symtab.
5679 * amd64fbsd-nat.c: Include sys/user.h.
5680 (_initialize_amd64fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
5681 instead of KERN_PS_STRINGS to locate the signal trampoline.
5682 * i386fbsd-nat.c: Include sys/user.h.
5683 (_initialize_i386fbsd_nat): Use the KERN_PROC_SIGTRAMP sysctl
5684 instead of KERN_PS_STRINGS to locate the signal trampoline.
5685 * amd64fbsd-tdep.c (amd64fbsd_sigtramp_code): New.
5686 (amd64fbsd_sigtramp_p): New.
5687 (amd64fbsd_sigtramp_start_addr, amd64fbsd_sigtramp_end_addr): No
5688 longer set default values.
5689 (amd64fbsd_init_abi): Set "sigtramp_p" to "amd64fbsd_sigtramp_p".
5690 * i386fbsd-tdep.c (i386fbsd_sigtramp_start)
5691 (i386fbsd_sigtramp_middle, i386fbsd_sigtramp_end)
5692 (i386fbsd_freebsd4_sigtramp_start)
5693 (i386fbsd_freebsd4_sigtramp_middle)
5694 (i386fbsd_freebsd4_sigtramp_end, i386fbsd_osigtramp_start)
5695 (i386fbsd_osigtramp_middle, i386fbsd_osigtramp_end): New.
5696 (i386fbsd_sigtramp_p): New.
5697 (i386fbsd_sigtramp_start_addr, i386fbsd_sigtramp_end_addr): No
5698 longer set default values.
5699 (i386fbsd_init_abi): Set "sigtramp_p" to "i386fbsd_sigtramp_p".
5703 * amd64fbsd-tdep.c (amd64fbsd_sigcontext_addr): Use
5704 get_frame_register instead of frame_unwind_register_unsigned.
5709 * compile/compile-c-support.c (c_compute_program): Change // comment.
5710 * compile/compile-object-load.c (setup_sections): Change // comment.
5715 * iq2000-tdep.c (iq2000_frame_cache): Delete C++-style comment.
5719 * remote.c (skip_to_semicolon): New function.
5720 (remote_parse_stop_reply) <T stop reply>: Use it. Don't
5721 special case the stop reasons that look like hex numbers
5722 upfront. Instead handle real register numbers after matching
5723 all the known stop reasons.
5727 PR c++/17976, symtab/17821
5728 * cp-namespace.c (cp_search_static_and_baseclasses): New parameter
5729 is_in_anonymous. All callers updated.
5730 (find_symbol_in_baseclass): Ditto.
5731 (cp_lookup_nested_symbol_1): Ditto. Don't search all static blocks
5732 for symbols in an anonymous namespace.
5733 * dwarf2read.c (namespace_name): Don't call dwarf2_name, fetch
5734 DW_AT_name directly.
5735 (dwarf2_name): Convert missing namespace name to
5736 CP_ANONYMOUS_NAMESPACE_STR.
5740 * linux-nat.c (linux_handle_extended_wait): Call
5741 thread_db_notice_clone whenever a new clone LWP is detected.
5742 (linux_stop_and_wait_all_lwps, linux_unstop_all_lwps): New
5744 * linux-nat.h (thread_db_attach_lwp): Delete declaration.
5745 (thread_db_notice_clone, linux_stop_and_wait_all_lwps)
5746 (linux_unstop_all_lwps): Declare.
5747 * linux-thread-db.c (struct thread_get_info_inout): Delete.
5748 (thread_get_info_callback): Delete.
5749 (thread_from_lwp): Use td_thr_get_info and record_thread.
5750 (thread_db_attach_lwp): Delete.
5751 (thread_db_notice_clone): New function.
5752 (try_thread_db_load_1): If /proc is mounted and shows the
5753 process'es task list, walk over all LWPs and call thread_from_lwp
5754 instead of relying on td_ta_thr_iter.
5755 (attach_thread): Don't call check_thread_signals here. Split the
5756 tail part of the function (which adds the thread to the core GDB
5758 (record_thread): ... this function. Call check_thread_signals
5760 (thread_db_wait): Don't call thread_db_find_new_threads_1. Always
5761 call thread_from_lwp.
5762 (thread_db_update_thread_list): Rename to ...
5763 (thread_db_update_thread_list_org): ... this.
5764 (thread_db_update_thread_list): New function.
5765 (thread_db_find_thread_from_tid): Delete.
5766 (thread_db_get_ada_task_ptid): Simplify.
5767 * nat/linux-procfs.c: Include <sys/stat.h>.
5768 (linux_proc_task_list_dir_exists): New function.
5769 * nat/linux-procfs.h (linux_proc_task_list_dir_exists): Declare.
5773 * linux-nat.c (lin_lwp_attach_lwp): No longer special case the
5774 main LWP. Handle the case of waitpid returning 0 if we're already
5775 attached to the LWP. Don't set the LWP's last_resume_kind to
5776 resume_stop if we already knew about the LWP.
5777 (linux_nat_filter_event): Add debug logs.
5781 * target.h (forward_target_decr_pc_after_break): Delete
5787 * linux-thread-db.c (thread_get_info_callback): Return early if
5788 the thread's lwp id is -1.
5796 * dtrace-probe.c (dtrace_process_dof_probe): Initialize arg.expr.
5797 (dtrace_get_probes) Change type of variable 'dof'.
5801 PR breakpoints/16812
5802 * linux-nat.c (linux_nat_filter_event): Report SIGTRAP,SIGILL,SIGSEGV.
5803 * nat/linux-ptrace.c (linux_wstatus_maybe_breakpoint): Add.
5804 * nat/linux-ptrace.h: Add linux_wstatus_maybe_breakpoint.
5808 * common/ax.def (setv): Fix consumed entry in setv DEFOP.
5812 * tui/tui-io.c (tui_handle_resize_during_io): Remove this
5814 (tui_putc): Don't call tui_handle_resize_during_io.
5815 (tui_getc): Likewise.
5816 (tui_mld_getc): Likewise.
5817 * tui/tui-win.c: Include event-loop.h and tui/tui-io.h.
5818 (tui_sigwinch_token): New static variable.
5819 (tui_initialize_win): Adjust documentation. Set
5821 (tui_async_resize_screen): New asynchronous callback.
5822 (tui_sigwinch_handler): Adjust documentation. Asynchronously
5823 invoke tui_async_resize_screen.
5827 * configure: Regenerated.
5828 * configure.ac: Use GDB_AC_TRANSFORM.
5829 * Makefile.in (aclocal_m4_deps): Added transform.m4.
5830 * acinclude.m4: sinclude transform.m4.
5831 * transform.m4: New file.
5832 (GDB_AC_TRANSFORM): New macro.
5836 * NEWS: Announce the support for DTrace SDT probes.
5840 * amd64-linux-tdep.c: Include "parser-defs.h" and "user-regs.h".
5841 (amd64_dtrace_parse_probe_argument): New function.
5842 (amd64_dtrace_probe_is_enabled): Likewise.
5843 (amd64_dtrace_enable_probe): Likewise.
5844 (amd64_dtrace_disable_probe): Likewise.
5845 (amd64_linux_init_abi): Register the
5846 `gdbarch_dtrace_probe_argument', `gdbarch_dtrace_enable_probe',
5847 `gdbarch_dtrace_disable_probe' and
5848 `gdbarch_dtrace_probe_is_enabled' hooks.
5849 (amd64_dtrace_disabled_probe_sequence_1): New constant.
5850 (amd64_dtrace_disabled_probe_sequence_2): Likewise.
5851 (amd64_dtrace_enable_probe_sequence): Likewise.
5852 (amd64_dtrace_disable_probe_sequence): Likewise.
5856 * breakpoint.c (BREAK_ARGS_HELP): Help string updated to mention
5857 the -probe-dtrace new vpossible value for PROBE_MODIFIER.
5858 * configure.ac (CONFIG_OBS): dtrace-probe.o added if BFD can
5860 * Makefile.in (SFILES): dtrace-probe.c added.
5861 * configure: Regenerate.
5862 * dtrace-probe.c: New file.
5863 (SHT_SUNW_dof): New constant.
5864 (dtrace_probe_type): New enum.
5865 (dtrace_probe_arg): New struct.
5866 (dtrace_probe_arg_s): New typedef.
5867 (struct dtrace_probe_enabler): New struct.
5868 (dtrace_probe_enabler_s): New typedef.
5869 (dtrace_probe): New struct.
5870 (dtrace_probe_is_linespec): New function.
5871 (dtrace_dof_sect_type): New enum.
5872 (dtrace_dof_dofh_ident): Likewise.
5873 (dtrace_dof_encoding): Likewise.
5874 (DTRACE_DOF_ENCODE_LSB): Likewise.
5875 (DTRACE_DOF_ENCODE_MSB): Likewise.
5876 (dtrace_dof_hdr): New struct.
5877 (dtrace_dof_sect): Likewise.
5878 (dtrace_dof_provider): Likewise.
5879 (dtrace_dof_probe): Likewise.
5880 (DOF_UINT): New macro.
5881 (DTRACE_DOF_PTR): Likewise.
5882 (DTRACE_DOF_SECT): Likewise.
5883 (dtrace_process_dof_probe): New function.
5884 (dtrace_process_dof): Likewise.
5885 (dtrace_build_arg_exprs): Likewise.
5886 (dtrace_get_arg): Likewise.
5887 (dtrace_get_probes): Likewise.
5888 (dtrace_get_probe_argument_count): Likewise.
5889 (dtrace_can_evaluate_probe_arguments): Likewise.
5890 (dtrace_evaluate_probe_argument): Likewise.
5891 (dtrace_compile_to_ax): Likewise.
5892 (dtrace_probe_destroy): Likewise.
5893 (dtrace_gen_info_probes_table_header): Likewise.
5894 (dtrace_gen_info_probes_table_values): Likewise.
5895 (dtrace_probe_is_enabled): Likewise.
5896 (dtrace_probe_ops): New variable.
5897 (info_probes_dtrace_command): New function.
5898 (_initialize_dtrace_probe): Likewise.
5899 (dtrace_type_name): Likewise.
5903 * gdbarch.sh (dtrace_parse_probe_argument): New.
5904 (dtrace_probe_is_enabled): Likewise.
5905 (dtrace_enable_probe): Likewise.
5906 (dtrace_disable_probe): Likewise.
5907 * gdbarch.c: Regenerate.
5908 * gdbarch.h: Regenerate.
5912 * stap-probe.c (stap_probe_ops): Add NULLs in the static
5913 stap_probe_ops for `enable_probe' and `disable_probe'.
5914 * probe.c (enable_probes_command): New function.
5915 (disable_probes_command): Likewise.
5916 (_initialize_probe): Define the cli commands `enable probe' and
5918 (parse_probe_linespec): New function.
5919 (info_probes_for_ops): Use parse_probe_linespec.
5920 * probe.h (probe_ops): New hooks `enable_probe' and
5925 * probe.c (compute_probe_arg): Moved from stap-probe.c
5926 (compile_probe_arg): Likewise.
5927 (probe_funcs): Likewise.
5928 * stap-probe.c (compute_probe_arg): Moved to probe.c.
5929 (compile_probe_arg): Likewise.
5930 (probe_funcs): Likewise.
5934 * probe.c (print_ui_out_not_applicables): New function.
5935 (exists_probe_with_pops): Likewise.
5936 (info_probes_for_ops): Do not include column headers for probe
5937 types for which no probe has been actually found on any object.
5938 Also invoke `print_ui_out_not_applicables' in order to match the
5939 column rows with the header when probes of several types are
5941 Print the "Type" column.
5942 * probe.h (probe_ops): Added a new probe operation `type_name'.
5943 * stap-probe.c (stap_probe_ops): Add `stap_type_name'.
5944 (stap_type_name): New function.
5948 * tui/tui-io.c (tui_getc): Don't call key_is_command_char.
5949 (key_is_command_char): Delete.
5953 * tui/tui.c (tui_enable): Resize windows before anything
5954 might show a window.
5959 * aarch64-linux-nat.c: Don't include features/aarch64.c anymore.
5960 (aarch64_linux_read_description): Remove initialize_tdesc_aarch64
5962 * aarch64-tdep.h (tdesc_aarch64): Declare.
5966 * contrib/ari/gdb_ari.sh: Remove checks for "true" and "false".
5970 * cp-namespace.c (cp_basic_lookup_symbol): Rename parameter
5971 anonymous_namespace to is_in_anonymous for consistency with the rest
5973 (cp_lookup_bare_symbol): Fix typo in comment.
5974 (cp_search_static_and_baseclasses): Ditto.
5975 (search_symbol_list): Use vertical space in comment better.
5976 (reset_directive_searched): Ditto. Fix typo.
5977 (cp_lookup_nested_symbol_1): Clarify contents of NESTED_NAME parameter.
5981 * MAINTAINERS: Update my email address.
5985 * symtab.c (completion_list_add_name): Fix memory leak.
5989 * completer.c (complete_line): Remove incorrect comment.
5993 * python/py-framefilter.c (py_print_single_arg, enumerate_locals)
5994 (py_print_frame): Use RETURN_MASK_ERROR.
5998 * python/py-framefilter.c (py_print_frame): Mention RETURN_QUIT in
5999 function comment. Wrap all function that can throw in cleanups.
6000 (gdbpy_apply_frame_filter): Wrap all function that can throw in
6005 * python/py-framefilter.c (py_print_frame): Substitute goto error.
6006 Remove the error label.
6010 * python/py-framefilter.c (py_print_frame): Put conditional code paths
6011 with goto first, indent the former else codepath left. Put variable
6012 'elided' to a new inner block.
6016 * python/py-framefilter.c (py_print_frame): Whitespacing fixes.
6020 * xcoffread.c (within_function): Delete.
6025 * breakpoint.c (base_breakpoint_ops): Delete.
6026 * dwarf2loc.c (dwarf_expr_ctx_funcs): Make extern.
6027 * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_lazy_psyms): Make extern.
6028 * guile/guile.c (guile_extension_script_ops, guile_extension_ops): Make extern.
6029 * ppcnbsd-tdep.c (ppcnbsd2_sigtramp): Make extern.
6030 * python/py-arch.c (arch_object_type): Make extern.
6031 * python/py-block.c (block_syms_iterator_object_type): Make extern.
6032 * python/py-bpevent.c (breakpoint_event_object_type): Make extern.
6033 * python/py-cmd.c (cmdpy_object_type): Make extern.
6034 * python/py-continueevent.c (continue_event_object_type)
6035 * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Remove 'qual'
6036 parameter. Update all callers.
6037 * python/py-evtregistry.c (eventregistry_object_type): Make extern.
6038 * python/py-exitedevent.c (exited_event_object_type): Make extern.
6039 * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Make extern.
6040 * python/py-function.c (fnpy_object_type): Make extern.
6041 * python/py-inferior.c (inferior_object_type, membuf_object_type): Make extern.
6042 * python/py-infevents.c (call_pre_event_object_type)
6043 (inferior_call_post_event_object_type).
6044 (memory_changed_event_object_type): Make extern.
6045 * python/py-infthread.c (thread_object_type): Make extern.
6046 * python/py-lazy-string.c (lazy_string_object_type): Make extern.
6047 * python/py-linetable.c (linetable_entry_object_type)
6048 (linetable_object_type, ltpy_iterator_object_type): Make extern.
6049 * python/py-newobjfileevent.c (new_objfile_event_object_type)
6050 (clear_objfiles_event_object_type): Make extern.
6051 * python/py-objfile.c (objfile_object_type): Make extern.
6052 * python/py-param.c (parmpy_object_type): Make extern.
6053 * python/py-progspace.c (pspace_object_type): Make extern.
6054 * python/py-signalevent.c (signal_event_object_type): Make extern.
6055 * python/py-symtab.c (symtab_object_type, sal_object_type): Make extern.
6056 * python/py-type.c (type_object_type, field_object_type)
6057 (type_iterator_object_type): Make extern.
6058 * python/python.c (python_extension_script_ops)
6059 (python_extension_ops): Make extern.
6060 * stap-probe.c (stap_probe_ops): Make extern.
6064 * infrun.c (adjust_pc_after_break): Don't adjust the PC just
6065 because the event thread is not the current thread.
6069 * gdbtypes.c (internal_type_self_type): If TYPE_SPECIFIC_FIELD hasn't
6070 been initialized yet, return NULL.
6074 * symfile.h (new_symfile_objfile): Delete.
6075 * symfile.c (finish_new_objfile): Renamed from new_symfile_objfile.
6076 All callers updated.
6080 * tui/tui-io.c (tui_handle_resize_during_io): Call
6081 tui_update_gdb_sizes() after resizing the screen.
6082 * tui/tui.c (tui_enable): Resize the terminal before
6083 calling tui_update_gdb_sizes().
6087 * tui/tui-io.c (tui_getc): Move cursor to the end of the command
6088 line before printing a newline.
6092 * utils.c (producer_is_gcc): Return true or false.
6096 * utils.h (producer_is_gcc): Change return type to bool. Add major
6098 * utils.c (producer_is_gcc): Likewise.
6099 (producer_is_gcc_ge_4): Adjust producer_is_gcc call.
6100 * dwarf2read.c (check_producer): Likewise.
6104 * infrun.c (displaced_step_fixup): Switch to the event thread
6105 before calling gdbarch_displaced_step_fixup.
6109 * MAINTAINERS (Write After Approval): Add Antoine Tremblay.
6113 * ada-varobj.c (ada_name_of_child): Constify parent.
6114 (ada_path_expr_of_child): Same.
6115 (ada_value_of_child): Same.
6116 (ada_type_of_child): Same.
6117 * c-varobj.c (c_is_path_expr_parent): Same.
6118 (c_describe_child): Same.
6119 (c_name_of_child): Same.
6120 (c_value_of_child): Same.
6121 (c_type_of_child): Same.
6122 (cplus_number_of_children): Same.
6123 (cplus_describe_child): Constify var.
6124 (cplus_name_of_child): Constify parent.
6125 (cplus_value_of_child): Same.
6126 (cplus_type_of_child): Same.
6127 * jv-varobj.c (java_name_of_child): Same.
6128 (java_value_of_child): Same.
6129 (java_type_of_child): Same.
6130 * varobj.c (value_of_child): Same.
6131 (varobj_default_is_path_expr_parent): Constify var, parent and return
6133 (varobj_get_path_expr): Constify var, modify path_expr through
6135 (install_new_value): Constify parent.
6136 (value_of_child): Constify parent.
6137 * varobj.h (struct varobj): Constify parent.
6138 (struct lang_varobj_ops): Constify name_of_child, value_of_child and
6140 (varobj_get_path_expr): Constify var.
6141 (varobj_get_path_expr_parent): Constify var and return value.
6145 * arm-tdep.c (arm_prologue_unwind_stop_reason): New function.
6146 (arm_prologue_this_id): Move PC and SP limit checks to
6147 arm_prologue_unwind_stop_reason.
6148 (arm_prologue_unwind) <stop_reason> : Set to
6149 arm_prologue_unwind_stop_reason.
6153 * dwarf2read.c (set_cu_language): Recognize DW_LANG_Fortran03 and
6154 DW_LANG_Fortran08 as language_fortran.
6159 * gdb/remote.c (remote_parse_stop_reply): Fix wrong comparison
6160 of pointer against char.
6164 * c-typeprint.c (cp_type_print_method_args): Handle '_Atomic'.
6165 (c_type_print_modifier): Likewise.
6166 * dwarf2read.c (read_tag_atomic_type): New function.
6167 (read_type_die_1): Handle DW_TAG_atomic_type.
6168 * gdbtypes.c (make_atomic_type): New function.
6169 (recursive_dump_type): Handle TYPE_ATOMIC.
6170 * gdbtypes.h (enum type_flag_values): Renumber.
6171 (enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_ATOMIC.
6172 (TYPE_ATOMIC): New macro.
6173 (make_atomic_type): Declare.
6177 * btrace.c (ftrace_find_call): Skip gaps.
6178 (ftrace_new_function): Initialize level.
6179 (ftrace_new_call, ftrace_new_tailcall, ftrace_new_return)
6180 (ftrace_new_switch): Update
6182 (ftrace_new_gap): New.
6183 (ftrace_update_function): Create new function after gap.
6184 (btrace_compute_ftrace_bts): Create gap on error.
6185 (btrace_stitch_bts): Update parameters. Clear trace if it
6187 (btrace_stitch_trace): Update parameters. Update callers.
6188 (btrace_clear): Reset the number of gaps.
6189 (btrace_insn_get): Return NULL if the iterator points to a gap.
6190 (btrace_insn_number): Return zero if the iterator points to a gap.
6191 (btrace_insn_end): Allow gaps at the end.
6192 (btrace_insn_next, btrace_insn_prev, btrace_insn_cmp): Handle gaps.
6193 (btrace_find_insn_by_number): Assert that the found iterator does
6195 (btrace_call_next, btrace_call_prev): Assert that the last function
6197 * btrace.h (btrace_bts_error): New.
6198 (btrace_function): Update comment.
6199 (btrace_function) <insn, insn_offset, number>: Update comment.
6200 (btrace_function) <errcode>: New.
6201 (btrace_thread_info) <ngaps>: New.
6202 (btrace_thread_info) <replay>: Update comment.
6203 (btrace_insn_get): Update comment.
6204 * record-btrace.c (btrace_ui_out_decode_error): New.
6205 (record_btrace_info): Print number of gaps.
6206 (btrace_insn_history, btrace_call_history): Call
6207 btrace_ui_out_decode_error for gaps.
6208 (record_btrace_step_thread, record_btrace_start_replaying): Skip gaps.
6212 * common/btrace-common.h (btrace_cpu_vendor, btrace_cpu): New.
6213 * nat/linux-btrace.c: (btrace_this_cpu): New.
6214 (cpu_supports_bts): Call btrace_this_cpu.
6215 (intel_supports_bts): Add cpu parameter.
6219 * btrace.h (btrace_insn_class): New.
6220 (btrace_insn) <size, iclass>: New.
6221 * btrace.c (ftrace_find_call): Update parameters. Update users.
6222 Use instruction classification.
6223 (ftrace_new_return): Update parameters. Update users.
6224 (ftrace_update_function): Update parameters. Update users. Use
6225 instruction classification.
6226 (ftrace_update_insns): Update parameters. Update users.
6227 (ftrace_classify_insn): New.
6228 (btrace_compute_ftrace_bts): Fill in new btrace_insn fields. Add
6229 TRY_CATCH around call to gdb_insn_length.
6233 * btrace.c (btrace_compute_ftrace_bts, btrace_compute_ftrace):
6234 Update parameters. Update users.
6238 * btrace.c (parse_xml_btrace_conf_bts): Add size.
6239 (btrace_conf_bts_attributes): New.
6240 (btrace_conf_children): Add attributes.
6241 * common/btrace-common.h (btrace_config_bts): New.
6242 (btrace_config)<bts>: New.
6243 (btrace_config): Update comment.
6244 * nat/linux-btrace.c (linux_enable_btrace, linux_enable_bts):
6246 * features/btrace-conf.dtd: Increment version. Add size
6247 attribute to bts element.
6248 * record-btrace.c (set_record_btrace_bts_cmdlist,
6249 show_record_btrace_bts_cmdlist): New.
6250 (record_btrace_adjust_size, record_btrace_print_bts_conf,
6251 record_btrace_print_conf, cmd_set_record_btrace_bts,
6252 cmd_show_record_btrace_bts): New.
6253 (record_btrace_info): Call record_btrace_print_conf.
6254 (_initialize_record_btrace): Add commands.
6255 * remote.c: Add PACKET_Qbtrace_conf_bts_size enum.
6256 (remote_protocol_features): Add Qbtrace-conf:bts:size packet.
6257 (btrace_sync_conf): Synchronize bts size.
6258 (_initialize_remote): Add Qbtrace-conf:bts:size packet.
6259 * NEWS: Announce new commands and new packets.
6263 * Makefile.in (XMLFILES): Add btrace-conf.dtd.
6264 * x86-linux-nat.c (x86_linux_enable_btrace): Update parameters.
6265 (x86_linux_btrace_conf): New.
6266 (x86_linux_create_target): Initialize to_btrace_conf.
6267 * nat/linux-btrace.c (linux_enable_btrace): Update parameters.
6268 Check format. Split into this and ...
6269 (linux_enable_bts): ... this.
6270 (linux_btrace_conf): New.
6271 (perf_event_skip_record): Renamed into ...
6272 (perf_event_skip_bts_record): ... this. Updated users.
6273 (linux_disable_btrace): Split into this and ...
6274 (linux_disable_bts): ... this.
6275 (linux_read_btrace): Check format.
6276 * nat/linux-btrace.h (linux_enable_btrace): Update parameters.
6277 (linux_btrace_conf): New.
6278 (btrace_target_info)<ptid>: Moved.
6279 (btrace_target_info)<conf>: New.
6280 (btrace_target_info): Split into this and ...
6281 (btrace_tinfo_bts): ... this. Updated users.
6282 * btrace.c (btrace_enable): Update parameters.
6283 (btrace_conf, parse_xml_btrace_conf_bts, parse_xml_btrace_conf)
6284 (btrace_conf_children, btrace_conf_attributes)
6285 (btrace_conf_elements): New.
6286 * btrace.h (btrace_enable): Update parameters.
6287 (btrace_conf, parse_xml_btrace_conf): New.
6288 * common/btrace-common.h (btrace_config): New.
6289 * feature/btrace-conf.dtd: New.
6290 * record-btrace.c (record_btrace_conf): New.
6291 (record_btrace_cmdlist): New.
6292 (record_btrace_enable_warn, record_btrace_open): Pass
6293 &record_btrace_conf.
6294 (record_btrace_info): Print recording format.
6295 (cmd_record_btrace_bts_start): New.
6296 (cmd_record_btrace_start): Call cmd_record_btrace_bts_start.
6297 (_initialize_record_btrace): Add "record btrace bts" subcommand.
6298 Add "record bts" alias command.
6299 * remote.c (remote_state)<btrace_config>: New.
6300 (remote_btrace_reset, PACKET_qXfer_btrace_conf): New.
6301 (remote_protocol_features): Add qXfer:btrace-conf:read.
6302 (remote_open_1): Call remote_btrace_reset.
6303 (remote_xfer_partial): Handle TARGET_OBJECT_BTRACE_CONF.
6304 (btrace_target_info)<conf>: New.
6305 (btrace_sync_conf, btrace_read_config): New.
6306 (remote_enable_btrace): Update parameters. Call btrace_sync_conf and
6308 (remote_btrace_conf): New.
6309 (init_remote_ops): Initialize to_btrace_conf.
6310 (_initialize_remote): Add qXfer:btrace-conf packet.
6311 * target.c (target_enable_btrace): Update parameters.
6312 (target_btrace_conf): New.
6313 * target.h (target_enable_btrace): Update parameters.
6314 (target_btrace_conf): New.
6315 (target_object)<TARGET_OBJECT_BTRACE_CONF>: New.
6316 (target_ops)<to_enable_btrace>: Update parameters and comment.
6317 (target_ops)<to_btrace_conf>: New.
6318 * target-delegates: Regenerate.
6319 * target-debug.h (target_debug_print_const_struct_btrace_config_p)
6320 (target_debug_print_const_struct_btrace_target_info_p): New.
6321 * NEWS: Announce new command and new packet.
6325 * nat/linux-btrace.h (perf_event_buffer): New.
6326 (btrace_target_info) <buffer, size, data_head>: Replace with ...
6328 * nat/linux-btrace.c (perf_event_header, perf_event_mmap_size)
6329 (perf_event_buffer_size, perf_event_buffer_begin)
6330 (perf_event_buffer_end, linux_btrace_has_changed): Removed.
6332 (perf_event_new_data): New.
6336 * btrace.c (btrace_enable): Pass BTRACE_FORMAT_BTS.
6337 * record-btrace.c (record_btrace_open): Remove call to
6338 target_supports_btrace.
6339 * remote.c (remote_supports_btrace): Update parameters.
6340 * target.c (target_supports_btrace): Update parameters.
6341 * target.h (to_supports_btrace, target_supports_btrace): Update
6343 * target-delegates.c: Regenerate.
6344 * target-debug.h (target_debug_print_enum_btrace_format): New.
6345 * nat/linux-btrace.c
6346 (kernel_supports_btrace): Rename into ...
6347 (kernel_supports_bts): ... this. Update users. Update warning text.
6348 (intel_supports_btrace): Rename into ...
6349 (intel_supports_bts): ... this. Update users.
6350 (cpu_supports_btrace): Rename into ...
6351 (cpu_supports_bts): ... this. Update users.
6352 (linux_supports_btrace): Update parameters. Split into this and ...
6353 (linux_supports_bts): ... this.
6354 * nat/linux-btrace.h (linux_supports_btrace): Update parameters.
6358 * Makefile.in (SFILES): Add common/btrace-common.c.
6359 (COMMON_OBS): Add common/btrace-common.o.
6360 (btrace-common.o): Add build rules.
6361 * btrace.c (parse_xml_btrace): Update parameters.
6362 (parse_xml_btrace_block): Set format field.
6363 (btrace_add_pc, btrace_fetch): Use struct btrace_data.
6364 (do_btrace_data_cleanup, make_cleanup_btrace_data): New.
6365 (btrace_compute_ftrace): Split into this and...
6366 (btrace_compute_ftrace_bts): ...this.
6367 (btrace_stitch_trace): Split into this and...
6368 (btrace_stitch_bts): ...this.
6369 * btrace.h (parse_xml_btrace): Update parameters.
6370 (make_cleanup_btrace_data): New.
6371 * common/btrace-common.c: New.
6372 * common/btrace-common.h: Include common-defs.h.
6373 (btrace_block_s): Update comment.
6374 (btrace_format): New.
6375 (btrace_format_string): New.
6376 (btrace_data_bts): New.
6378 (btrace_data_init, btrace_data_fini, btrace_data_empty): New.
6379 * remote.c (remote_read_btrace): Update parameters.
6380 * target.c (target_read_btrace): Update parameters.
6381 * target.h (target_read_btrace): Update parameters.
6382 (target_ops)<to_read_btrace>: Update parameters.
6383 * x86-linux-nat.c (x86_linux_read_btrace): Update parameters.
6384 * target-delegates.c: Regenerate.
6385 * target-debug (target_debug_print_struct_btrace_data_p): New.
6386 * nat/linux-btrace.c (linux_read_btrace): Split into this and...
6387 (linux_read_bts): ...this.
6388 * nat/linux-btrace.h (linux_read_btrace): Update parameters.
6392 * remote-m32r-sdi.c: Include symfile.h.
6396 * symtab.h (clear_symtab_users, deduce_language_from_filename): Move
6397 * symfile.h (clear_symtab_users, deduce_language_from_filename): ...
6402 * linux-thread-db.c (find_new_threads_callback): Add debug output.
6407 * breakpoint.c (map_breakpoint_numbers): Check for empty args string.
6408 (enable_count_command): Check args for NULL value.
6412 * guile/scm-frame.c: Fix spelling errors in a comment.
6416 * python/python-internal.h (Py_hash_t): Define it for Python <3.2.
6417 * python/py-value.c (valpy_fetch_lazy): Use it. Remove cast to the
6422 * linux-nat.c (handle_extended_wait): Don't resume LWPs here.
6423 (wait_lwp): Don't call wait_lwp if linux_handle_extended_wait
6425 (resume_stopped_resumed_lwps): Don't check whether the thread is
6426 marked as executing.
6427 (linux_nat_wait_1): Use resume_stopped_resumed_lwps.
6431 * regset.h (struct regset): Add flags field.
6432 (REGSET_VARIABLE_SIZE): New value for a regset's flags field.
6433 * corelow.c (get_core_register_section): Add warning if the size
6434 exceeds the requested size and the regset does not have the
6435 REGSET_VARIABLE_SIZE flag set.
6436 * alphanbsd-tdep.c (alphanbsd_gregset): Add REGSET_VARIABLE_SIZE
6438 * armbsd-tdep.c (armbsd_gregset): Likewise.
6439 * hppa-hpux-tdep.c (hppa_hpux_regset): Likewise.
6440 * hppaobsd-tdep.c (hppaobsd_gregset): Likewise.
6441 * m68kbsd-tdep.c (m68kbsd_gregset): Likewise.
6442 * mipsnbsd-tdep.c (mipsnbsd_gregset): Likewise.
6446 * amd64-linux-tdep.c (amd64_linux_iterate_over_regset_sections):
6447 For ".reg-xstate", explicitly specify the requested section size
6448 via X86_XSTATE_SIZE instead of just 0 on input and
6449 X86_XSTATE_MAX_SIZE on output.
6450 * i386-linux-tdep.c (i386_linux_iterate_over_regset_sections):
6456 * gdbarch.sh (iterate_over_regset_sections_cb): Document this
6457 function type, particularly its SIZE parameter.
6458 * gdbarch.h: Regenerate.
6459 * amd64-tdep.c (amd64_supply_fpregset): In gdb_assert, compare
6460 actual against required size using ">=" instead of "==".
6461 (amd64_collect_fpregset): Likewise.
6462 * i386-tdep.c (i386_supply_gregset): Likewise.
6463 (i386_collect_gregset): Likewise.
6464 (i386_supply_fpregset): Likewise.
6465 (i386_collect_fpregset): Likewise.
6466 * mips-linux-tdep.c (mips_supply_gregset_wrapper): Likewise.
6467 (mips_fill_gregset_wrapper): Likewise.
6468 (mips_supply_fpregset_wrapper): Likewise.
6469 (mips_fill_fpregset_wrapper): Likewise.
6470 (mips64_supply_gregset_wrapper): Likewise.
6471 (mips64_fill_gregset_wrapper): Likewise.
6472 (mips64_supply_fpregset_wrapper): Likewise.
6473 (mips64_fill_fpregset_wrapper): Likewise.
6474 * mn10300-linux-tdep.c (am33_supply_gregset_method): Likewise.
6475 (am33_supply_fpregset_method): Likewise.
6476 (am33_collect_gregset_method): Likewise.
6477 (am33_collect_fpregset_method): Likewise.
6484 * tui/tui-command.c (tui_refresh_cmd_win): New function.
6485 * tui/tui-command.c (tui_refresh_cmd_win): Declare.
6486 * tui/tui-file.c: #include tui/tui-command.h.
6487 (tui_file_fputs): Refresh command window if stream is not gdb_stdout.
6488 (tui_file_flush): Refresh command window if stream is gdb_stdout.
6489 * tui/tui-io.c (tui_puts): Remove calls to wrefresh, fflush.
6494 * event-loop.c (gdb_do_one_event): Add default switch case.
6498 Filter out inferior gcc option -fpreprocessed.
6499 * compile/compile.c (filter_args): New function.
6504 * event-loop.c: Don't declare nor define a queue type for
6506 (event_queue): Delete.
6507 (create_event, create_file_event, gdb_event_xfree)
6508 (initialize_event_loop, process_event): Delete.
6509 (gdb_do_one_event): Return as soon as one event is handled.
6510 (handle_file_event): Change prototype. Used the passed in
6511 file_handler pointer and ready_mask instead of looping over all
6513 (gdb_wait_for_event): Update the poll/select timeouts before
6514 blocking. Run event handlers directly instead of queueing events.
6515 Return as soon as one event is handled.
6516 (struct async_event_handler_data): Delete.
6517 (invoke_async_event_handler): Delete.
6518 (check_async_event_handlers): Change return type to int. Run
6519 event handlers directly instead of queueing events. Return as
6520 soon as one event is handled.
6521 (handle_timer_event): Delete.
6522 (update_wait_timeout): New function, factored out from
6524 (poll_timers): Reimplement.
6525 * event-loop.h (initialize_event_loop): Delete declaration.
6526 * top.c (gdb_init): Don't call initialize_event_loop.
6530 * event-loop.c (clear_async_event_handler): New function.
6531 * event-loop.h (clear_async_event_handler): New declaration.
6532 * record-btrace.c (record_btrace_async): New function.
6533 (init_record_btrace_ops): Install record_btrace_async.
6534 * record-full.c (record_full_async): New function.
6535 (record_full_resume): Don't mark the async event source here.
6536 (init_record_full_ops): Install record_full_async.
6537 (record_full_core_resume): Don't mark the async event source here.
6538 (init_record_full_core_ops): Install record_full_async.
6539 * remote.c (remote_async): Mark and clear the async stop reply
6540 queue event-loop token as appropriate.
6544 * linux-nat.c (linux_child_follow_fork, linux_nat_wait_1): Use
6545 target_is_async_p instead of target_can_async.
6546 (linux_nat_wait): Use target_is_async_p instead of
6547 target_can_async. Don't enable async here.
6548 * remote.c (interrupt_query, remote_wait, putpkt_binary): Use
6549 target_is_async_p instead of target_can_async.
6553 * varobj.h (lang_varobj_ops): Mention which return values need
6558 * dwarf2loc.c (dwarf2_evaluate_property): Add i18n marker.
6563 * ada-lang.c (ada_lookup_symbol_list_worker): Do not re-cache
6564 results found in the cache.
6569 * ada-lang.c (ada_get_symbol_cache): Set pspace_data->sym_cache
6570 when allocating a new one.
6574 * MAINTAINERS: Remove myself.
6578 * dwarf2read.c (process_structure_scope): Update setting of
6579 TYPE_VPTR_BASETYPE, TYPE_VPTR_FIELDNO.
6580 * gdbtypes.c (internal_type_vptr_fieldno): New function.
6581 (set_type_vptr_fieldno): New function.
6582 (internal_type_vptr_basetype): New function.
6583 (set_type_vptr_basetype): New function.
6584 (get_vptr_fieldno): Update setting of TYPE_VPTR_FIELDNO,
6586 (allocate_cplus_struct_type): Initialize vptr_fieldno.
6587 (recursive_dump_type): Printing of vptr_fieldno, vptr_basetype ...
6588 (print_cplus_stuff): ... moved here.
6589 (copy_type_recursive): Don't copy TYPE_VPTR_BASETYPE.
6590 * gdbtypes.h (struct main_type): Members vptr_fieldno, vptr_basetype
6592 (struct cplus_struct_type): ... here. All uses updated.
6593 (TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE): Rewrite.
6594 (internal_type_vptr_fieldno, set_type_vptr_fieldno): Declare.
6595 (internal_type_vptr_basetype, set_type_vptr_basetype): Declare.
6596 * stabsread.c (read_tilde_fields): Update setting of
6597 TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE.
6601 * cp-valprint.c (cp_find_class_member): Rename parameter domain_p
6603 (cp_print_class_member): Rename local domain to self_type.
6604 * dwarf2read.c (quirk_gcc_member_function_pointer): Rename local
6605 domain_type to self_type.
6606 (set_die_type) <need_gnat_info>: Handle
6607 TYPE_CODE_METHODPTR, TYPE_CODE_MEMBERPTR, TYPE_CODE_METHOD.
6608 * gdb-gdb.py (StructMainTypePrettyPrinter): Handle
6609 TYPE_SPECIFIC_SELF_TYPE.
6610 * gdbtypes.c (internal_type_self_type): New function.
6611 (set_type_self_type): New function.
6612 (smash_to_memberptr_type): Rename parameter domain to self_type.
6613 Update setting of TYPE_SELF_TYPE.
6614 (smash_to_methodptr_type): Update setting of TYPE_SELF_TYPE.
6615 (smash_to_method_type): Rename parameter domain to self_type.
6616 Update setting of TYPE_SELF_TYPE.
6617 (check_stub_method): Call smash_to_method_type.
6618 (recursive_dump_type): Handle TYPE_SPECIFIC_SELF_TYPE.
6619 (copy_type_recursive): Ditto.
6620 * gdbtypes.h (enum type_specific_kind): New value
6621 TYPE_SPECIFIC_SELF_TYPE.
6622 (struct main_type) <type_specific>: New member self_type.
6623 (struct cplus_struct_type) <fn_field.type>: Update comment.
6624 (TYPE_SELF_TYPE): Rewrite.
6625 (internal_type_self_type, set_type_self_type): Declare.
6626 * gnu-v3-abi.c (gnuv3_print_method_ptr): Rename local domain to
6628 (gnuv3_method_ptr_to_value): Rename local domain_type to self_type.
6629 * m2-typeprint.c (m2_range): Replace TYPE_SELF_TYPE with
6631 * stabsread.c (read_member_functions): Mark methods with
6632 TYPE_CODE_METHOD, not TYPE_CODE_FUNC. Update setting of
6637 * gdbtypes.h (TYPE_SELF_TYPE): Renamed from TYPE_DOMAIN_TYPE.
6642 * gnu-v3-abi.c (gnuv3_dynamic_class): Assert only passed structs
6643 or unions. Return zero if union.
6644 (gnuv3_get_vtable): Call check_typedef. Assert only passed structs.
6645 (gnuv3_rtti_type): Pass already-check_typedef'd value to
6647 (compute_vtable_size): Assert only passed structs.
6648 (gnuv3_print_vtable): Don't call gnuv3_get_vtable for non-structs.
6652 * gdbtypes.c (copy_type_recursive): Handle all TYPE_SPECIFIC_FIELD
6661 * cli/cli-cmds.c (complete_command): Notify user if max-completions
6663 * common/common-exceptions.h (enum errors)
6664 <MAX_COMPLETIONS_REACHED_ERROR>: New value.
6665 * completer.h (get_max_completions_reached_message): New declaration.
6666 (max_completions): Likewise.
6667 (completion_tracker_t): New typedef.
6668 (new_completion_tracker): New declaration.
6669 (make_cleanup_free_completion_tracker): Likewise.
6670 (maybe_add_completion_enum): New enum.
6671 (maybe_add_completion): New declaration.
6672 (throw_max_completions_reached_error): Likewise.
6673 * completer.c (max_completions): New global variable.
6674 (new_completion_tracker): New function.
6675 (free_completion_tracker): Likewise.
6676 (make_cleanup_free_completion_tracker): Likewise.
6677 (maybe_add_completions): Likewise.
6678 (throw_max_completions_reached_error): Likewise.
6679 (complete_line): Remove duplicates and limit result to max_completions
6681 (get_max_completions_reached_message): New function.
6682 (gdb_display_match_list): Handle max_completions.
6683 (_initialize_completer): New declaration and function.
6684 * symtab.c: Include completer.h.
6685 (completion_tracker): New static variable.
6686 (completion_list_add_name): Call maybe_add_completion.
6687 (default_make_symbol_completion_list_break_on_1): Renamed from
6688 default_make_symbol_completion_list_break_on. Maintain
6689 completion_tracker across calls to completion_list_add_name.
6690 (default_make_symbol_completion_list_break_on): New function.
6691 * top.c (init_main): Set rl_completion_display_matches_hook.
6692 * tui/tui-io.c: Include completer.h.
6693 (tui_old_rl_display_matches_hook): New static global.
6694 (tui_rl_display_match_list): Notify user if max-completions reached.
6695 (tui_setup_io): Save/restore rl_completion_display_matches_hook.
6696 * NEWS (New Options): Mention set/show max-completions.
6700 * symtab.c (struct add_name_data) <code>: New field.
6702 (add_symtab_completions): New function.
6703 (symtab_expansion_callback): Likewise.
6704 (default_make_symbol_completion_list_break_on): Set datum.code.
6705 Move minimal symbol scan before calling expand_symtabs_matching.
6706 Scan known primary symtabs for externs and statics before calling
6707 expand_symtabs_matching. Pass symtab_expansion_callback as
6708 expansion_notify argument to expand_symtabs_matching. Do not scan
6709 primary symtabs for externs and statics after calling
6710 expand_symtabs_matching.
6714 * symfile.h (expand_symtabs_exp_notify_ftype): New typedef.
6715 (struct quick_symbol_functions) <expand_symtabs_matching>:
6716 New argument expansion_notify. All uses updated.
6717 (expand_symtabs_matching): New argument expansion_notify.
6719 * symfile-debug.c (debug_qf_expand_symtabs_matching):
6720 Also print expansion notify.
6721 * symtab.c (expand_symtabs_matching_via_partial): Call
6722 expansion_notify whenever a partial symbol table is expanded.
6723 * dwarf2read.c (dw2_expand_symtabs_matching): Call
6724 expansion_notify whenever a symbol table is instantiated.
6728 * cli-out.c: #include completer.h, readline/readline.h.
6729 (cli_mld_crlf, cli_mld_putch, cli_mld_puts): New functions.
6730 (cli_mld_flush, cld_mld_erase_entire_line): Ditto.
6731 (cli_mld_beep, cli_mld_read_key, cli_display_match_list): Ditto.
6732 * cli-out.h (cli_display_match_list): Declare.
6733 * completer.c (MB_INVALIDCH, MB_NULLWCH): New macros.
6734 (ELLIPSIS_LEN): Ditto.
6735 (gdb_get_y_or_n, gdb_display_match_list_pager): New functions.
6736 (gdb_path_isdir, gdb_printable_part, gdb_fnwidth): Ditto.
6737 (gdb_fnprint, gdb_print_filename): Ditto.
6738 (gdb_complete_get_screenwidth, gdb_display_match_list_1): Ditto.
6739 (gdb_display_match_list): Ditto.
6740 * completer.h (mld_crlf_ftype, mld_putch_ftype): New typedefs.
6741 (mld_puts_ftype, mld_flush_ftype, mld_erase_entire_line_ftype): Ditto.
6742 (mld_beep_ftype, mld_read_key_ftype): Ditto.
6743 (match_list_displayer): New struct.
6744 (gdb_display_match_list): Declare.
6745 * top.c (init_main): Set rl_completion_display_matches_hook.
6746 * tui/tui-io.c: #include completer.h.
6747 (printable_part, PUTX, print_filename, get_y_or_n): Delete.
6748 (tui_mld_crlf, tui_mld_putch, tui_mld_puts): New functions.
6749 (tui_mld_flush, tui_mld_erase_entire_line, tui_mld_beep): Ditto.
6750 (tui_mld_getc, tui_mld_read_key): Ditto.
6751 (tui_rl_display_match_list): Rewrite.
6752 (tui_handle_resize_during_io): New arg for_completion. All callers
6757 Add symbol lookup cache.
6758 * NEWS: Document new options and commands.
6759 * symtab.c (symbol_cache_key): New static global.
6760 (DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros.
6761 (SYMBOL_LOOKUP_FAILED): New macro.
6762 (symbol_cache_slot_state): New enum.
6763 (block_symbol_cache): New struct.
6764 (symbol_cache): New struct.
6765 (new_symbol_cache_size, symbol_cache_size): New static globals.
6766 (hash_symbol_entry, eq_symbol_entry): New functions.
6767 (symbol_cache_byte_size, resize_symbol_cache): New functions.
6768 (make_symbol_cache, free_symbol_cache): New functions.
6769 (get_symbol_cache, symbol_cache_cleanup): New function.
6770 (set_symbol_cache_size, set_symbol_cache_size_handler): New functions.
6771 (symbol_cache_lookup, symbol_cache_clear_slot): New function.
6772 (symbol_cache_mark_found, symbol_cache_mark_not_found): New functions.
6773 (symbol_cache_flush, symbol_cache_dump): New functions.
6774 (maintenance_print_symbol_cache): New function.
6775 (maintenance_flush_symbol_cache): New function.
6776 (symbol_cache_stats): New function.
6777 (maintenance_print_symbol_cache_statistics): New function.
6778 (symtab_new_objfile_observer): New function.
6779 (symtab_free_objfile_observer): New function.
6780 (lookup_static_symbol, lookup_global_symbol): Use symbol cache.
6781 (_initialize_symtab): Init symbol_cache_key. New parameter
6782 maint symbol-cache-size. New maint commands print symbol-cache,
6783 print symbol-cache-statistics, flush-symbol-cache.
6784 Install new_objfile, free_objfile observers.
6789 * symfile.c (clear_symtab_users): Move call to breakpoint_re_set
6794 * NEWS: Mention inlined scripts in .debug_gdb_scripts section.
6795 * auto-load.c: #include ctype.h.
6796 (struct auto_load_pspace_info): Replace member loaded_scripts with
6797 new members loaded_script_files, loaded_script_texts.
6798 (auto_load_pspace_data_cleanup): Update.
6799 (init_loaded_scripts_info): Update.
6800 (get_auto_load_pspace_data_for_loading): Update.
6801 (maybe_add_script_file): Renamed from maybe_add_script. All callers
6803 (maybe_add_script_text): New function.
6804 (clear_section_scripts): Update.
6805 (source_script_file, execute_script_contents): New functions.
6806 (source_section_scripts): Add support for
6807 SECTION_SCRIPT_ID_PYTHON_TEXT, SECTION_SCRIPT_ID_GUILE_TEXT.
6808 (print_scripts): New function.
6809 (auto_load_info_scripts): Also print inlined scripts.
6810 (maybe_print_unsupported_script_warning): Renamed from
6811 unsupported_script_warning_print. All callers updated.
6812 (maybe_print_script_not_found_warning): Renamed from
6813 script_not_found_warning_print. All callers updated.
6814 * extension-priv.h (struct extension_language_script_ops): New member
6815 objfile_script_executor.
6816 * extension.c (ext_lang_objfile_script_executor): New function.
6817 * extension.h (objfile_script_executor_func): New typedef.
6818 (ext_lang_objfile_script_executor): Declare.
6819 * guile/guile-internal.h (gdbscm_execute_objfile_script): Declare.
6820 * guile/guile.c (guile_extension_script_ops): Update.
6821 * guile/scm-objfile.c (gdbscm_execute_objfile_script): New function.
6822 * python/python.c (python_extension_script_ops): Update.
6823 (gdbpy_execute_objfile_script): New function.
6827 * tui/tui-io.c (tui_expand_tabs): New function.
6828 (tui_puts, tui_redisplay_readline): Expand TABs into the
6829 appropriate number of spaces.
6830 * tui/tui-regs.c: Include tui-io.h.
6831 (tui_register_format): Call tui_expand_tabs to expand TABs into
6832 the appropriate number of spaces.
6833 * tui/tui-io.h: Add prototype for tui_expand_tabs.
6837 * NEWS: "info source" command now display producer string if present.
6838 * source.c (source_info): Print producer string if present.
6842 * varobj.c (varobj_delete): Fix comment.
6846 * varobj.c (create_child): Modify comment.
6850 * ada-varobj.c (ada_number_of_children): Constify struct varobj *
6852 (ada_name_of_variable): Same.
6853 (ada_path_expr_of_child): Same.
6854 (ada_value_of_variable): Same.
6855 (ada_value_is_changeable_p): Same.
6856 (ada_value_has_mutated): Same.
6857 * c-varobj.c (varobj_is_anonymous_child): Same.
6858 (c_is_path_expr_parent): Same.
6859 (c_number_of_children): Same.
6860 (c_name_of_variable): Same.
6861 (c_path_expr_of_child): Same.
6863 (c_value_of_variable): Same.
6864 (cplus_number_of_children): Same.
6865 (cplus_name_of_variable): Same.
6866 (cplus_path_expr_of_child): Same.
6867 (cplus_value_of_variable): Same.
6868 * jv-varobj.c (java_number_of_children): Same.
6869 (java_name_of_variable): Same.
6870 (java_path_expr_of_child): Same.
6871 (java_value_of_variable): Same.
6872 * varobj.c (number_of_children): Same.
6873 (name_of_variable): Same.
6875 (varobj_ensure_python_env): Same.
6876 (varobj_get_objname): Same.
6877 (varobj_get_expression): Same.
6878 (varobj_get_display_format): Same.
6879 (varobj_get_display_hint): Same.
6880 (varobj_has_more): Same.
6881 (varobj_get_thread_id): Same.
6882 (varobj_get_frozen): Same.
6883 (dynamic_varobj_has_child_method): Same.
6884 (varobj_get_gdb_type): Same.
6885 (is_path_expr_parent): Same.
6886 (varobj_default_is_path_expr_parent): Same.
6887 (varobj_get_language): Same.
6888 (varobj_get_attributes): Same.
6889 (varobj_is_dynamic_p): Same.
6890 (varobj_get_child_range): Same.
6891 (varobj_value_has_mutated): Same.
6892 (varobj_get_value_type): Same.
6893 (number_of_children): Same.
6894 (name_of_variable): Same.
6895 (check_scope): Same.
6896 (varobj_editable_p): Same.
6897 (varobj_value_is_changeable_p): Same.
6898 (varobj_floating_p): Same.
6899 (varobj_default_value_is_changeable_p): Same.
6903 * varobj.c (varobj_get_path_expr): Set var->path_expr.
6904 * c-varobj.c (c_path_expr_of_child): Set local var instead of
6906 (cplus_path_expr_of_child): Same.
6910 * mi-cmd-var.c (print_varobj): Free varobj_get_expression
6912 (mi_cmd_var_info_expression): Same.
6913 * varobj.c (varobj_get_expression): Mention in the comment that
6914 the result must by freed by the caller.
6918 * mi/mi-cmd-var.c (mi_cmd_var_info_type): Free result of
6920 (varobj_update_one): Same.
6921 * varobj.c (update_type_if_necessary): Free curr_type_str and
6923 (varobj_get_type): Specify in comment that the result needs to be
6924 freed by the caller.
6929 * dwarf2read.c (dwarf_decode_line_header): Punt if version > 4.
6933 * dwarf2read.c (checkproducer): Call producer_is_gcc.
6934 * utils.c (producer_is_gcc_ge_4): Likewise.
6935 (producer_is_gcc): New function.
6936 * utils.h (producer_is_gcc): New declaration.
6940 * gdbtypes.h (struct dynamic_prop): New PROP_ADDR_OFFSET enum
6942 * gdbtypes.c (resolve_dynamic_type_internal): Replace "addr"
6943 parameter by "addr_stack" parameter.
6944 (resolve_dynamic_range): Replace "addr" parameter by
6945 "stack_addr" parameter. Update function documentation.
6946 Update code accordingly.
6947 (resolve_dynamic_array, resolve_dynamic_union)
6948 (resolve_dynamic_struct, resolve_dynamic_type_internal): Likewise.
6949 (resolve_dynamic_type): Update code, following the changes made
6950 to resolve_dynamic_type_internal's interface.
6951 * dwarf2loc.h (struct property_addr_info): New.
6952 (dwarf2_evaluate_property): Replace "address" parameter
6953 by "addr_stack" parameter. Adjust function documentation.
6954 (struct dwarf2_offset_baton): New.
6955 (struct dwarf2_property_baton): Update documentation of
6956 field "referenced_type" to be more general. New field
6957 "offset_info" in union data field.
6958 * dwarf2loc.c (dwarf2_evaluate_property): Replace "address"
6959 parameter by "addr_stack" parameter. Adjust code accordingly.
6960 Add support for PROP_ADDR_OFFSET properties.
6961 * dwarf2read.c (attr_to_dynamic_prop): Add support for
6962 DW_AT_data_member_location attributes as well. Use case
6963 statements instead of if/else condition.
6967 * ada-varobj.c (ada_varobj_get_array_number_of_children):
6968 Return zero if PARENT_VALUE is NULL and parent_type's
6969 range type is dynamic.
6973 * gdbtypes.c (is_dynamic_type_internal) <TYPE_CODE_RANGE>: Return
6974 nonzero if the type's subtype is dynamic.
6975 (resolve_dynamic_range): Also resolve the range's subtype.
6980 * symfile.c (unmap_overlay_command): Initialize sec to NULL.
6984 * NEWS: Mention gdb.Objfile.username.
6985 * python/py-objfile.c (objfpy_get_username): New function.
6986 (objfile_getset): Add "username".
6990 * stack.c (return_command): Markup warning message with _.
6994 * gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete.
6998 Fix 100x slowdown regression on DWZ files.
6999 * dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash.
7000 (struct line_header): Add offset and offset_in_dwz.
7001 (dwarf_decode_lines): Add parameter decode_mapping to the declaration.
7002 (free_line_header_voidp): New declaration.
7003 (line_header_hash, line_header_hash_voidp, line_header_eq_voidp): New
7005 (dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller.
7006 (handle_DW_AT_stmt_list): Use line_header_hash.
7007 (free_line_header_voidp): New function.
7008 (dwarf_decode_line_header): Initialize offset and offset_in_dwz.
7009 (dwarf_decode_lines): New parameter decode_mapping, use it.
7010 (dwarf2_free_objfile): Free line_header_hash.
7015 * valops.c (value_rtti_indirect_type): Catch exception thrown by
7020 * dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from
7022 * gdbtypes.h (struct func_type): Add is_noreturn field flag. Make
7023 calling_convention an 8 bit bit field.
7024 (TYPE_NO_RETURN): New macro.
7025 * infcmd.c (finish_command): Query if function does not return
7027 * stack.c (return_command): Likewise.
7031 * linux-nat.c (linux_is_async_p): New macro.
7032 (linux_nat_is_async_p):
7033 (linux_nat_terminal_inferior): Check whether the target can async
7034 instead of whether it is already async.
7035 (linux_nat_terminal_ours): Don't check whether the target is
7037 (linux_async_pipe): Use linux_is_async_p.
7041 * NEWS (Changes since GDB 7.9): Add 'thread apply all' option
7043 * thread.c (tp_array_compar_ascending, tp_array_compar): New.
7044 (thread_apply_all_command): Parse CMD for tp_array_compar_ascending.
7045 Sort tp_array using tp_array_compar.
7046 (_initialize_thread): Extend thread_apply_all_command help.
7050 * corelow.c (core_open): Call also thread_command.
7051 * gdbthread.h (thread_command): New prototype moved from ...
7052 * thread.c (thread_command): ... here.
7053 (thread_command): Make it global.
7057 * configure.ac [*mingw32*]: Check $curses_found instead of
7059 * configure: Regenerate.
7060 * windows-termcap.c: Remove HAVE_CURSES_H, HAVE_NCURSES_H and
7061 HAVE_NCURSES_NCURSES_H checks.
7065 * tui/tui.c (tui_enable) [__MINGW32__]: If the call to 'newterm'
7066 fails with the 1st arg NULL, try again with "unknown". Don't test
7067 the "cup" capability: it isn't supported by the Windows port of
7068 ncurses, but the Windows console driver is still capable of
7073 * compile/compile.c (_initialize_compile): Use -fPIE for compile_args.
7077 * Makefile.in (HFILES_NO_SRCDIR): Remove ada-varobj.h.
7078 (ALLDEPFILES): Remove irix5-nat.c. These two are part of the
7079 reason that "make TAGS" is broken.
7083 * hppa-tdep.c (inst_saves_gr): Fix logical working flow issues
7084 and check additional store instructions.
7088 * MAINTAINERS (Write After Approval): Add "Wei-cheng Wang".
7092 * ppc-linux-tdep.c (ppc_skip_trampoline_code,
7093 ppc_canonicalize_syscall, ppc_linux_syscall_record,
7094 ppc_linux_record_signal, ppc_init_linux_record_tdep): Add comments.
7095 * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
7096 * rs6000-tdep.c (rs6000_epilogue_frame_cache,
7097 rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register,
7098 rs6000_epilogue_frame_sniffer, ppc_record_vsr, ppc_process_record_op4,
7099 ppc_process_record_op19, ppc_process_record_op31,
7100 ppc_process_record_op59, ppc_process_record_op60,
7101 ppc_process_record_op63): Likewise.
7105 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string)
7106 (linux_ptrace_test_ret_to_nx): Use safe_strerror instead of
7111 * rs6000-tdep.c (ppc_process_record_op4, ppc_process_record_op19,
7112 ppc_process_record_op31, ppc_process_record_op59,
7113 ppc_process_record_op60, ppc_process_record_op63,
7114 ppc_process_record): Fix -Wformat warning.
7115 * rs6000-tdep.c (rs6000_epilogue_frame_cache, ppc_process_record_op60):
7116 Remove unused variables.
7120 * MAINTAINERS (Write After Approval): Add "Chen Gang".
7124 * configure.ac [*mingw32*]: Only add windows-termcap.o to
7125 CONFIG_OBS if not building with a curses library.
7126 * configure: Regenerate.
7128 * windows-termcap.c: Include defs.h. Make the whole body empty if
7129 either one of HAVE_CURSES_H or HAVE_NCURSES_H or
7130 HAVE_NCURSES_NCURSES_H is defined.
7134 * rs6000-tdep.c (rs6000_gdbarch_init): Move divide operator
7135 from end of line to start of next line.
7139 * ppc-linux-tdep.c (ppc_skip_trampoline_code):
7140 Scan PLT stub backward for reverse debugging.
7141 * ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
7146 * configure.tgt (powerpc*-*-linux): Add linux-record.o to
7148 (ppc_linux_record_tdep, ppc64_linux_record_tdep): New for linux syscall
7150 (ppc_canonicalize_syscall, ppc_linux_syscall_record,
7151 ppc_linux_record_signal, ppc_init_linux_record_tdep): New functions.
7152 (ppc_linux_init_abi): Set process_record, process_record_signal.
7153 * ppc-tdep.h (struct gdbarch_tdep): Add ppc_syscall_record and
7154 ppc_linux_record_tdep to gdbarch_tdep.
7155 (ppc_process_record): New declaration.
7156 * rs6000-tdep.c (ppc_record_vsr, ppc_process_record_op4,
7157 ppc_process_record_op19, ppc_process_record_op31,
7158 ppc_process_record_op59, ppc_process_record_op60,
7159 ppc_process_record_op63, ppc_process_record): New functions.
7163 * rs6000-tdep.c (rs6000_in_function_epilogue_p): Rename to
7164 rs6000_in_function_epilogue_frame_p and add an argument
7166 (rs6000_epilogue_frame_cache, rs6000_epilogue_frame_this_id,
7167 rs6000_epilogue_frame_prev_register, rs6000_epilogue_frame_sniffer):
7169 (rs6000_epilogue_frame_unwind): New.
7170 (rs6000_gdbarch_init): Append epilogue unwinder.
7174 * nat/linux-personality.c: Replace "#ifndef
7175 HAVE_DECL_ADDR_NO_RANDOMIZE" by "#if
7176 !HAVE_DECL_ADDR_NO_RANDOMIZE", fixing a regression in RHEL-5
7181 * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New
7183 (_initialize_tui_win) <border-kind, border-mode>:
7184 <active-border-mode>: Use tui_set_var_cmd as the "set" function.
7185 (tui_set_tab_width_command): Fix the commentary.
7187 * tui/tui-win.h: Add prototype for tui_rehighlight_all.
7189 * tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command):
7191 (tui_set_tab_width_command): Delete and recreate the source and
7192 the disassembly windows, to show the effect of the changed tab
7195 * tui/tui-data.h (LINE_PREFIX): Make shorter
7196 (MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for
7197 "Thread NNNNN.XXXX" thread ID notation on Windows.
7201 Fix gcc-5 compilation.
7202 * hppa-tdep.c (inst_saves_gr): Fix parentheses typo.
7206 * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-personality.h.
7207 (linux-personality.o): New rule.
7208 * common/common-defs.h: Include <stdint.h>.
7209 * config/aarch64/linux.mh (NATDEPFILES): Include
7210 linux-personality.o.
7211 * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
7212 * config/arm/linux.mh (NATDEPFILES): Likewise.
7213 * config/i386/linux64.mh (NATDEPFILES): Likewise.
7214 * config/i386/linux.mh (NATDEPFILES): Likewise.
7215 * config/ia64/linux.mh (NATDEPFILES): Likewise.
7216 * config/m32r/linux.mh (NATDEPFILES): Likewise.
7217 * config/m68k/linux.mh (NATDEPFILES): Likewise.
7218 * config/mips/linux.mh (NATDEPFILES): Likewise.
7219 * config/pa/linux.mh (NATDEPFILES): Likewise.
7220 * config/powerpc/linux.mh (NATDEPFILES): Likewise.
7221 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
7222 * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
7223 * config/s390/linux.mh (NATDEPFILES): Likewise.
7224 * config/sparc/linux64.mh (NATDEPFILES): Likewise.
7225 * config/sparc/linux.mh (NATDEPFILES): Likewise.
7226 * config/tilegx/linux.mh (NATDEPFILES): Likewise.
7227 * config/xtensa/linux.mh (NATDEPFILES): Likewise.
7228 * defs.h: Remove #include <stdint.h> (moved to
7229 common/common-defs.h).
7230 * linux-nat.c: Include nat/linux-personality.h. Remove #include
7231 <sys/personality.h>; do not define ADDR_NO_RANDOMIZE (moved to
7232 nat/linux-personality.c).
7233 (linux_nat_create_inferior): Remove code to disable address space
7234 randomization (moved to nat/linux-personality.c). Create cleanup
7235 to disable address space randomization.
7236 * nat/linux-personality.c: New file.
7237 * nat/linux-personality.h: Likewise.
7241 * Makefile.in (ALLDEPFILES): Including common/mingw-strerror.c and
7242 common/posix-strerror.c.
7243 (posix-strerror.o): New rule.
7244 (mingw-strerror.o): Likewise.
7245 * common/common-utils.h (safe_strerror): Move prototype to here,
7247 * common/common.host: New file.
7248 * common/mingw-strerror.c: Likewise.
7249 * common/posix-strerror.c: Likewise.
7250 * configure: Regenerated.
7251 * configure.ac: Source common/common.host. Add variable
7252 common_host_obs to gdb_host_obs.
7253 * contrib/ari/gdb_ari.sh: Mention gdb/common/mingw-strerror.c and
7254 gdb/common/posix-strerror.c when warning about the use of
7256 * mingw-hdep.c (safe_strerror): Remove definition; move it to
7257 common/mingw-strerror.c.
7258 * posix-hdep.c (safe_strerror): Remove definition; move it to
7259 common/posix-hdep.c.
7260 * utils.h (safe_strerror): Remove prototype; move to
7261 common/common-utils.h.
7269 * ada-lang.c (ada_array_bound_from_type): Ignore array's parallel
7270 ___XA type if the array has already been fixed.
7274 * Makefile.in (ppc-linux.o): New rule.
7275 * config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o.
7276 * configure.ac: AC_CHECK_FUNCS(getauxval).
7277 * config.in: Re-generated.
7278 * configure: Re-generated.
7279 * nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p):
7281 * nat/ppc-linux.c: New file.
7282 * ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]:
7283 Call ppc64_64bit_inferior_p.
7287 * ppc-linux-nat.c (PT_ORIG_R3, PT_TRAP): Move to
7289 (PPC_FEATURE_CELL, PPC_FEATURE_BOOKE): Likewise.
7290 (PPC_FEATURE_HAS_DFP): Likewise.
7291 (PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
7292 (PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
7293 (PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
7294 Include "nat/ppc-linux.h".
7295 * nat/ppc-linux.h: New file.
7296 * Makefile.in (HFILES_NO_SRCDIR): Add nat/ppc-linux.h.
7301 * breakpoint.c: Include "interps.h".
7302 (bpstat_do_actions_1): Also check whether the interpreter is
7308 * infrun.c (reinstall_readline_callback_handler_cleanup): Don't
7309 reinstall if the interpreter is sync.
7313 * objfiles.c (objfile_filename): New function.
7314 * objfiles.h (objfile_filename): Declare it.
7315 (objfile_name): Add function comment.
7316 * python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the
7317 bfd file name (which may be realpath'd), and the original name.
7321 * NEWS: Create a new section for the next release branch.
7322 Rename the section of the current branch, now that it has
7327 GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37):
7328 * version.in: Bump version to 7.9.50.DATE-cvs.
7332 * nat/linux-procfs.c (linux_proc_attach_tgid_threads):
7333 Remove trailing new-line in argument of call to warning.
7337 * linux-nat.c (attach_proc_task_lwp_callback): Remove trailing
7338 new-line in argument of call to "warning".
7342 * ada-lang.c (ada_lookup_symbol_nonlocal): If name not found
7343 in static block, then try searching for primitive types.
7347 * top.h (gdb_add_history): Declare.
7348 * top.c (command_count): New variable.
7349 (gdb_add_history): New function.
7350 (gdb_safe_append_history): New static function.
7351 (quit_force): Call it.
7352 (command_line_input): Use gdb_add_history instead of
7354 * event-top.c (command_line_handler): Likewise.
7359 * darwin-nat.c: Replace <machine/setjmp.h> #include by
7360 <setjmp.h> #include.
7364 * dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME.
7369 * NEWS: The "maint demangle" command is renamed as "demangle".
7370 * demangle.c: #include cli/cli-utils.h, language.h.
7371 (demangle_command): New function.
7372 (_initialize_demangle): Add new command "demangle".
7373 * maint.c (maintenance_demangle): Stub out.
7374 (_initialize_maint_cmds): Update help text for "maint demangle",
7375 and mark as deprecated.
7379 * inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that
7380 inferior_thread is a function.
7384 * Makefile.in (.y.c): Don't munge yacc's #line
7389 * utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
7390 to prompt for input.
7391 * tui/tui-hooks.c (tui_query_hook): Remove.
7392 (tui_install_hooks): Don't set deprecated_query_hook.
7393 * tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in
7394 height calculation. Always update the command window's cur_line.
7398 * breakpoint.c (hardware_breakpoint_inserted_here_p): New
7400 * breakpoint.h (hardware_breakpoint_inserted_here_p): New
7402 * linux-nat.c (linux_nat_status_is_event): Move higher up in file.
7403 (linux_resume_one_lwp): Store the thread's PC. Adjust to clear
7405 (check_stopped_by_watchpoint): New function.
7406 (save_sigtrap): Reimplement.
7407 (linux_nat_stopped_by_watchpoint): Adjust.
7408 (linux_nat_lp_status_is_event): Delete.
7409 (stop_wait_callback): Only call save_sigtrap after storing the
7411 (status_callback): If the thread had been stopped for a breakpoint
7412 that has since been removed, discard the event and resume the LWP.
7413 (count_events_callback, select_event_lwp_callback): Use
7414 lwp_status_pending_p instead of linux_nat_lp_status_is_event.
7415 (cancel_breakpoint): Rename to ...
7416 (check_stopped_by_breakpoint): ... this. Record whether the LWP
7417 stopped for a software breakpoint or hardware breakpoint.
7418 (select_event_lwp): Only give preference to the stepping LWP in
7419 all-stop mode. Adjust comments.
7420 (stop_and_resume_callback): Remove references to new_pending_p.
7421 (linux_nat_filter_event): Likewise. Leave exit events of the
7422 leader thread pending here. Handle signal short circuiting here.
7423 Only call save_sigtrap after storing the pending waitstatus.
7424 (linux_nat_wait_1): Remove 'retry' label. Remove references to
7425 new_pending. Don't handle leaving events the caller is not
7426 interested in pending here, nor handle signal short-circuiting
7427 here. Also give equal priority to all LWPs that have had events
7428 in non-stop mode. If reporting a software breakpoint event,
7429 unadjust the LWP's PC.
7430 * linux-nat.h (enum lwp_stop_reason): New.
7431 (struct lwp_info) <stop_pc>: New field.
7432 (struct lwp_info) <stopped_by_watchpoint>: Delete field.
7433 (struct lwp_info) <stop_reason>: New field.
7434 * x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
7438 * linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
7439 Set the LWP's 'resumed' flag.
7443 * linux-nat.c (linux_resume_one_lwp): New function.
7444 (resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
7445 (linux_nat_resume): Use lwp_status_pending_p and
7446 linux_resume_one_lwp.
7447 (linux_handle_syscall_trap): Use linux_resume_one_lwp.
7448 (linux_handle_extended_wait): Use linux_resume_one_lwp.
7449 (status_callback, running_callback): Use lwp_status_pending_p.
7450 (lwp_status_pending_p): New function.
7451 (stop_and_resume_callback): Use lwp_status_pending_p.
7452 (linux_nat_filter_event): Use linux_resume_one_lwp.
7453 (linux_nat_wait_1): Always use status_callback to look for an LWP
7454 with a pending status. Use linux_resume_one_lwp.
7455 (resume_stopped_resumed_lwps): Use lwp_status_pending_p and
7456 linux_resume_one_lwp.
7460 * breakpoint.c (bp_location_inserted_here_p): New function,
7461 factored out from ...
7462 (breakpoint_inserted_here_p): ... here. Use
7463 ALL_BP_LOCATIONS_AT_ADDR.
7464 (software_breakpoint_inserted_here_p): Use
7465 bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
7469 Skip enabling event reporting if the kernel supports
7471 * linux-thread-db.c: Include "nat/linux-ptrace.h".
7472 (thread_db_use_events): New function.
7473 (try_thread_db_load_1): Check thread_db_use_events before enabling
7475 (update_thread_state): New function.
7476 (attach_thread): Use it. Check thread_db_use_events before
7477 enabling event reporting.
7478 (thread_db_detach): Check thread_db_use_events before disabling
7480 (find_new_threads_callback): Check thread_db_use_events before
7481 enabling event reporting. Update the thread's state if not using
7482 libthread_db events.
7486 * linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
7487 about to wait for is > 0.
7488 * linux-thread-db.c (find_new_threads_callback): Ignore thread if
7489 the kernel thread ID is -1.
7493 * linux-nat.c (attach_proc_task_lwp_callback): New function.
7494 (linux_nat_attach): Use linux_proc_attach_tgid_threads.
7495 (wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
7496 ptrace option flags.
7497 * linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
7499 * nat/linux-procfs.c: Include <dirent.h>.
7500 (linux_proc_get_int): New parameter "warn". Handle it.
7501 (linux_proc_get_tgid): Adjust.
7502 (linux_proc_get_tracerpid): Rename to ...
7503 (linux_proc_get_tracerpid_nowarn): ... this.
7504 (linux_proc_pid_get_state): New function, factored out from
7505 (linux_proc_pid_has_state): ... this. Add new parameter "warn"
7507 (linux_proc_pid_is_gone): New function.
7508 (linux_proc_pid_is_stopped): Adjust.
7509 (linux_proc_pid_is_zombie_maybe_warn)
7510 (linux_proc_pid_is_zombie_nowarn): New functions.
7511 (linux_proc_pid_is_zombie): Use
7512 linux_proc_pid_is_zombie_maybe_warn.
7513 (linux_proc_attach_tgid_threads): New function.
7514 * nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
7515 (linux_proc_get_tracerpid): Rename to ...
7516 (linux_proc_get_tracerpid_nowarn): ... this, and update comment.
7517 (linux_proc_pid_is_gone): New declaration.
7518 (linux_proc_pid_is_zombie): Update comment.
7519 (linux_proc_pid_is_zombie_nowarn): New declaration.
7520 (linux_proc_attach_lwp_func): New typedef.
7521 (linux_proc_attach_tgid_threads): New declaration.
7522 * nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
7523 use nowarn functions.
7524 (linux_ptrace_attach_fail_reason_string): Move here from
7525 gdbserver/linux-low.c and rename.
7526 (ptrace_supports_feature): If the current ptrace options are not
7527 known yet, check them now, instead of asserting.
7528 * nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
7533 * linux-thread-db.c (thread_db_find_new_threads_silently)
7534 (try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
7535 (find_new_threads_once): Print debug output on gdb_stdlog.
7540 * compile/compile.c: Include "gdb_wait.h".
7541 (do_rmdir): Check return value, and free 'zap'.
7546 * dwarf2loc.c (indirect_pieced_value): Don't call
7547 gdb_sign_extend. Call extract_signed_integer instead.
7548 * utils.c (gdb_sign_extend): Remove.
7549 * utils.h (gdb_sign_extend): Remove declaration.
7554 * stabsread.c (define_symbol): Set language for C++ special symbols.
7558 * inflow.c (initial_gdb_ttystate): Tweak comment.
7562 * inflow.c (set_initial_gdb_ttystate): Add empty line after
7563 comment documenting function.
7567 * terminal.h (set_initial_gdb_ttystate): Declare.
7568 * inflow.c (initial_gdb_ttystate): New static variable.
7569 (set_initial_gdb_ttystate): New setter.
7570 (child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
7571 instead of our current terminal state.
7572 * top.c (gdb_init): Call set_initial_gdb_ttystate.
7576 * guile/scm-type.c (tyscm_array_1): Add comment.
7577 * python/py-type.c (typy_array_1): Add comment.
7581 * guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
7582 error if N2 is equal to N1 - 1.
7586 * python/py-type.c (typy_array_1): Do not raise negative-length
7587 exception if N2 is equal to N1 - 1.
7591 * c-exp.y: Whitespace cleanup.
7592 (classify_inner_name): Remove extra ;.
7596 * mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
7601 * dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
7605 * symtab.h (struct symbol): Fix typo in comment.
7609 Update year range in copyright notice of all files.
7613 * top.c (print_gdb_version): Update copyright year to 2015.
7617 * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
7619 For older changes see ChangeLog-2014.
7625 version-control: never