1 2021-04-22 Simon Marchi <simon.marchi@polymtl.ca>
2 Tom de Vries <tdevries@suse.de>
5 * remote.c (remote_target_is_non_stop_p): New function.
6 * remote.h (remote_target_is_non_stop_p): Declare.
7 * remote-notif.c (remote_async_get_pending_events_handler): Fix assert
8 to check non-stopness using notif_state->remote rather current target.
10 2021-04-22 Tom Tromey <tom@tromey.com>
12 * rust-parse.c (rust_parser::parse_sizeof): Remove KW_MUT code.
13 (struct typed_val_int) <val>: Now ULONGEST.
14 (rust_parser::parse_array_type): Remove negative check.
15 (rust_lex_int_test): Change 'value' to ULONGEST.
17 2021-04-22 Andrew Burgess <andrew.burgess@embecosm.com>
19 * arch-utils.c (default_addressable_memory_unit_size): Return a
20 value based on bfd's bits per byte.
22 2021-04-21 Tom Tromey <tom@tromey.com>
24 * dwarf2/read.h (struct dwarf2_per_cu_data) <dwarf_version>: Now
26 (struct dwarf2_per_cu_data): Rearrange.
27 * dwarf2/comp-unit.h (struct comp_unit_head) <version>: Now
29 (struct comp_unit_head): Rearrange.
30 * dwarf2/comp-unit.c (read_comp_unit_head): Update.
32 2021-04-21 Tom de Vries <tdevries@suse.de>
35 * configure.ac: Remove --without-included-regex/--with-included-regex.
36 * config.in: Regenerate.
37 * configure: Regenerate.
38 * gdb_regex.h: Assume USE_INCLUDED_REGEX is defined.
40 2021-04-21 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
42 * breakpoint.h (create_breakpoint): Add a new parameter,
44 * breakpoint.c (create_breakpoint): Use the 'force_condition'
45 argument when 'parse_extra' is false to check if the condition
46 is invalid at all of the breakpoint locations.
47 Update the users below.
53 (create_tracepoint_from_upload): Update.
54 * guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Update.
55 * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Update.
56 * python/py-breakpoint.c (bppy_init): Update.
57 * python/py-finishbreakpoint.c (bpfinishpy_init): Update.
59 2021-04-21 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
61 * breakpoint.c (print_one_breakpoint_location): Display "N" for
62 disabled-by-condition locations on MI-like output.
63 (breakpoint_1): Do not display the disabled-by-condition footnote
64 if the output is MI-like.
66 2021-04-21 Frederic Cambus <fred@statdns.com>
68 * syscalls/update-netbsd.sh: Fix script name display in usage, and
69 update year range in generated copyright notices.
71 2021-04-20 Felix Willgerodt <felix.willgerodt@intel.com>
73 * c-exp.y (qualifier_seq_noopt): Replace qualifier_seq with
76 2021-04-20 Felix Willgerodt <felix.willgerodt@intel.com>
78 * c-exp.y (single_qualifier): Handle UNKNOWN_CPP_NAME.
80 2021-04-19 Andrew Burgess <andrew.burgess@embecosm.com>
82 * producer.c: Replace 'regex' include with 'gdb_regex.h'.
83 (producer_is_icc): Replace use of std::regex with gdb's
86 2021-04-17 Tom Tromey <tom@tromey.com>
89 * dwarf2/read.c (class offset_view): New.
90 (struct symbol_table_slot): Remove.
91 (struct mapped_index) <symbol_table, constant_pool>: Change type.
92 <symbol_name_index, symbol_vec_index>: New methods.
93 <symbol_name_slot_invalid, symbol_name_at, symbol_name_count>:
95 (read_gdb_index_from_buffer): Update.
96 (struct dw2_symtab_iterator) <vec>: Change type.
97 (dw2_symtab_iter_init_common, dw2_symtab_iter_init)
98 (dw2_symtab_iter_next, dw2_expand_marked_cus): Update.
99 * dwarf2/index-write.c (class data_buf) <append_data>: Remove.
100 <append_array, append_offset>: New methods.
101 (write_hash_table, add_address_entry, write_gdbindex_1)
102 (write_debug_names): Update.
103 * dwarf2/index-common.h (byte_swap, MAYBE_SWAP): Remove.
105 2021-04-17 Tom Tromey <tom@tromey.com>
107 * dwarf2/index-write.c (write_psymtabs_to_index): Check
110 2021-04-17 Tom Tromey <tom@tromey.com>
112 * psymtab.c (psymbol_functions::expand_matching_symbols): Rename
113 from map_matching_symbols. Change parameters.
114 * psympriv.h (struct psymbol_functions) <expand_matching_symbols>:
115 Rename from map_matching_symbols. Change parameters.
116 * dwarf2/read.c (struct dwarf2_gdb_index)
117 <expand_matching_symbols>: Rename from map_matching_symbols.
119 (struct dwarf2_debug_names_index) <expand_matching_symbols>:
120 Rename from map_matching_symbols. Change parameters.
121 (dwarf2_gdb_index::expand_matching_symbols): Rename from
122 dw2_map_matching_symbols. Change parameters.
123 (dwarf2_gdb_index::expand_matching_symbols): Remove old
125 (dwarf2_debug_names_index::expand_matching_symbols): Rename from
126 map_matching_symbols. Change parameters.
127 * objfiles.h (struct objfile) <expand_matching_symbols>: Rename
128 from map_matching_symbols. Change parameters.
129 * symfile-debug.c (objfile::expand_matching_symbols): Rename from
130 map_matching_symbols. Change parameters.
131 * ada-lang.c (map_matching_symbols): New function.
132 (add_nonlocal_symbols): Update.
134 2021-04-17 Tom Tromey <tom@tromey.com>
136 * quick-symbol.h (struct quick_symbol_functions)
137 <expand_symtabs_with_fullname>: Remove.
138 * psymtab.c (psymbol_functions::expand_symtabs_with_fullname):
140 * psympriv.h (struct psymbol_functions)
141 <expand_symtabs_with_fullname>: Remove.
142 * dwarf2/read.c (struct dwarf2_base_index_functions)
143 <expand_symtabs_with_fullname>: Remove.
144 (dwarf2_base_index_functions::expand_symtabs_with_fullname):
146 * objfiles.h (struct objfile) <expand_symtabs_with_fullname>:
148 * symfile-debug.c (objfile::expand_symtabs_with_fullname):
151 2021-04-17 Tom Tromey <tom@tromey.com>
153 * symfile-debug.c (objfile::expand_symtabs_for_function):
155 * quick-symbol.h (struct quick_symbol_functions)
156 <expand_symtabs_for_function>: Remove.
157 * psymtab.c (psymbol_functions::expand_symtabs_for_function):
159 * psympriv.h (struct psymbol_functions)
160 <expand_symtabs_for_function>: Remove.
161 * objfiles.h (struct objfile) <expand_symtabs_for_function>:
163 * dwarf2/read.c (struct dwarf2_gdb_index)
164 <expand_symtabs_for_function>: Remove.
165 (struct dwarf2_debug_names_index) <expand_symtabs_for_function>:
167 (find_slot_in_mapped_hash): Remove.
168 (dw2_symtab_iter_init_common): Merge with dw2_symtab_iter_init.
169 (dw2_symtab_iter_init): Remove one overload.
170 (dwarf2_gdb_index::expand_symtabs_for_function)
171 (dwarf2_debug_names_index::expand_symtabs_for_function): Remove.
173 2021-04-17 Tom Tromey <tom@tromey.com>
175 * symfile-debug.c (objfile::map_symtabs_matching_filename):
177 * quick-symbol.h (struct quick_symbol_functions)
178 <map_symtabs_matching_filename>: Remove.
179 * psymtab.c (partial_map_expand_apply)
180 (psymbol_functions::map_symtabs_matching_filename): Remove.
181 * psympriv.h (struct psymbol_functions)
182 <map_symtabs_matching_filename>: Remove.
183 * objfiles.h (struct objfile) <map_symtabs_matching_filename>:
185 * dwarf2/read.c (struct dwarf2_base_index_functions)
186 <map_symtabs_matching_filename>: Remove.
187 (dw2_map_expand_apply)
188 (dwarf2_base_index_functions::map_symtabs_matching_filename):
191 2021-04-17 Tom Tromey <tom@tromey.com>
193 * symfile-debug.c (objfile::lookup_symbol): Rewrite.
194 * quick-symbol.h (struct quick_symbol_functions) <lookup_symbol>:
196 * psymtab.c (psymbol_functions::lookup_symbol): Remove.
197 * psympriv.h (struct psymbol_functions) <lookup_symbol>: Remove.
198 * objfiles.h (struct objfile) <lookup_symbol>: Add comment.
199 * dwarf2/read.c (struct dwarf2_gdb_index) <lookup_symbol>:
201 (struct dwarf2_debug_names_index) <lookup_symbol>: Remove.
202 (dwarf2_gdb_index::lookup_symbol)
203 (dwarf2_debug_names_index::lookup_symbol): Remove.
205 2021-04-17 Tom Tromey <tom@tromey.com>
207 * symtab.c (global_symbol_searcher::expand_symtabs): Update.
208 * symmisc.c (maintenance_expand_symtabs): Update.
209 * symfile.c (expand_symtabs_matching): Update.
210 * symfile-debug.c (objfile::expand_symtabs_matching): Add 'domain'
212 * quick-symbol.h (struct quick_symbol_functions)
213 <expand_symtabs_matching>: Add 'domain' parameter.
214 * psymtab.c (recursively_search_psymtabs)
215 (psymbol_functions::expand_symtabs_matching): Add 'domain'
217 * psympriv.h (struct psymbol_functions) <expand_symtabs_matching>:
218 Add 'domain' parameter.
219 * objfiles.h (struct objfile) <expand_symtabs_matching>: Add
221 * linespec.c (iterate_over_all_matching_symtabs): Update.
222 * dwarf2/read.c (struct dwarf2_gdb_index)
223 <expand_symtabs_matching>: Add 'domain' parameter.
224 (struct dwarf2_debug_names_index) <expand_symtabs_matching>: Add
226 (dw2_expand_symtabs_matching)
227 (dwarf2_gdb_index::expand_symtabs_matching)
228 (dw2_debug_names_iterator)
229 (dwarf2_debug_names_index::expand_symtabs_matching): Add 'domain'
232 2021-04-17 Tom Tromey <tom@tromey.com>
234 * symtab.c (global_symbol_searcher::expand_symtabs)
235 (default_collect_symbol_completion_matches_break_on): Update.
236 * symmisc.c (maintenance_expand_symtabs): Update.
237 * symfile.h (expand_symtabs_matching): Add search_flags
239 * symfile.c (expand_symtabs_matching): Add search_flags
241 * symfile-debug.c (objfile::expand_symtabs_matching): Add
242 search_flags parameter.
243 * quick-symbol.h (struct quick_symbol_functions)
244 <expand_symtabs_matching>: Add search_flags parameter.
245 * python/py-symbol.c (gdbpy_lookup_static_symbols): Update.
246 * psymtab.c (recursively_search_psymtabs)
247 (psymbol_functions::expand_symtabs_matching): Add search_flags
249 * psympriv.h (struct psymbol_functions) <expand_symtabs_matching>:
250 Add search_flags parameter.
251 * objfiles.h (struct objfile) <expand_symtabs_matching>: Add
252 search_flags parameter.
253 * linespec.c (iterate_over_all_matching_symtabs): Update.
254 * dwarf2/read.c (struct dwarf2_gdb_index)
255 <expand_symtabs_matching>: Add search_flags parameter.
256 (struct dwarf2_debug_names_index) <expand_symtabs_matching>: Add
257 search_flags parameter.
258 (dw2_map_matching_symbols): Update.
259 (dw2_expand_marked_cus, dw2_expand_symtabs_matching)
260 (dwarf2_gdb_index::expand_symtabs_matching): Add search_flags
262 (dw2_debug_names_iterator): Change block_index to search flags.
263 <m_block_index>: Likewise.
264 (dw2_debug_names_iterator::next)
265 (dwarf2_debug_names_index::lookup_symbol)
266 (dwarf2_debug_names_index::expand_symtabs_for_function)
267 (dwarf2_debug_names_index::map_matching_symbols)
268 (dwarf2_debug_names_index::map_matching_symbols): Update.
269 (dwarf2_debug_names_index::expand_symtabs_matching): Add
270 search_flags parameter.
271 * ada-lang.c (ada_add_global_exceptions)
272 (collect_symbol_completion_matches): Update.
274 2021-04-17 Tom Tromey <tom@tromey.com>
276 * symtab.c (default_collect_symbol_completion_matches_break_on):
278 * symfile.h (expand_symtabs_matching): Return bool.
279 * symfile.c (expand_symtabs_matching): Return bool.
280 * symfile-debug.c (objfile::expand_symtabs_matching): Return
282 * quick-symbol.h (expand_symtabs_exp_notify_ftype): Return bool.
283 (struct quick_symbol_functions) <expand_symtabs_matching>: Return
285 * psymtab.c (psymbol_functions::expand_symtabs_matching): Return
287 * psympriv.h (struct psymbol_functions)
288 <expand_symtabs_matching>: Return bool.
289 * objfiles.h (struct objfile) <expand_symtabs_matching>: Return
291 * dwarf2/read.c (struct dwarf2_gdb_index)
292 <expand_symtabs_matching>: Return bool.
293 (struct dwarf2_debug_names_index) <expand_symtabs_matching>:
295 (dw2_expand_symtabs_matching_symbol): Return bool.
296 (dw2_expand_symtabs_matching_one, dw2_expand_marked_cus)
297 (dw2_expand_symtabs_matching)
298 (dwarf2_gdb_index::expand_symtabs_matching)
299 (dwarf2_debug_names_index::expand_symtabs_matching)
300 (dwarf2_debug_names_index::expand_symtabs_matching): Return bool.
302 2021-04-17 Tom Tromey <tom@tromey.com>
304 * quick-symbol.h (enum block_search_flag_values): New.
305 (block_search_flags): New enum flags type.
307 2021-04-16 Tom Tromey <tom@tromey.com>
309 * rust-parse.c: New file.
310 * rust-exp.y: Remove.
311 * Makefile.in (COMMON_SFILES): Add rust-parse.c.
312 (SFILES): Remove rust-exp.y.
313 (YYFILES, local-maintainer-clean): Remove rust-exp.c.
315 2021-04-16 Luis Machado <luis.machado@linaro.org>
317 * arch-utils.c (default_floatformat_for_type): Handle bfloat16.
319 2021-04-15 John Baldwin <jhb@FreeBSD.org>
321 * fbsd-nat.c (fbsd_lwp_debug_printf, fbsd_nat_debug_printf): New,
324 2021-04-15 Tom Tromey <tromey@adacore.com>
326 * ada-valprint.c (ada_value_print_array): Handle optimized-out
329 2021-04-15 Tom Tromey <tromey@adacore.com>
331 * printcmd.c (print_variable_and_value): Use
332 common_val_print_checked.
334 2021-04-15 Tom Tromey <tromey@adacore.com>
336 * rust-exp.y (rust_parser::convert_ast_to_expression): Update.
337 * parse.c (parser_state::push_symbol, parser_state::push_dollar):
339 * p-exp.y (variable): Update.
340 * m2-exp.y (variable): Update.
341 * go-exp.y (variable): Update.
342 * expprint.c (dump_for_expression): New overload.
343 * expop.h (check_objfile): New overload.
344 (check_constant): New overload.
345 (class var_value_operation): Use block_symbol.
346 <get_symbol>: Rewrite.
347 * eval.c (var_value_operation::evaluate)
348 (var_value_operation::evaluate_funcall)
349 (var_value_operation::evaluate_for_address)
350 (var_value_operation::evaluate_for_address)
351 (var_value_operation::evaluate_with_coercion)
352 (var_value_operation::evaluate_for_sizeof)
353 (var_value_operation::evaluate_for_cast): Update.
354 * d-exp.y (PrimaryExpression): Update.
355 * c-exp.y (variable): Update.
356 * ax-gdb.c (var_value_operation::do_generate_ax): Update.
357 * ada-lang.c (ada_var_value_operation::evaluate_for_cast)
358 (ada_var_value_operation::evaluate)
359 (ada_var_value_operation::resolve)
360 (ada_funcall_operation::resolve): Update.
361 * ada-exp.y (write_var_from_sym, write_object_renaming)
362 (write_ambiguous_var, write_var_or_type, write_name_assoc)
363 (maybe_overload): Update.
364 * ada-exp.h (class ada_var_value_operation) <get_block>: Rewrite.
366 2021-04-15 Tom Tromey <tom@tromey.com>
367 Andrew Burgess <andrew.burgess@embecosm.com>
370 * main.c (captured_main_1): Call check_quiet_mode.
371 * top.c (startup_quiet): New global.
372 (check_quiet_mode): New function.
373 (show_startup_quiet): New function.
374 (init_main): Register new command.
375 * top.h (check_quiet_mode): Declare.
377 2021-04-15 Andrew Burgess <andrew.burgess@embecosm.com>
380 * NEWS: Mention new early init files and command line options.
381 * config.in: Regenerate.
382 * configure: Regenerate.
383 * configure.ac: Define GDBEARLYINIT.
384 * main.c (get_earlyinit_files): New function.
385 (enum cmdarg_kind): Add CMDARG_EARLYINIT_FILE and
386 CMDARG_EARLYINIT_COMMAND.
387 (captured_main_1): Add support for new command line flags, and for
388 processing startup files.
389 (print_gdb_help): Include startup files in the output.
391 2021-04-15 Andrew Burgess <andrew.burgess@embecosm.com>
393 * main.c (relocate_gdbinit_path_maybe_in_datadir): Rename to...
394 (relocate_file_path_maybe_in_datadir): ...this.
395 (class gdb_initfile_finder): New class.
396 (get_init_files): Now uses gdb_initfile_finder.
397 (print_gdb_help): Print 'None found' when there are no init files.
399 2021-04-14 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
401 * dwarf2/read.c (inherit_abstract_dies): Keep a reference to the
402 corresponding child of the abstract DIE when iterating the
403 children of the concrete DIE.
405 2021-04-13 Tom de Vries <tdevries@suse.de>
407 * ui-style.c (read_semi_number, extended_color): Change idx parameter
410 2021-04-13 Luis Machado <luis.machado@linaro.org>
412 * rs6000-tdep.c (ppc_displaced_step_fixup): Use %s to print
415 2021-04-12 Will Schmidt <will_schmidt@vnet.ibm.com>
417 * rs6000-tdep.c: Add support for single-stepping of
418 prefixed instructions.
420 2021-04-12 Will Schmidt <will_schmidt@vnet.ibm.com>
423 * gdb/rs6000-tdep.c (ppc_displaced_step_fixup): Update to
424 handle the addpcis/lnia instruction.
426 2021-04-05 Will Schmidt <will_schmidt@vnet.ibm.com>
428 * MAINTAINERS (Write After Approval): Add myself.
430 2021-4-12 Carl Love <cel@us.ibm.com>
432 * rs6000-tdep.c (rs6000_builtin_type_vec128): Add t_float128 variable.
433 (rs6000_builtin_type_vec128): Add append_composite_type_field for
436 2021-04-12 Simon Marchi <simon.marchi@polymtl.ca>
438 * nat/windows-nat.c: Remove all code guarded by _WIN32_WCE.
439 * nat/windows-nat.h: Likewise.
441 2021-04-10 Eli Zaretskii <eliz@gnu.org>
443 * windows-nat.c (windows_nat::handle_load_dll): Call
444 windows_add_dll if get_image_name failed to glean the name of the
445 DLL by using the lpImageName pointer.
446 (windows_add_all_dlls): Now a thin wrapper around windows_add_dll.
447 (windows_add_dll): Now does what windows_add_all_dlls did before,
448 but also accepts an argument LOAD_ADDR, which, if non-NULL,
449 specifies the address where the DLL was loaded into the inferior,
450 and looks for the single DLL loaded at that address.
452 2021-04-09 Luis Machado <luis.machado@linaro.org>
454 * nat/aarch64-mte-linux-ptrace.c: Update include file order.
456 2021-04-08 Dominique Quatravaux <dominique.quatravaux@epfl.ch>
458 * darwin-nat.c (darwin_nat_target::resume): Remove status
461 2021-04-08 Felix Willgerodt <felix.willgerodt@intel.com>
463 * i386-tdep.c (i386_skip_prologue): Use symbol table to find the
464 prologue end for Intel compilers.
465 * amd64-tdep.c (amd64_skip_prologue): Likewise.
466 * producer.c (producer_is_icc_ge_19): New function.
467 * producer.h (producer_is_icc_ge_19): New declaration.
469 2021-04-08 Felix Willgerodt <felix.willgerodt@intel.com>
471 * producer.c: (producer_is_icc): Update for new version scheme.
472 (producer_parsing_tests): Update names and expected results.
473 * producer.h: (producer_is_icc): Update comment accordingly.
475 2021-04-07 Simon Marchi <simon.marchi@polymtl.ca>
477 * target.h (struct target_ops) <follow_fork>: Return void.
478 (target_follow_fork): Likewise.
479 * target.c (default_follow_fork): Likewise.
480 (target_follow_fork): Likewise.
481 * infrun.c (follow_fork_inferior): Adjust.
482 * fbsd-nat.h (class fbsd_nat_target) <follow_fork>: Return void.
483 * fbsd-nat.c (fbsd_nat_target:::follow_fork): Likewise.
484 * linux-nat.h (class linux_nat_target) <follow_fork>: Likewise.
485 * linux-nat.c (linux_nat_target::follow_fork): Return void.
486 * obsd-nat.h (class obsd_nat_target) <follow_fork>: Return void.
487 * obsd-nat.c (obsd_nat_target::follow_fork): Likewise.
488 * remote.c (class remote_target) <follow_fork>: Likewise.
489 (remote_target::follow_fork): Likewise.
490 * target-delegates.c: Re-generate.
492 2021-04-07 Weimin Pan <weimin.pan@oracle.com>
494 * ctfread.c (fetch_tid_type): New function, use throughout file.
495 (read_forward_type): New function.
496 (read_type_record): Call read_forward_type.
498 2021-04-07 Andrew Burgess <andrew.burgess@embecosm.com>
500 * f-exp.h (class fortran_structop_operation): New class.
501 * f-exp.y (exp): Create fortran_structop_operation instead of the
502 generic structop_operation.
503 * f-lang.c (fortran_undetermined::evaluate): Re-evaluate
504 expression as EVAL_NORMAL if the result type was dynamic so we can
505 extract the actual array bounds.
506 (fortran_structop_operation::evaluate): New function.
508 2021-04-07 Andrew Burgess <andrew.burgess@embecosm.com>
510 * eval.c (evaluate_subexp_standard): Remove
511 EVAL_AVOID_SIDE_EFFECTS handling from STRUCTOP_STRUCT and
514 2021-04-07 Andrew Burgess <andrew.burgess@embecosm.com>
516 * valops.c (value_cast): Call value_deeply_equal before performing
519 2021-04-07 Andrew Burgess <andrew.burgess@embecosm.com>
521 * gdbtypes.c (types_equal): Move pointer equality check earlier in
524 2021-04-07 Caroline Tice <cmtice@google.com>
526 * dwarf2/read.c (try_open_dwop_file): Add path for the binary to
527 the search paths used resolve relative location of .dwo file.
529 2021-04-07 Andrew Burgess <andrew.burgess@embecosm.com>
531 * dwarf2/section.c (dwarf2_section_info::get_bfd_owner): Add an
533 (dwarf2_section_info::get_file_name): Add an assert.
534 (dwarf2_section_info::read_string): Display a minimal, sane error
535 when the dwarf2_section_info is not associated with a bfd section.
537 2021-04-07 Andrew Burgess <andrew.burgess@embecosm.com>
539 * top.c (staged_gdb_datadir): Update comment.
540 (set_gdb_datadir): Copy the value of gdb_datadir back into
542 (init_main): Initialise staged_gdb_datadir.
544 2021-04-06 Tom de Vries <tdevries@suse.de>
547 * infcmd.c (prepare_one_step): Using inline frame info to narrow
550 2021-04-06 Tom de Vries <tdevries@suse.de>
553 * tui/tui-disasm.c (len_without_escapes): Pass ptr pointing at escape
556 2021-04-04 Simon Marchi <simon.marchi@polymtl.ca>
558 * avr-tdep.c (avr_frame_unwind_cache): Use
559 trad_frame_saved_reg::is_addr.
561 2021-04-02 Simon Marchi <simon.marchi@polymtl.ca>
563 * objfiles.c (get_objfile_bfd_data): Remove objfile parameter,
566 2021-04-02 Simon Marchi <simon.marchi@polymtl.ca>
568 * psympriv.h (struct partial_symtab) <partial_symtab>: Change
569 objfile parameter for objfile_per_bfd_storage, adjust callers.
570 (struct standard_psymtab) <standard_psymtab>: Likewise.
571 (struct legacy_psymtab) <legacy_psymtab>: Likewise.
572 * psymtab.c (partial_symtab::partial_symtab): Likewise.
573 * ctfread.c (struct ctf_psymtab): Likewise.
574 * dwarf2/read.h (struct dwarf2_psymtab): Likewise.
575 * dwarf2/read.c (struct dwarf2_include_psymtab): Likewise.
576 (dwarf2_create_include_psymtab): Likewise.
577 * objfiles.h (struct objfile_per_bfd_storage)
578 <objfile_per_bfd_storage>: Add bfd parameter, adjust callers.
579 <get_bfd>: New method.
581 * objfiles.c (get_objfile_bfd_data): Adjust.
583 2021-04-02 Simon Marchi <simon.marchi@polymtl.ca>
585 * psymtab.c (partial_symtab::partial_symtab): Change
586 last_objfile_name to be an std::string.
587 * symfile.c (allocate_symtab): Likewise.
589 2021-04-02 Simon Marchi <simon.marchi@polymtl.ca>
591 * objfiles.h (struct objfile_per_bfd_storage) <intern>: New
593 (struct objfile) <intern>: Use
594 objfile::objfile_per_bfd_storage::intern.
596 2021-04-01 Simon Marchi <simon.marchi@efficios.com>
598 * gdbtypes.h (TYPE_FLAG_ENUM): Remove, replace all uses
599 with type::is_flag_enum.
601 2021-04-01 Simon Marchi <simon.marchi@efficios.com>
603 * gdbtypes.h (struct type) <is_flag_enum,
604 set_is_flag_enum>: New methods.
605 (TYPE_FLAG_ENUM): Use type::is_flag_enum, change all
606 write call sites to use type::set_is_flag_enum.
608 2021-04-01 Simon Marchi <simon.marchi@efficios.com>
610 * gdbtypes.h (TYPE_DECLARED_CLASS): Remove, replace all uses
611 with type::is_declared_class.
613 2021-04-01 Simon Marchi <simon.marchi@efficios.com>
615 * gdbtypes.h (struct type) <is_declared_class,
616 set_is_declared_class>: New methods.
617 (TYPE_DECLARED_CLASS): Use type::is_declared_class, change all
618 write call sites to use type::set_is_declared_class.
620 2021-02-28 Boris Staletic <boris.staletic@gmail.com>
622 * gdb/python/lib/gdb/__init__.py: Use importlib on python 3.4+
623 to avoid deprecation warnings.
625 2021-04-01 Martin Liska <mliska@suse.cz>
627 * cp-name-parser.y: Use startswith instead of strncmp.
628 * m2-exp.y: Likewise.
629 * macroexp.c (substitute_args): Likewise.
630 * mi/mi-main.c (command_notifies_uscc_observer): Likewise.
631 * rust-exp.y: Likewise.
633 2021-03-31 Tom Tromey <tom@tromey.com>
635 * dwarf2/read.c (dwarf2_gdb_index::map_matching_symbols): Merge
636 with dw2_map_matching_symbols.
637 (dwarf2_gdb_index::expand_symtabs_matching): Merge with
638 dw2_expand_symtabs_matching.
640 2021-03-31 Tom Tromey <tromey@adacore.com>
642 * dwarf2/stringify.h: Fix typo.
644 2021-03-30 Simon Marchi <simon.marchi@polymtl.ca>
647 * dwarf2/read.c (dwarf2_has_info): Don't share dwarf2_per_bfd
648 with objfiles using READNOW.
650 2021-03-29 Tom Tromey <tromey@adacore.com>
652 * top.c (check_frame_language_change): Update.
653 * language.c (language_info): Remove parameter.
654 * language.h (language_info): Remove parameter.
656 2021-03-29 Luis Machado <luis.machado@linaro.org>
658 * compile/compile.c (get_args): Don't add empty argv entries.
660 2021-03-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
663 * procfs.c (procfs_target::attach): Define inf.
665 (procfs_target::create_inferior): Likewise.
667 2021-03-28 Tom Tromey <tom@tromey.com>
669 * elfread.c (can_lazily_read_symbols): Move to dwarf2/read.c.
670 (elf_symfile_read): Simplify.
671 * dwarf2/read.c (struct lazy_dwarf_reader): Move from elfread.c.
672 (make_lazy_dwarf_reader): New function.
673 (make_dwarf_gdb_index, make_dwarf_debug_names): Now static.
674 (dwarf2_initialize_objfile): Return void. Remove index_kind
675 parameter. Push on 'qf' list.
676 * dwarf2/public.h (dwarf2_initialize_objfile): Change return
677 type. Remove 'index_kind' parameter.
678 (make_dwarf_gdb_index, make_dwarf_debug_names): Don't declare.
680 2021-03-27 Tom Tromey <tom@tromey.com>
682 * elfread.c (elf_sym_fns_lazy_psyms): Don't declare.
684 2021-03-27 Tom Tromey <tom@tromey.com>
686 * elfread.c (elf_symfile_read): Don't clear 'qf'.
688 2021-03-26 Lancelot Six <lsix@lancelotsix.com>
690 * contrib/gdb-add-index.sh: Avoid variable shadowing and get
693 2021-03-26 Tom Tromey <tom@tromey.com>
695 * symtab.c (struct output_source_filename_data): Add 'output'
696 method and operator().
697 (output_source_filename_data::output): Rename from
698 output_source_filename.
699 (output_partial_symbol_filename): Remove.
700 (info_sources_command): Update.
701 (struct add_partial_filename_data): Add operator().
702 (add_partial_filename_data::operator()): Rename from
703 maybe_add_partial_symtab_filename.
704 (make_source_files_completion_list): Update.
705 * symfile.c (quick_symbol_functions): Update.
706 * symfile-debug.c (objfile::map_symbol_filenames): Update.
707 * quick-symbol.h (symbol_filename_ftype): Change type of 'fun' and
708 'need_fullname'. Remove 'data' parameter.
709 (struct quick_symbol_functions) <map_symbol_filenames>: Likewise.
710 * psymtab.c (psymbol_functions::map_symbol_filenames): Update.
711 * psympriv.h (struct psymbol_functions) <map_symbol_filenames>:
712 Change type of 'fun' and 'need_fullname'. Remove 'data'
714 * objfiles.h (struct objfile) <map_symbol_filenames>: Change type
715 of 'fun' and 'need_fullname'. Remove 'data' parameter.
716 * mi/mi-cmd-file.c (print_partial_file_name): Remove 'ignore'
718 (mi_cmd_file_list_exec_source_files): Update.
720 (dwarf2_base_index_functions::map_symbol_filenames): Update.
722 2021-03-26 Tom Tromey <tom@tromey.com>
724 * ada-lang.c (struct match_data): Add operator().
725 (match_data::operator()): Rename from aux_add_nonlocal_symbols.
726 (callback): Remove 'callback'.
728 2021-03-26 Tom Tromey <tom@tromey.com>
730 * psymtab.c (psymbol_functions::expand_symtabs_matching): Only
731 call make_ignore_params once.
733 2021-03-26 Tom Tromey <tom@tromey.com>
735 * psymtab.c (psymbol_functions::expand_symtabs_matching): Remove
738 2021-03-26 Simon Marchi <simon.marchi@efficios.com>
739 Pedro Alves <pedro@palves.net>
741 * async-event.c: Include "infrun.h".
742 (async_event_handler_marked): New.
743 * async-event.h (async_event_handler_marked): Declare.
744 * infrun.c (maybe_set_commit_resumed_all_targets): Switch to
745 inferior before calling target method. Don't commit-resumed if
746 target_has_pending_events is true.
747 * remote.c (remote_target::has_pending_events): New.
748 * target-delegates.c: Regenerate.
749 * target.c (target_has_pending_events): New.
750 * target.h (target_ops::has_pending_events): New target method.
751 (target_has_pending_events): New.
753 2021-03-26 Simon Marchi <simon.marchi@efficios.com>
754 Pedro Alves <pedro@palves.net>
756 * infcmd.c (run_command_1, attach_command, detach_command)
757 (interrupt_target_1): Use scoped_disable_commit_resumed.
758 * infrun.c (do_target_resume): Remove
759 target_commit_resume call.
760 (commit_resume_all_targets): Remove.
761 (maybe_set_commit_resumed_all_targets): New.
762 (maybe_call_commit_resumed_all_targets): New.
763 (enable_commit_resumed): New.
764 (scoped_disable_commit_resumed::scoped_disable_commit_resumed)
765 (scoped_disable_commit_resumed::~scoped_disable_commit_resumed)
766 (scoped_disable_commit_resumed::reset)
767 (scoped_disable_commit_resumed::reset_and_commit)
768 (scoped_enable_commit_resumed::scoped_enable_commit_resumed)
769 (scoped_enable_commit_resumed::~scoped_enable_commit_resumed):
771 (proceed): Use scoped_disable_commit_resumed and
772 maybe_call_commit_resumed_all_targets.
773 (fetch_inferior_event): Use scoped_disable_commit_resumed.
774 * infrun.h (struct scoped_disable_commit_resumed): New.
775 (maybe_call_commit_resumed_all_process_targets): New.
776 (struct scoped_enable_commit_resumed): New.
777 * mi/mi-main.c (exec_continue): Use scoped_disable_commit_resumed.
778 * process-stratum-target.h (class process_stratum_target):
779 <commit_resumed_state>: New.
780 * record-full.c (record_full_wait_1): Change commit_resumed_state
781 around calling commit_resumed.
782 * remote.c (class remote_target) <commit_resume>: Rename to...
783 <commit_resumed>: ... this.
784 (struct stop_reply): Move up.
785 (remote_target::commit_resume): Rename to...
786 (remote_target::commit_resumed): ... this. Check if there is any
787 thread pending vCont resume.
788 (remote_target::remote_stop_ns): Generate stop replies for resumed
789 but pending vCont threads.
790 (remote_target::wait_ns): Add gdb_assert.
791 * target-delegates.c: Regenerate.
792 * target.c (target_wait, target_resume): Assert that the current
793 process_stratum target isn't in commit-resumed state.
794 (defer_target_commit_resume): Remove.
795 (target_commit_resume): Remove.
796 (target_commit_resumed): New.
797 (make_scoped_defer_target_commit_resume): Remove.
798 (target_stop): Assert that the current process_stratum target
799 isn't in commit-resumed state.
800 * target.h (struct target_ops) <commit_resume>: Rename to ...
801 <commit_resumed>: ... this.
802 (target_commit_resume): Remove.
803 (target_commit_resumed): New.
804 (make_scoped_defer_target_commit_resume): Remove.
805 * top.c (wait_sync_command_done): Use
806 scoped_enable_commit_resumed.
808 2021-03-26 Pedro Alves <pedro@palves.net>
810 * target.c (target_always_non_stop_p): Also check whether the
813 2021-03-26 Tom Tromey <tom@tromey.com>
815 * dwarf2/read.c (dwarf2_read_debug_names)
816 (dwarf2_build_psymtabs_hard, create_addrmap_from_aranges)
817 (dw2_debug_names_iterator::next, create_type_unit_group):
820 2021-03-25 Pedro Alves <pedro@palves.net>
822 * gdb.server/bkpt-other-inferior.exp: Only enable remote output
823 around setting the breakpoint.
825 2021-03-25 Pedro Alves <pedro@palves.net>
828 (remote_target::check_pending_events_prevent_wildcard_vcont):
829 Check whether the event's ptid is not null_ptid before looking up
830 the corresponding inferior.
832 2021-03-24 Changbin Du <changbin.du@gmail.com>
834 * riscv-tdep.c (riscv_breakpoint_kind_from_pc): Remove call to
837 2021-03-24 Simon Marchi <simon.marchi@polymtl.ca>
839 * target.h (current_top_target): Remove, make callers use the
840 current inferior instead.
841 * target.c (current_top_target): Remove.
843 2021-03-24 Simon Marchi <simon.marchi@polymtl.ca>
845 * target.h (target_shortname): Change to function declaration.
846 (target_longname): Likewise.
847 (target_attach_no_wait): Likewise.
848 (target_post_attach): Likewise.
849 (target_prepare_to_store): Likewise.
850 (target_supports_enable_disable_tracepoint): Likewise.
851 (target_supports_string_tracing): Likewise.
852 (target_supports_evaluation_of_breakpoint_conditions): Likewise.
853 (target_supports_dumpcore): Likewise.
854 (target_dumpcore): Likewise.
855 (target_can_run_breakpoint_commands): Likewise.
856 (target_files_info): Likewise.
857 (target_post_startup_inferior): Likewise.
858 (target_insert_fork_catchpoint): Likewise.
859 (target_remove_fork_catchpoint): Likewise.
860 (target_insert_vfork_catchpoint): Likewise.
861 (target_remove_vfork_catchpoint): Likewise.
862 (target_insert_exec_catchpoint): Likewise.
863 (target_remove_exec_catchpoint): Likewise.
864 (target_set_syscall_catchpoint): Likewise.
865 (target_rcmd): Likewise.
866 (target_can_lock_scheduler): Likewise.
867 (target_can_async_p): Likewise.
868 (target_is_async_p): Likewise.
869 (target_execution_direction): Likewise.
870 (target_extra_thread_info): Likewise.
871 (target_pid_to_exec_file): Likewise.
872 (target_thread_architecture): Likewise.
873 (target_find_memory_regions): Likewise.
874 (target_make_corefile_notes): Likewise.
875 (target_get_bookmark): Likewise.
876 (target_goto_bookmark): Likewise.
877 (target_stopped_by_watchpoint): Likewise.
878 (target_stopped_by_sw_breakpoint): Likewise.
879 (target_supports_stopped_by_sw_breakpoint): Likewise.
880 (target_stopped_by_hw_breakpoint): Likewise.
881 (target_supports_stopped_by_hw_breakpoint): Likewise.
882 (target_have_steppable_watchpoint): Likewise.
883 (target_can_use_hardware_watchpoint): Likewise.
884 (target_region_ok_for_hw_watchpoint): Likewise.
885 (target_can_do_single_step): Likewise.
886 (target_insert_watchpoint): Likewise.
887 (target_remove_watchpoint): Likewise.
888 (target_insert_hw_breakpoint): Likewise.
889 (target_remove_hw_breakpoint): Likewise.
890 (target_can_accel_watchpoint_condition): Likewise.
891 (target_can_execute_reverse): Likewise.
892 (target_get_ada_task_ptid): Likewise.
893 (target_filesystem_is_local): Likewise.
894 (target_trace_init): Likewise.
895 (target_download_tracepoint): Likewise.
896 (target_can_download_tracepoint): Likewise.
897 (target_download_trace_state_variable): Likewise.
898 (target_enable_tracepoint): Likewise.
899 (target_disable_tracepoint): Likewise.
900 (target_trace_start): Likewise.
901 (target_trace_set_readonly_regions): Likewise.
902 (target_get_trace_status): Likewise.
903 (target_get_tracepoint_status): Likewise.
904 (target_trace_stop): Likewise.
905 (target_trace_find): Likewise.
906 (target_get_trace_state_variable_value): Likewise.
907 (target_save_trace_data): Likewise.
908 (target_upload_tracepoints): Likewise.
909 (target_upload_trace_state_variables): Likewise.
910 (target_get_raw_trace_data): Likewise.
911 (target_get_min_fast_tracepoint_insn_len): Likewise.
912 (target_set_disconnected_tracing): Likewise.
913 (target_set_circular_trace_buffer): Likewise.
914 (target_set_trace_buffer_size): Likewise.
915 (target_set_trace_notes): Likewise.
916 (target_get_tib_address): Likewise.
917 (target_set_permissions): Likewise.
918 (target_static_tracepoint_marker_at): Likewise.
919 (target_static_tracepoint_markers_by_strid): Likewise.
920 (target_traceframe_info): Likewise.
921 (target_use_agent): Likewise.
922 (target_can_use_agent): Likewise.
923 (target_augmented_libraries_svr4_read): Likewise.
924 (target_log_command): Likewise.
925 * target.c (target_shortname): New.
926 (target_longname): New.
927 (target_attach_no_wait): New.
928 (target_post_attach): New.
929 (target_prepare_to_store): New.
930 (target_supports_enable_disable_tracepoint): New.
931 (target_supports_string_tracing): New.
932 (target_supports_evaluation_of_breakpoint_conditions): New.
933 (target_supports_dumpcore): New.
934 (target_dumpcore): New.
935 (target_can_run_breakpoint_commands): New.
936 (target_files_info): New.
937 (target_post_startup_inferior): New.
938 (target_insert_fork_catchpoint): New.
939 (target_remove_fork_catchpoint): New.
940 (target_insert_vfork_catchpoint): New.
941 (target_remove_vfork_catchpoint): New.
942 (target_insert_exec_catchpoint): New.
943 (target_remove_exec_catchpoint): New.
944 (target_set_syscall_catchpoint): New.
946 (target_can_lock_scheduler): New.
947 (target_can_async_p): New.
948 (target_is_async_p): New.
949 (target_execution_direction): New.
950 (target_extra_thread_info): New.
951 (target_pid_to_exec_file): New.
952 (target_thread_architecture): New.
953 (target_find_memory_regions): New.
954 (target_make_corefile_notes): New.
955 (target_get_bookmark): New.
956 (target_goto_bookmark): New.
957 (target_stopped_by_watchpoint): New.
958 (target_stopped_by_sw_breakpoint): New.
959 (target_supports_stopped_by_sw_breakpoint): New.
960 (target_stopped_by_hw_breakpoint): New.
961 (target_supports_stopped_by_hw_breakpoint): New.
962 (target_have_steppable_watchpoint): New.
963 (target_can_use_hardware_watchpoint): New.
964 (target_region_ok_for_hw_watchpoint): New.
965 (target_can_do_single_step): New.
966 (target_insert_watchpoint): New.
967 (target_remove_watchpoint): New.
968 (target_insert_hw_breakpoint): New.
969 (target_remove_hw_breakpoint): New.
970 (target_can_accel_watchpoint_condition): New.
971 (target_can_execute_reverse): New.
972 (target_get_ada_task_ptid): New.
973 (target_filesystem_is_local): New.
974 (target_trace_init): New.
975 (target_download_tracepoint): New.
976 (target_can_download_tracepoint): New.
977 (target_download_trace_state_variable): New.
978 (target_enable_tracepoint): New.
979 (target_disable_tracepoint): New.
980 (target_trace_start): New.
981 (target_trace_set_readonly_regions): New.
982 (target_get_trace_status): New.
983 (target_get_tracepoint_status): New.
984 (target_trace_stop): New.
985 (target_trace_find): New.
986 (target_get_trace_state_variable_value): New.
987 (target_save_trace_data): New.
988 (target_upload_tracepoints): New.
989 (target_upload_trace_state_variables): New.
990 (target_get_raw_trace_data): New.
991 (target_get_min_fast_tracepoint_insn_len): New.
992 (target_set_disconnected_tracing): New.
993 (target_set_circular_trace_buffer): New.
994 (target_set_trace_buffer_size): New.
995 (target_set_trace_notes): New.
996 (target_get_tib_address): New.
997 (target_set_permissions): New.
998 (target_static_tracepoint_marker_at): New.
999 (target_static_tracepoint_markers_by_strid): New.
1000 (target_traceframe_info): New.
1001 (target_use_agent): New.
1002 (target_can_use_agent): New.
1003 (target_augmented_libraries_svr4_read): New.
1004 (target_log_command): New.
1005 * bfin-tdep.c (bfin_sw_breakpoint_from_kind): Adjust.
1006 * infrun.c (set_schedlock_func): Adjust.
1007 * mi/mi-main.c (exec_reverse_continue): Adjust.
1008 * reverse.c (exec_reverse_once): Adjust.
1009 * sh-tdep.c (sh_sw_breakpoint_from_kind): Adjust.
1010 * tui/tui-stack.c (tui_locator_window::make_status_line): Adjust.
1011 * remote-sim.c (gdbsim_target::detach): Adjust.
1012 (gdbsim_target::files_info): Adjust.
1014 2021-03-24 Tom Tromey <tom@tromey.com>
1016 * dwarf2/read.c (dw2_map_matching_symbols): Update.
1017 (dw2_expand_symtabs_matching_symbol): Remove 'kind' parameter.
1018 (check_match, dw2_expand_symtabs_matching)
1019 (dwarf2_debug_names_index::map_matching_symbols)
1020 (dwarf2_debug_names_index::expand_symtabs_matching): Update.
1022 2021-03-24 Keith Seitz <keiths@redhat.com>
1024 * compile/compile-cplus-types.c
1025 (compile_cplus_convert_struct_or_union): Fix TYPE_DECLARED_CLASS
1028 2021-03-24 Simon Marchi <simon.marchi@polymtl.ca>
1030 * gdbarch.sh (gdbarch_data_registry): Make static.
1031 * gdbarch.c: Re-generate.
1033 2021-03-24 Luis Machado <luis.machado@linaro.org>
1035 * NEWS: Mention memory tagging changes.
1037 2021-03-24 Luis Machado <luis.machado@linaro.org>
1039 * printcmd.c (decode_format): Handle the 'm' modifier.
1040 (do_examine): Display allocation tags when required/supported.
1041 (should_validate_memtags): New function.
1042 (print_command_1): Display memory tag mismatches.
1043 * valprint.c (show_memory_tag_violations): New function.
1044 (value_print_option_defs): Add new option "memory-tag-violations".
1045 (user_print_options) <memory_tag_violations>: Initialize to 1.
1046 * valprint.h (struct format_data) <print_tags>: New field.
1047 (value_print_options) <memory_tag_violations>: New field.
1049 2021-03-24 Luis Machado <luis.machado@linaro.org>
1051 * printcmd.c: Include gdbsupport/rsp-low.h.
1052 (memory_tag_list): New static global.
1053 (process_print_command_args): Factored out of
1055 (print_command_1): Use process_print_command_args.
1056 (show_addr_not_tagged, show_memory_tagging_unsupported)
1057 (memory_tag_command, memory_tag_print_tag_command)
1058 (memory_tag_print_logical_tag_command)
1059 (memory_tag_print_allocation_tag_command, parse_with_logical_tag_input)
1060 (memory_tag_with_logical_tag_command, parse_set_allocation_tag_input)
1061 (memory_tag_set_allocation_tag_command, memory_tag_check_command): New
1063 (_initialize_printcmd): Add "memory-tag" prefix and subcommands.
1065 2021-03-24 Luis Machado <luis.machado@linaro.org>
1067 * aarch64-linux-tdep.c
1068 (aarch64_linux_iterate_over_regset_sections): Handle MTE register set.
1069 * aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_MTE_REGSET): Define.
1071 2021-03-24 Luis Machado <luis.machado@linaro.org>
1073 * aarch64-linux-tdep.c
1074 (aarch64_linux_report_signal_info): New function.
1075 (aarch64_linux_init_abi): Register
1076 aarch64_linux_report_signal_info as the report_signal_info hook.
1077 * arch/aarch64-linux.h (SEGV_MTEAERR): Define.
1078 (SEGV_MTESERR): Define.
1080 2021-03-24 Luis Machado <luis.machado@linaro.org>
1082 * aarch64-linux-tdep.c: Include gdbsupport/selftest.h.
1083 (aarch64_linux_ltag_tests): New function.
1084 (_initialize_aarch64_linux_tdep): Register aarch64_linux_ltag_tests.
1086 2021-03-24 Luis Machado <luis.machado@linaro.org>
1088 * aarch64-linux-tdep.c: Include target.h, arch-utils.h, value.h.
1089 (aarch64_mte_get_atag, aarch64_linux_tagged_address_p)
1090 (aarch64_linux_memtag_mismatch_p, aarch64_linux_set_memtags)
1091 (aarch64_linux_get_memtag, aarch64_linux_memtag_to_string): New
1093 (aarch64_linux_init_abi): Initialize MTE-related gdbarch hooks.
1094 * arch/aarch64-mte-linux.c (aarch64_mte_make_ltag_bits)
1095 (aarch64_mte_make_ltag, aarch64_linux_set_ltag)
1096 (aarch64_linux_get_ltag): New functions.
1097 * arch/aarch64-mte-linux.h (AARCH64_MTE_LOGICAL_TAG_START_BIT)
1098 (AARCH64_MTE_LOGICAL_MAX_VALUE): Define.
1099 (aarch64_mte_make_ltag_bits, aarch64_mte_make_ltag)
1100 (aarch64_mte_set_ltag, aarch64_mte_get_ltag): New prototypes.
1102 2021-03-24 Luis Machado <luis.machado@linaro.org>
1104 * linux-tdep.c (struct smaps_vmflags) <memory_tagging>: New flag
1106 (struct smaps_data): New struct.
1107 (decode_vmflags): Handle the 'mt' flag.
1108 (parse_smaps_data): New function, refactored from
1109 linux_find_memory_regions_full.
1110 (linux_address_in_memtag_page): New function.
1111 (linux_find_memory_regions_full): Refactor into parse_smaps_data.
1112 * linux-tdep.h (linux_address_in_memtag_page): New prototype.
1114 2021-03-24 Luis Machado <luis.machado@linaro.org>
1116 * linux-tdep.c (linux_find_memory_regions_full): Use std::string
1117 instead of char arrays.
1119 2021-03-24 Luis Machado <luis.machado@linaro.org>
1121 * Makefile.in (ALL_64_TARGET_OBS): Add arch/aarch64-mte-linux.o.
1122 (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h and
1123 nat/aarch64-mte-linux-ptrace.h.
1124 * aarch64-linux-nat.c: Include nat/aarch64-mte-linux-ptrace.h.
1125 (aarch64_linux_nat_target) <supports_memory_tagging>: New method
1127 <fetch_memtags>: New method override.
1128 <store_memtags>: New method override.
1129 (aarch64_linux_nat_target::supports_memory_tagging): New method.
1130 (aarch64_linux_nat_target::fetch_memtags): New method.
1131 (aarch64_linux_nat_target::store_memtags): New method.
1132 * arch/aarch64-mte-linux.c: New file.
1133 * arch/aarch64-mte-linux.h: Include gdbsupport/common-defs.h.
1134 (AARCH64_MTE_GRANULE_SIZE): Define.
1135 (aarch64_memtag_type): New enum.
1136 (aarch64_mte_get_tag_granules): New prototype.
1137 * configure.nat (NATDEPFILES): Add nat/aarch64-mte-linux-ptrace.o.
1138 * configure.tgt (aarch64*-*-linux*): Add arch/aarch64-mte-linux.o.
1139 * nat/aarch64-mte-linux-ptrace.c: New file.
1140 * nat/aarch64-mte-linux-ptrace.h: New file.
1142 2021-03-24 Luis Machado <luis.machado@linaro.org>
1144 * Makefile.in (HFILES_NO_SRCDIR): Add nat/aarch64-mte-linux-ptrace.h.
1145 * nat/aarch64-mte-linux-ptrace.h: New file.
1147 2021-03-24 Luis Machado <luis.machado@linaro.org>
1149 * aarch64-linux-nat.c (fetch_mteregs_from_thread): New function.
1150 (store_mteregs_to_thread): New function.
1151 (aarch64_linux_nat_target::fetch_registers): Update to call
1152 fetch_mteregs_from_thread.
1153 (aarch64_linux_nat_target::store_registers): Update to call
1154 store_mteregs_to_thread.
1155 * aarch64-tdep.c (aarch64_mte_register_names): New struct.
1156 (aarch64_cannot_store_register): Handle MTE registers.
1157 (aarch64_gdbarch_init): Initialize and setup MTE registers.
1158 * aarch64-tdep.h (gdbarch_tdep) <mte_reg_base>: New field.
1159 <has_mte>: New method.
1160 * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define.
1162 2021-03-24 Luis Machado <luis.machado@linaro.org>
1164 * aarch64-linux-nat.c
1165 (aarch64_linux_nat_target::read_description): Take MTE flag into
1167 Slight refactor to hwcap flag checking.
1168 * aarch64-linux-tdep.c
1169 (aarch64_linux_core_read_description): Likewise.
1170 * aarch64-tdep.c (tdesc_aarch64_list): Add one more dimension for
1172 (aarch64_read_description): Add mte_p parameter and update to use it.
1173 Update the documentation.
1174 (aarch64_gdbarch_init): Update call to aarch64_read_description.
1175 * aarch64-tdep.h (aarch64_read_description): Add mte_p parameter.
1176 * arch/aarch64.c: Include ../features/aarch64-mte.c.
1177 (aarch64_create_target_description): Add mte_p parameter and update
1179 * arch/aarch64.h (aarch64_create_target_description): Add mte_p
1181 * features/Makefile (FEATURE_XMLFILES): Add aarch64-mte.xml.
1182 * features/aarch64-mte.c: New file, generated.
1183 * features/aarch64-mte.xml: New file.
1185 2021-03-24 Luis Machado <luis.machado@linaro.org>
1187 * Makefile.in (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h.
1188 * aarch64-linux-nat.c: Include arch/aarch64-mte-linux.h.
1189 * aarch64-linux-tdep.c: Likewise
1190 * arch/aarch64-mte-linux.h: New file.
1192 2021-03-24 Luis Machado <luis.machado@linaro.org>
1194 * remote: Include gdbsupport/selftest.h.
1195 (test_memory_tagging_functions): New function.
1196 (_initialize_remote): Register test_memory_tagging_functions.
1198 2021-03-24 Luis Machado <luis.machado@linaro.org>
1200 * remote.c (PACKET_memory_tagging_feature): New enum.
1201 (remote_memory_tagging_p): New function.
1202 (remote_protocol_features): New "memory-tagging" entry.
1203 (remote_target::remote_query_supported): Handle memory tagging
1205 (remote_target::supports_memory_tagging): Implement.
1206 (create_fetch_memtags_request, parse_fetch_memtags_reply)
1207 (create_store_memtags_request): New functions.
1208 (remote_target::fetch_memtags): Implement.
1209 (remote_target::store_memtags): Implement.
1210 (_initialize_remote): Add new "memory-tagging-feature"
1213 2021-03-24 Luis Machado <luis.machado@linaro.org>
1215 * arch-utils.c (default_memtag_to_string, default_tagged_address_p)
1216 (default_memtag_matches_p, default_set_memtags)
1217 (default_get_memtag): New functions.
1218 * arch-utils.h (default_memtag_to_string, default_tagged_address_p)
1219 (default_memtag_matches_p, default_set_memtags)
1220 (default_get_memtag): New prototypes.
1221 * gdbarch.c: Regenerate.
1222 * gdbarch.h: Regenerate.
1223 * gdbarch.sh (memtag_to_string, tagged_address_p, memtag_matches_p)
1224 (set_memtags, get_memtag, memtag_granule_size): New gdbarch hooks.
1225 (enum memtag_type): New enum.
1227 2021-03-24 Luis Machado <luis.machado@linaro.org>
1229 * remote.c (remote_target) <supports_memory_tagging>: New method
1231 <fetch_memtags>: New method override.
1232 <store_memtags>: New method override.
1233 (remote_target::supports_memory_tagging): New method.
1234 (remote_target::fetch_memtags): New method.
1235 (remote_target::store_memtags): New method.
1236 * target-delegates.c: Regenerate.
1237 * target.h (struct target_ops) <supports_memory_tagging>: New virtual
1239 <fetch_memtags>: New virtual method.
1240 <store_memtags>: New virtual method.
1241 (target_supports_memory_tagging): Define.
1242 (target_fetch_memtags): Define.
1243 (target_store_memtags): Define.
1244 * target-debug.h (target_debug_print_size_t)
1245 (target_debug_print_const_gdb_byte_vector_r)
1246 (target_debug_print_gdb_byte_vector_r): New functions.
1248 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
1250 * target.h (target_longname): Remove.
1252 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
1254 * target.h (target_is_pushed): Remove, update callers to use
1255 inferior::target_is_pushed instead.
1256 * target.c (target_is_pushed): Remove.
1258 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
1260 * target.h (push_target): Remove, update callers to use
1261 inferior::push_target.
1262 * target.c (push_target): Remove.
1263 * inferior.h (class inferior) <push_target>: New overload.
1265 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
1267 * target.h (unpush_target): Remove, update all callers
1268 to use `inferior::unpush_target` instead.
1269 (struct target_unpusher) <operator()>: Just declare.
1270 * target.c (unpush_target): Remove.
1271 (target_unpusher::operator()): New.
1273 2021-03-22 Andrew Burgess <andrew.burgess@embecosm.com>
1275 * dwarf2/read.c (process_psymtab_comp_unit): Replace abort with an
1277 (process_full_comp_unit): Validate the top-level tag before
1278 processing the first DIE.
1279 (read_func_scope): Ensure we have a valid builder.
1281 2021-03-22 Andrew Burgess <andrew.burgess@embecosm.com>
1283 * objc-lang.c (objc_demangle): Renamed to
1284 objc_language::demangle_symbol, and moved later in the file.
1285 (objc_language::sniff_from_mangled_name): Call demangle_symbol
1287 (objc_language::demangle_symbol): Defined outside of class
1288 declaration. The definition is the old objc_demangle with NULL
1289 changed to nullptr, and if conditions relating to nullptr pointers
1290 or null character checks made explicit.
1291 * objc-lang.h (objc_demangle): Delete declaration.
1293 2021-03-22 Martin Liska <mliska@suse.cz>
1295 * arm-tdep.c (show_disassembly_style_sfunc): Replace usage of CONST_STRNEQ with startswith.
1296 (_initialize_arm_tdep): Likewise.
1298 2021-03-20 Tom Tromey <tom@tromey.com>
1300 * xcoffread.c (xcoff_initial_scan): Create partial symtabs.
1301 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
1302 * psymtab.h (make_psymbol_functions): Don't declare.
1303 * psymtab.c (make_psymbol_functions): Remove.
1304 (maintenance_print_psymbols): Update.
1305 * psympriv.h (struct psymbol_functions): Add no-argument
1307 * objfiles.h (struct objfile) <reset_psymtabs>: Remove.
1308 <partial_symtabs>: Remove.
1309 * mdebugread.c (mdebug_build_psymtabs): Create partial symtabs.
1310 * elfread.c (read_partial_symbols): Update.
1311 (elf_symfile_read): Remove check for existing partial symbols.
1313 * dwarf2/read.c (dwarf2_has_info): Remove check for existing
1315 (dwarf2_build_psymtabs): Add psymbol_functions parameter. Create
1317 * dwarf2/public.h (dwarf2_build_psymtabs): Add psymbol_functions
1319 * dbxread.c (dbx_symfile_read): Create partial symtabs.
1320 * ctfread.c (elfctf_build_psymtabs): Create partial symtabs.
1322 2021-03-20 Tom Tromey <tom@tromey.com>
1324 * dwarf2/read.c (dwarf2_build_psymtabs): Update.
1325 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
1326 * symfile-debug.c (objfile::has_partial_symbols)
1327 (objfile::find_last_source_symtab)
1328 (objfile::forget_cached_source_info)
1329 (objfile::map_symtabs_matching_filename, objfile::lookup_symbol)
1330 (objfile::print_stats, objfile::dump)
1331 (objfile::expand_symtabs_for_function)
1332 (objfile::expand_all_symtabs)
1333 (objfile::expand_symtabs_with_fullname)
1334 (objfile::map_matching_symbols)
1335 (objfile::expand_symtabs_matching)
1336 (objfile::find_pc_sect_compunit_symtab)
1337 (objfile::map_symbol_filenames)
1338 (objfile::find_compunit_symtab_by_address)
1339 (objfile::lookup_global_symbol_language)
1340 (objfile::require_partial_symbols): Update.
1341 * psymtab.c (maintenance_print_psymbols)
1342 (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
1343 * objfiles.h (struct objfile) <qf>: Now a forward_list.
1344 * objfiles.c (objfile_relocate1): Update.
1345 * elfread.c (elf_symfile_read): Update.
1347 2021-03-20 Tom Tromey <tom@tromey.com>
1349 * objfiles.h (struct objfile) <psymtabs>: Remove method.
1351 2021-03-20 Tom Tromey <tom@tromey.com>
1353 * psymtab.c (psymbol_functions::count_psyms): Rename.
1354 (psymbol_functions::print_stats): Update.
1355 * psympriv.h (struct psymbol_functions) <count_psyms>: Declare
1358 2021-03-20 Tom Tromey <tom@tromey.com>
1360 * psymtab.c (psymbol_functions::require_partial_symbols): Rename.
1361 (psymbol_functions::find_pc_sect_psymtab): Rename.
1362 (psymbol_functions::find_pc_sect_compunit_symtab)
1363 (maintenance_print_psymbols, maintenance_check_psymtabs): Update.
1364 * psympriv.h (struct psymbol_functions) <require_partial_symbols>:
1366 <get_partial_symtabs, find_pc_sect_psymtab>: Likewise.
1368 2021-03-20 Tom Tromey <tom@tromey.com>
1370 * xcoffread.c (xcoff_start_psymtab): Add partial_symtabs parameter.
1371 (xcoff_end_psymtab, scan_xcoff_symtab): Update.
1372 * psymtab.c (partial_symtab::partial_symtab): Add partial_symtabs
1374 (add_psymbol_to_bcache): Remove.
1375 (partial_symtab::add_psymbol): Add partial_symtabs parameter.
1376 (partial_symtab::add_psymbol, partial_symtab::partial_symtab):
1378 * psympriv.h (partial_symtab): Add partial_symtabs parameter.
1379 <add_psymbol>: Likewise.
1380 (standard_psymtab, legacy_psymtab): Likewise.
1381 * mdebugread.c (parse_partial_symbols): Update.
1382 (handle_psymbol_enumerators): Add partial_symtabs parameter.
1383 (handle_psymbol_enumerators): Update.
1384 (new_psymtab): Add partial_symtabs parameter.
1385 * dwarf2/read.h (dwarf2_psymtab): Add partial_symtabs parameter.
1386 * dwarf2/read.c (dwarf2_include_psymtab): Add partial_symtabs
1388 (dwarf2_create_include_psymtab): Add partial_symtabs parameter.
1389 (create_partial_symtab, add_partial_symbol, dwarf_decode_lines):
1391 * dbxread.c (read_dbx_symtab): Update.
1392 (start_psymtab): Add partial_symtabs parameter.
1393 (dbx_end_psymtab): Update.
1394 * ctfread.c (struct ctf_context) <partial_symtabs>: New member.
1395 (ctf_psymtab): Add partial_symtabs parameter.
1396 (create_partial_symtab, ctf_psymtab_type_cb, ctf_psymtab_var_cb):
1398 (scan_partial_symbols): Add partial_symtabs parameter.
1399 (scan_partial_symbols, elfctf_build_psymtabs)
1400 (ctf_psymtab_add_enums): Update.
1402 2021-03-20 Tom Tromey <tom@tromey.com>
1404 * symfile.c (read_symbols): Use objfile method.
1405 * symfile-debug.c (objfile::require_partial_symbols): New method.
1406 * psymtab.h (require_partial_symbols): Don't declare.
1407 * psymtab.c (require_partial_symbols): Use objfile method. Now
1409 (psymbol_functions::map_symtabs_matching_filename, OBJFILE)
1410 (psymbol_functions::lookup_symbol)
1411 (psymbol_functions::lookup_global_symbol_language)
1412 (psymbol_functions::find_last_source_symtab)
1413 (psymbol_functions::forget_cached_source_info)
1414 (psymbol_functions::print_stats)
1415 (psymbol_functions::expand_symtabs_for_function)
1416 (psymbol_functions::expand_all_symtabs)
1417 (psymbol_functions::expand_symtabs_with_fullname)
1418 (psymbol_functions::map_symbol_filenames)
1419 (psymbol_functions::map_matching_symbols)
1420 (psymbol_functions::expand_symtabs_matching)
1421 (psymbol_functions::find_compunit_symtab_by_address)
1422 (maintenance_print_psymbols, maintenance_info_psymtabs)
1423 (maintenance_check_psymtabs): Update.
1424 * objfiles.h (struct objfile) <require_partial_symbols>: Declare
1427 2021-03-20 Tom Tromey <tom@tromey.com>
1429 * xcoffread.c (xcoff_sym_fns): Update.
1430 * symfile.h (struct sym_fns) <sym_read_psymbols>: Remove.
1431 * symfile-debug.c (objfile::has_partial_symbols): Use
1432 can_lazily_read_symbols.
1433 (debug_sym_read_psymbols): Remove.
1434 (debug_sym_fns, install_symfile_debug_logging): Update.
1435 * quick-symbol.h (struct quick_symbol_functions)
1436 <can_lazily_read_symbols, read_partial_symbols>: New methods.
1437 * psymtab.c (require_partial_symbols): Use new 'qf' methods.
1438 * mipsread.c (ecoff_sym_fns): Update.
1439 * machoread.c (macho_sym_fns): Update.
1440 * elfread.c (struct lazy_dwarf_reader): New.
1441 (elf_symfile_read): Update.
1442 (read_psyms): Now a method of lazy_dwarf_reader.
1443 (elf_sym_fns): Update.
1444 (elf_sym_fns_lazy_psyms): Remove.
1445 * dbxread.c (aout_sym_fns): Update.
1446 * coffread.c (coff_sym_fns): Update.
1448 2021-03-20 Tom Tromey <tom@tromey.com>
1450 * symfile.c (syms_from_objfile_1): Call reset_psymtabs.
1451 (reread_symbols): Move reset_psymtabs call later.
1452 * objfiles.c (objfile::objfile): Don't initialize
1455 2021-03-20 Tom Tromey <tom@tromey.com>
1457 * dwarf2/read.c (dwarf2_build_psymtabs): Call
1458 set_partial_symtabs.
1459 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
1460 * psymtab.h (make_psymbol_functions): Add partial_symtabs
1462 * psymtab.c (find_pc_sect_psymtab): Add partial_symtabs
1464 (psymbol_functions::find_pc_sect_compunit_symtab)
1465 (psymbol_functions::print_stats, psymbol_functions::dump)
1466 (psymbol_functions::has_symbols): Update.
1467 (make_psymbol_functions, dump_psymtab_addrmap): Add
1468 partial_symtabs parameter.
1469 (maintenance_print_psymbols): Update.
1470 (psymbol_functions::expand_symtabs_matching): Update.
1471 * psympriv.h (struct psymbol_functions): Add constructor.
1472 <m_partial_symtabs>: New member.
1473 <set_partial_symtabs>: New method.
1475 2021-03-20 Tom Tromey <tom@tromey.com>
1477 * dwarf2/read.c (dwarf2_create_include_psymtab): Add per_bfd
1479 (process_psymtab_comp_unit_reader)
1480 (build_type_psymtab_dependencies, dwarf2_build_psymtabs_hard)
1481 (add_partial_subprogram, dwarf2_ranges_read, dwarf_decode_lines):
1482 Reference psymtabs via per_bfd.
1484 2021-03-20 Tom Tromey <tom@tromey.com>
1486 * dwarf2/index-write.c (struct addrmap_index_data) <objfile>:
1488 (add_address_entry): Remove objfile parameter.
1489 (add_address_entry_worker): Update.
1490 (write_address_map): Replace objfile parameter with per_bfd.
1491 (write_gdbindex, write_psymtabs_to_index): Update.
1493 2021-03-20 Tom Tromey <tom@tromey.com>
1495 * dwarf2/read.c (dwarf2_base_index_functions::print_stats): Add
1496 print_bcache parameter.
1497 * symfile-debug.c (objfile::print_stats): Add print_bcache
1499 * quick-symbol.h (struct quick_symbol_functions)
1500 <print_stats>: Add print_bcache parameter.
1501 * symmisc.c (print_symbol_bcache_statistics, count_psyms): Move
1503 (print_objfile_statistics): Move psymtab code to psymtab.c.
1504 * psymtab.c (count_psyms): Move from symmisc.c.
1505 (psymbol_functions::print_stats): Print partial symbol and bcache
1506 statistics. Add print_bcache parameter.
1507 * objfiles.h (print_symbol_bcache_statistics): Don't declare.
1508 (struct objfile) <print_stats>: Add print_bcache parameter.
1509 * maint.c (maintenance_print_statistics): Update.
1511 2021-03-20 Tom Tromey <tom@tromey.com>
1513 * dwarf2/read.h (struct dwarf2_per_bfd) <psymtabs_addrmap>: New
1515 * dwarf2/read.c (create_addrmap_from_index)
1516 (create_addrmap_from_aranges): Set per_bfd addrmap.
1517 (dwarf2_read_gdb_index): Don't set partial_symtabs.
1518 (dwarf2_base_index_functions::find_pc_sect_compunit_symtab): Use
1520 (dwarf2_read_debug_names): Don't set partial_symtabs.
1521 (dwarf2_initialize_objfile): Likewise.
1523 2021-03-20 Tom Tromey <tom@tromey.com>
1525 * dwarf2/read.c (dwarf2_build_psymtabs): Set partial_symtabs
1528 2021-03-20 Tom Tromey <tom@tromey.com>
1530 * psympriv.h (psymtab_discarder): Take psymtab_storage parameter.
1531 (~psymtab_discarder, keep): Update.
1532 <m_objfile>: Remove.
1533 <m_partial_symtabs>: New member.
1534 * dwarf2/read.c (dwarf2_build_psymtabs): Update.
1536 2021-03-20 Tom Tromey <tom@tromey.com>
1538 * xcoffread.c (xcoff_end_psymtab): Add partial_symtabs parameter.
1539 (xcoff_end_psymtab): Update.
1540 (scan_xcoff_symtab): Add partial_symtabs parameter.
1541 (xcoff_initial_scan): Update.
1542 * stabsread.h (dbx_end_psymtab): Add partial_symtabs parameter.
1543 * mdebugread.c (mdebug_build_psymtabs): Update.
1544 (parse_partial_symbols): Add partial_symtabs parameter.
1545 * dbxread.c (dbx_symfile_read): Update.
1546 (read_dbx_symtab): Add partial_symtabs parameter.
1547 (read_dbx_symtab): Update.
1548 (dbx_end_psymtab): Add partial_symtabs parameter.
1550 2021-03-20 Tom Tromey <tom@tromey.com>
1552 * quick-symbol.h (struct quick_symbol_functions)
1553 <relocated>: New method.
1554 * psymtab.h (struct psymbol_functions) <relocated>: New
1556 <fill_psymbol_map>: Declare method.
1557 <m_psymbol_map>: New member.
1558 * psymtab.c (psymbol_functions::fill_psymbol_map): Rename.
1559 (psymbol_functions::find_compunit_symtab_by_address): Update.
1560 * objfiles.h (reset_psymtabs): Don't clear psymbol_map.
1561 (struct objfile) <psymbol_map>: Remove.
1562 * objfiles.c (objfile_relocate1): Update.
1564 2021-03-20 Tom Tromey <tom@tromey.com>
1566 * psympriv.h (struct psymbol_functions): New.
1567 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
1568 * symfile-debug.c (objfile::find_compunit_symtab_by_address)
1569 (objfile::lookup_global_symbol_language): Update.
1570 * quick-symbol.h (struct quick_symbol_functions): Convert function
1571 pointers to methods. Add virtual destructor.
1572 (quick_symbol_functions_up): New typedef.
1573 * psymtab.h (psym_functions, dwarf2_gdb_index_functions)
1574 (dwarf2_debug_names_functions): Don't declare.
1575 (make_psymbol_functions): Declare.
1576 * psymtab.c (psymbol_functions::map_symtabs_matching_filename)
1577 (psymbol_functions::find_pc_sect_compunit_symtab)
1578 (psymbol_functions::lookup_symbol)
1579 (psymbol_functions::lookup_global_symbol_language)
1580 (psymbol_functions::find_last_source_symtab)
1581 (psymbol_functions::forget_cached_source_info)
1582 (psymbol_functions::print_stats, psymbol_functions::dump)
1583 (psymbol_functions::expand_symtabs_for_function)
1584 (psymbol_functions::expand_all_symtabs)
1585 (psymbol_functions::expand_symtabs_with_fullname)
1586 (psymbol_functions::map_symbol_filenames)
1587 (psymbol_functions::map_matching_symbols)
1588 (psymbol_functions::expand_symtabs_matching)
1589 (psymbol_functions::has_symbols)
1590 (psymbol_functions::find_compunit_symtab_by_address): Rename.
1591 (psym_functions): Remove.
1592 (make_psymbol_functions): New function.
1593 * objfiles.h (struct objfile) <qf>: Change type.
1594 * elfread.c (elf_symfile_read): Update.
1595 * dwarf2/read.c (struct dwarf2_base_index_functions)
1596 (struct dwarf2_gdb_index, struct dwarf2_debug_names_index): New.
1597 (make_dwarf_gdb_index, make_dwarf_debug_names): New functions.
1598 (dwarf2_base_index_functions::find_last_source_symtab)
1599 (dwarf2_base_index_functions::forget_cached_source_info)
1600 (dwarf2_base_index_functions::map_symtabs_matching_filename)
1601 (dwarf2_gdb_index::lookup_symbol)
1602 (dwarf2_base_index_functions::print_stats)
1603 (dwarf2_gdb_index::dump)
1604 (dwarf2_gdb_index::expand_symtabs_for_function)
1605 (dwarf2_base_index_functions::expand_all_symtabs)
1606 (dwarf2_base_index_functions::expand_symtabs_with_fullname):
1608 (dwarf2_gdb_index::map_matching_symbols): New method.
1609 (dwarf2_gdb_index::expand_symtabs_matching): New method.
1610 (dwarf2_base_index_functions::find_pc_sect_compunit_symtab)
1611 (dwarf2_base_index_functions::map_symbol_filenames)
1612 (dwarf2_base_index_functions::has_symbols): Rename.
1613 (dwarf2_gdb_index_functions): Remove.
1614 (dwarf2_debug_names_index::lookup_symbol)
1615 (dwarf2_debug_names_index::dump)
1616 (dwarf2_debug_names_index::expand_symtabs_for_function)
1617 (dwarf2_debug_names_index::map_matching_symbols)
1618 (dwarf2_debug_names_index::expand_symtabs_matching): Rename.
1619 (dwarf2_debug_names_functions): Remove.
1620 * dwarf2/public.h (make_dwarf_gdb_index, make_dwarf_debug_names):
1623 2021-03-20 Tom Tromey <tom@tromey.com>
1625 * psymtab.c (require_partial_symbols): Check that 'sf' is not
1627 * xcoffread.c (xcoff_sym_fns): Update.
1628 * symfile.h (struct sym_fns) <qf>: Remove.
1629 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
1630 * symfile-debug.c (objfile::has_partial_symbols)
1631 (objfile::find_last_source_symtab)
1632 (objfile::forget_cached_source_info)
1633 (objfile::map_symtabs_matching_filename, objfile::lookup_symbol)
1634 (objfile::print_stats, objfile::dump)
1635 (objfile::expand_symtabs_for_function)
1636 (objfile::expand_all_symtabs)
1637 (objfile::expand_symtabs_with_fullname)
1638 (objfile::map_matching_symbols)
1639 (objfile::expand_symtabs_matching)
1640 (objfile::find_pc_sect_compunit_symtab)
1641 (objfile::map_symbol_filenames)
1642 (objfile::find_compunit_symtab_by_address)
1643 (objfile::lookup_global_symbol_language, debug_sym_fns)
1644 (install_symfile_debug_logging): Update.
1645 * objfiles.h (struct objfile) <qf>: New member.
1646 * mipsread.c (ecoff_sym_fns): Update.
1647 * machoread.c (macho_sym_fns): Update.
1648 * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names):
1650 (elf_symfile_read, elf_sym_fns, elf_sym_fns_lazy_psyms): Update.
1651 * dbxread.c (aout_sym_fns): Update.
1652 * coffread.c (coff_sym_fns): Update.
1654 2021-03-20 Tom Tromey <tom@tromey.com>
1656 * symfile.h (symbol_compare_ftype, symbol_filename_ftype)
1657 (expand_symtabs_file_matcher_ftype)
1658 (expand_symtabs_symbol_matcher_ftype)
1659 (expand_symtabs_exp_notify_ftype, struct quick_symbol_functions):
1660 Move to quick-symbol.h.
1661 * quick-symbol.h: New file.
1663 2021-03-20 Tom Tromey <tom@tromey.com>
1665 * symtab.c (iterate_over_symtabs, expand_symtab_containing_pc)
1666 (lookup_symbol_via_quick_fns, find_quick_global_symbol_language)
1667 (basic_lookup_transparent_type_quick)
1668 (find_pc_sect_compunit_symtab, find_symbol_at_address)
1669 (find_line_symtab, global_symbol_searcher::expand_symtabs):
1671 * symmisc.c (print_objfile_statistics, dump_objfile)
1672 (maintenance_expand_symtabs): Update.
1673 * symfile.c (symbol_file_add_with_addrs)
1674 (expand_symtabs_matching, map_symbol_filenames): Update.
1675 * symfile-debug.c (objfile::has_partial_symbols)
1676 (objfile::find_last_source_symtab)
1677 (objfile::forget_cached_source_info)
1678 (objfile::map_symtabs_matching_filename, objfile::lookup_symbol)
1679 (objfile::print_stats, objfile::dump)
1680 (objfile::expand_symtabs_for_function)
1681 (objfile::expand_all_symtabs)
1682 (objfile::expand_symtabs_with_fullname)
1683 (objfile::map_matching_symbols)
1684 (objfile::expand_symtabs_matching)
1685 (objfile::find_pc_sect_compunit_symtab)
1686 (objfile::map_symbol_filenames)
1687 (objfile::find_compunit_symtab_by_address)
1688 (objfile::lookup_global_symbol_language): New methods.
1689 (debug_sym_quick_functions): Remove.
1690 (debug_sym_fns, install_symfile_debug_logging): Update.
1691 * source.c (forget_cached_source_info_for_objfile)
1692 (select_source_symtab): Update.
1693 * objfiles.h (struct objfile): Add methods corresponding to
1694 quick_symbol_functions.
1695 * objfiles.c (objfile::has_partial_symbols): Move to
1697 * linespec.c (iterate_over_all_matching_symtabs): Update.
1698 * cp-support.c (add_symbol_overload_list_qualified): Update.
1699 * ada-lang.c (add_nonlocal_symbols): Update.
1701 2021-03-20 Tom Tromey <tom@tromey.com>
1703 * objfiles.h (struct objfile) <has_partial_symbols>: Return bool.
1704 * symfile.h (struct quick_symbol_functions) <has_symbols>: Return
1706 * symfile-debug.c (debug_qf_has_symbols): Return bool.
1707 * psymtab.c (psym_has_symbols): Return bool.
1708 * objfiles.c (objfile::has_partial_symbols): Return bool.
1709 * dwarf2/read.c (dw2_has_symbols): Return bool.
1711 2021-03-20 Tom Tromey <tom@tromey.com>
1713 * symfile.c (read_symbols): Update.
1714 * objfiles.h (struct objfile) <has_partial_symbols>: New method.
1715 (objfile_has_partial_symbols): Don't declare.
1716 * objfiles.c (objfile::has_partial_symbols): Rename from
1717 objfile_has_partial_symbols.
1718 (objfile_has_symbols, have_partial_symbols): Update.
1719 * elfread.c (elf_symfile_read): Update.
1720 * dwarf2/read.c (dwarf2_has_info): Update.
1721 * coffread.c (coff_symfile_read): Update.
1723 2021-03-20 Tom Tromey <tom@tromey.com>
1725 * coffread.c: Include dwarf2/public.h.
1726 * dwarf2/frame.c: Include dwarf2/public.h.
1727 * dwarf2/index-write.h: Include dwarf2/public.h, not symfile.h.
1728 * dwarf2/public.h: New file.
1729 * dwarf2/read.c: Include dwarf2/public.h.
1730 * elfread.c: Include dwarf2/public.h.
1731 * machoread.c: Include dwarf2/public.h.
1732 * symfile.h (dwarf2_has_info, enum dw_index_kind)
1733 (dwarf2_initialize_objfile, dwarf2_build_psymtabs)
1734 (dwarf2_build_frame_info): Move to dwarf2/public.h.
1735 * xcoffread.c: Include dwarf2/public.h.
1737 2021-03-20 Tom Tromey <tom@tromey.com>
1739 * symfile.h (enum dwarf2_section_enum)
1740 (dwarf2_get_section_info): Move to dwarf2/read.h.
1741 * dwarf2/read.h (enum dwarf2_section_enum)
1742 (dwarf2_get_section_info): Move from symfile.h.
1744 2021-03-19 Pedro Alves <pedro@palves.net>
1746 * thread.c (any_thread_of_inferior): Check if there's a selected
1747 thread before calling inferior_thread().
1749 2021-03-18 Tom Tromey <tromey@adacore.com>
1751 * dwarf2/stringify.c (dwarf_unit_type_name): New function. Use
1753 * dwarf2/stringify.h (dwarf_unit_type_name): Declare.
1754 * dwarf2/comp-unit.c (dwarf_unit_type_name): Remove.
1756 2021-03-18 Andrew Burgess <andrew.burgess@embecosm.com>
1758 * python/py-param.c (get_set_value): Update header comment.
1760 2021-03-17 Simon Marchi <simon.marchi@polymtl.ca>
1762 * infrun.c (check_multi_target_resumption): Remove argument to
1763 all_non_exited_inferiors.
1765 2021-03-16 Christian Biesinger <cbiesinger@google.com>
1767 * windows-nat.c (windows_init_thread_list): Add message to
1770 2021-03-16 Andrew Burgess <andrew.burgess@embecosm.com>
1772 * python/py-framefilter.c (py_print_frame): Use PyInt_Check as
1773 well as PyLong_Check for Python 2.
1775 2021-03-15 Tom Tromey <tromey@adacore.com>
1778 * rust-exp.y (maker_map): Use gdb::hash_enum.
1779 * stap-probe.c (stap_maker_map): Use gdb::hash_enum.
1781 2021-03-15 Simon Marchi <simon.marchi@polymtl.ca>
1783 * dwarf2/read.c (create_debug_type_hash_table): Remove colon at
1786 2021-03-15 Simon Marchi <simon.marchi@polymtl.ca>
1788 * dwarf2/read.c (dw2_get_file_names_reader): Remove info_ptr
1789 parameter, adjust caller.
1791 2021-03-15 Tom Tromey <tromey@adacore.com>
1793 * ada-exp.y (simple_exp): Always push a result for unary '+'.
1795 2021-03-15 Tom Tromey <tromey@adacore.com>
1797 * ada-lang.c (ada_unop_ind_operation::evaluate): Call
1798 ada_ensure_varsize_limit.
1800 2021-03-15 Tom Tromey <tromey@adacore.com>
1802 * ada-lang.c (numeric_type_p, integer_type_p): Return true for
1804 * ada-exp.y (maybe_overload): New function.
1805 (ada_wrap_overload): New function.
1806 (ada_un_wrap2, ada_wrap2, ada_wrap_op): Use maybe_overload.
1807 (exp1, simple_exp, relation, and_exp, and_then_exp, or_exp)
1808 (or_else_exp, xor_exp, primary): Update.
1810 2021-03-15 Tom Tromey <tromey@adacore.com>
1813 * ada-lang.c (ada_var_value_operation::evaluate): Use recursive
1814 call for tagged type.
1816 2021-03-15 Tom Tromey <tromey@adacore.com>
1818 * ada-exp.y (exp1): Handle resolution of the right hand side of an
1821 2021-03-15 Tom Tromey <tromey@adacore.com>
1823 * ada-lang.c (ada_aggregate_operation::assign_aggregate): Return
1825 (ada_assign_operation::evaluate): Update.
1826 * ada-exp.h (class ada_aggregate_operation) <assign_aggregate>:
1829 2021-03-15 Felix Willgerodt <felix.willgerodt@intel.com>
1831 * i386-tdep.c (i386_floatformat_for_type): Add COMPLEX*32 and REAL*16.
1833 2021-03-15 Andrew Burgess <andrew.burgess@embecosm.com>
1835 * python/python.c (gdbpy_source_objfile_script): Use
1836 make_scoped_restore to restore gdbpy_current_objfile.
1837 (gdbpy_execute_objfile_script): Likewise.
1839 2021-03-14 Tom Tromey <tom@tromey.com>
1841 * dwarf2/read.c (read_attribute_value): Use cu_header
1844 2021-03-14 Tom Tromey <tom@tromey.com>
1846 * dwarf2/read.c (struct die_reader_specs) <abfd>: Fix formatting.
1847 (peek_die_abbrev): Use reader.abfd.
1849 2021-03-14 Tom Tromey <tom@tromey.com>
1851 * dwarf2/read.c (dwarf2_per_cu_data::get_header): Set
1854 2021-03-13 Tom Tromey <tom@tromey.com>
1856 * dwarf2/read.c (struct partial_die_info): Update.
1857 (peek_die_abbrev, skip_children, skip_one_die, read_full_die_1)
1858 (load_partial_dies, partial_die_info::partial_die_info): Update.
1859 * dwarf2/abbrev.h (lookup_abbrev): Constify.
1861 2021-03-13 Tom Tromey <tom@tromey.com>
1863 * dwarf2/abbrev.c (abbrev_table::read): Remove Irix 6 workaround.
1865 2021-03-12 Christian Biesinger <cbiesinger@google.com>
1868 * cp-support.c: Use scoped_segv_handler_restore.
1869 * event-top.c (thread_local_segv_handler): Made static.
1870 (scoped_segv_handler_restore::scoped_segv_handler_restore):
1872 (scoped_segv_handler_restore::~scoped_segv_handler_restore): New
1874 * event-top.h (class scoped_segv_handler_restore): New class.
1875 (thread_local_segv_handler): Removed.
1877 2021-03-10 Tom Tromey <tromey@adacore.com>
1879 * parser-defs.h (parser_state): Change completion to bool.
1880 <parse_completion>: Likewise.
1881 * ada-lang.h (ada_find_operator_symbol, ada_resolve_funcall)
1882 (ada_resolve_variable, ada_resolve_function): Update.
1883 * ada-lang.c (ada_find_operator_symbol): Change
1884 parse_completion to bool.
1885 (ada_resolve_funcall, ada_resolve_variable)
1886 (ada_resolve_function): Likewise.
1888 2021-03-09 Tom Tromey <tromey@adacore.com>
1890 * eval.c (operation::evaluate_funcall): Use function formal
1891 parameter types when evaluating.
1893 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
1895 * gdb-gdb.py.in (StructMainTypePrettyPrinter) <owner_to_string>:
1896 Updated fields names flag_objfile_owned to m_flag_objfile_owned,
1897 and owner to m_owner.
1899 2021-03-09 Felix Willgerodt <felix.willgerodt@intel.com>
1901 * f-exp.h (eval_op_f_loc): Declare.
1902 (expr::fortran_loc_operation): New typedef.
1903 * f-exp.y (exp): Handle UNOP_FORTRAN_LOC after parsing an
1905 (f77_keywords): Add LOC keyword.
1906 * f-lang.c (eval_op_f_loc): New function.
1907 * std-operator.def (UNOP_FORTRAN_LOC): New operator.
1909 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
1911 * f-exp.h (eval_op_f_array_shape): Declare.
1912 (fortran_array_shape_operation): New type.
1913 * f-exp.y (exp): Handle UNOP_FORTRAN_SHAPE after parsing
1915 (f77_keywords): Add "shape" keyword.
1916 * f-lang.c (fortran_array_shape): New function.
1917 (eval_op_f_array_shape): New function.
1918 * std-operator.def (UNOP_FORTRAN_SHAPE): New operator.
1920 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
1922 * f-exp.y (eval_op_f_array_size): Declare 1 and 2 argument forms
1924 (expr::fortran_array_size_1arg): New type.
1925 (expr::fortran_array_size_2arg): Likewise.
1926 * f-exp.y (exp): Handle FORTRAN_ARRAY_SIZE after parsing
1927 UNOP_OR_BINOP_INTRINSIC.
1928 (f77_keywords): Add "size" keyword.
1929 * f-lang.c (fortran_array_size): New function.
1930 (eval_op_f_array_size): New function, has a 1 arg and 2 arg form.
1931 * std-operator.def (FORTRAN_ARRAY_SIZE): New operator.
1933 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
1935 * f-exp.h (eval_op_f_rank): Declare.
1936 (expr::fortran_rank_operation): New typedef.
1937 * f-exp.y (exp): Handle UNOP_FORTRAN_RANK after parsing an
1939 (f77_keywords): Add "rank" keyword.
1940 * f-lang.c (eval_op_f_rank): New function.
1941 * std-operator.def (UNOP_FORTRAN_RANK): New operator.
1943 2021-03-08 Tom Tromey <tom@tromey.com>
1945 * printcmd.c (set_command): Remove null check.
1946 * value.c (init_if_undefined_command): Remove null check.
1948 2021-03-08 Tom Tromey <tom@tromey.com>
1950 * parse.c (parser_state::push_symbol, parser_state::push_dollar):
1952 * p-exp.y (variable): Update.
1953 * go-exp.y (variable): Update.
1954 * expprint.c (dump_for_expression): Use bound_minimal_symbol.
1955 Remove overload for objfile.
1956 * expop.h (eval_op_var_msym_value): Use bound_minimal_symbol
1958 (check_objfile): Likewise.
1959 (dump_for_expression): Likewise. Remove overload for objfile.
1960 (class var_msym_value_operation): Use bound_minimal_symbol.
1961 * eval.c (eval_op_var_msym_value): Use bound_minimal_symbol
1963 (var_msym_value_operation::evaluate_for_address)
1964 (var_msym_value_operation::evaluate_for_sizeof)
1965 (var_msym_value_operation::evaluate_for_cast): Update.
1966 * d-exp.y (PrimaryExpression): Update.
1967 * c-exp.y (variable): Update.
1968 * ax-gdb.c (var_msym_value_operation::do_generate_ax): Update.
1969 * ada-lang.c (ada_var_msym_value_operation::evaluate_for_cast):
1971 * ada-exp.y (write_var_or_type): Update.
1973 2021-03-08 Tom Tromey <tom@tromey.com>
1975 * parser-defs.h (exp_uses_objfile): Return bool.
1976 * parse.c (exp_uses_objfile): Return bool.
1978 2021-03-08 Tom Tromey <tom@tromey.com>
1980 * value.h (eval_skip_value): Don't declare.
1981 * opencl-lang.c (eval_opencl_assign): Update.
1982 * m2-lang.c (eval_op_m2_high, eval_op_m2_subscript): Update.
1983 * f-lang.c (eval_op_f_abs, eval_op_f_mod, eval_op_f_ceil)
1984 (eval_op_f_floor, eval_op_f_modulo, eval_op_f_cmplx): Remove.
1985 * expression.h (enum noside) <EVAL_SKIP>: Remove.
1986 * expop.h (typeof_operation::evaluate)
1987 (decltype_operation::evaluate, unop_addr_operation::evaluate)
1988 (unop_sizeof_operation::evaluate, assign_operation::evaluate)
1989 (cxx_cast_operation::evaluate): Update.
1990 * eval.c (eval_skip_value): Remove.
1991 (eval_op_scope, eval_op_var_entry_value)
1992 (eval_op_func_static_var, eval_op_string, eval_op_objc_selector)
1993 (eval_op_concat, eval_op_ternop, eval_op_structop_struct)
1994 (eval_op_structop_ptr, eval_op_member, eval_op_add, eval_op_sub)
1995 (eval_op_binary, eval_op_subscript, eval_op_equal)
1996 (eval_op_notequal, eval_op_less, eval_op_gtr, eval_op_geq)
1997 (eval_op_leq, eval_op_repeat, eval_op_plus, eval_op_neg)
1998 (eval_op_complement, eval_op_lognot, eval_op_ind)
1999 (eval_op_memval, eval_op_preinc, eval_op_predec)
2000 (eval_op_postinc, eval_op_postdec, eval_op_type)
2001 (eval_binop_assign_modify, eval_op_objc_msgcall)
2002 (eval_multi_subscript, logical_and_operation::evaluate)
2003 (logical_or_operation::evaluate, array_operation::evaluate)
2004 (operation::evaluate_for_cast)
2005 (var_msym_value_operation::evaluate_for_cast)
2006 (var_value_operation::evaluate_for_cast): Update.
2007 * c-lang.c (c_string_operation::evaluate): Update.
2008 * c-exp.h (objc_nsstring_operation::evaluate)
2009 (objc_selector_operation::evaluate): Update.
2010 * ada-lang.c (ada_assign_operation::evaluate)
2011 (eval_ternop_in_range, ada_unop_neg, ada_unop_in_range)
2012 (ada_atr_size): Update.
2014 2021-03-08 Tom Tromey <tom@tromey.com>
2016 * eval.c: Merge "namespace" scopes.
2018 2021-03-08 Tom Tromey <tom@tromey.com>
2020 * parser-defs.h (struct expr_builder) <expr_builder>: Inline.
2022 * parse.c (expr_builder::expr_builder, expr_builder::release):
2025 2021-03-08 Tom Tromey <tom@tromey.com>
2027 * parse.c (expression::expression, expression::~expression):
2029 * expression.h (struct expression): Inline constructor. Remove
2032 2021-03-08 Tom Tromey <tom@tromey.com>
2034 * std-operator.def (BINOP_END): Remove.
2035 * p-exp.y (tokentab3, tokentab2): Use OP_NULL, not BINOP_END.
2036 * go-exp.y (tokentab2): Use OP_NULL, not BINOP_END.
2037 * f-exp.y (dot_ops, f77_keywords): Use OP_NULL, not BINOP_END.
2038 * d-exp.y (tokentab2, ident_tokens): Use OP_NULL, not BINOP_END.
2039 * c-exp.y (tokentab3, tokentab2, ident_tokens): Use OP_NULL, not
2042 2021-03-08 Tom Tromey <tom@tromey.com>
2044 * expression.h (enum exp_opcode) <OP_UNUSED_LAST>: Remove.
2046 2021-03-08 Tom Tromey <tom@tromey.com>
2048 * std-operator.def (OP_EXTENDED0): Remove.
2050 2021-03-08 Tom Tromey <tom@tromey.com>
2052 * std-operator.def (OP_NAME, OP_ATR_IMAGE, OP_ATR_MODULUS)
2053 (OP_OTHERS, OP_CHOICES, OP_POSITIONAL, OP_DISCRETE_RANGE):
2056 2021-03-08 Tom Tromey <tom@tromey.com>
2058 * std-operator.def (UNOP_CAP, UNOP_CHR, UNOP_ORD, UNOP_FLOAT)
2059 (UNOP_MAX, UNOP_MIN, UNOP_ODD, UNOP_TRUNC, OP_M2_STRING): Remove.
2061 2021-03-08 Tom Tromey <tom@tromey.com>
2063 * std-operator.def (OP_ATR_MIN, OP_ATR_MAX): Remove.
2064 * ada-lang.c (ada_binop_minmax): Update.
2065 * ada-exp.h (ada_binop_min_operation, ada_binop_max_operation):
2066 Use BINOP_MIN and BINOP_MAX.
2068 2021-03-08 Tom Tromey <tom@tromey.com>
2070 * value.h (evaluate_subexp_with_coercion): Don't declare.
2071 * parse.c (exp_descriptor_standard): Remove.
2072 (expr_builder::expr_builder, expr_builder::release): Update.
2073 (expression::expression): Remove size_t parameter.
2074 (expression::~expression): Simplify.
2075 (expression::resize): Remove.
2076 (write_exp_elt, write_exp_elt_opcode, write_exp_elt_sym)
2077 (write_exp_elt_msym, write_exp_elt_block, write_exp_elt_objfile)
2078 (write_exp_elt_longcst, write_exp_elt_floatcst)
2079 (write_exp_elt_type, write_exp_elt_intern, write_exp_string)
2080 (write_exp_string_vector, write_exp_bitstring): Remove.
2081 * p-lang.h (class pascal_language) <opcode_print_table,
2082 op_print_tab>: Remove.
2083 * p-lang.c (pascal_language::op_print_tab): Remove.
2084 * opencl-lang.c (class opencl_language) <opcode_print_table>:
2086 * objc-lang.c (objc_op_print_tab): Remove.
2087 (class objc_language) <opcode_print_table>: Remove.
2088 * m2-lang.h (class m2_language) <opcode_print_table,
2089 op_print_tab>: Remove.
2090 * m2-lang.c (m2_language::op_print_tab): Remove.
2091 * language.h (struct language_defn) <post_parser, expression_ops,
2092 opcode_print_table>: Remove.
2093 * language.c (language_defn::expression_ops)
2094 (auto_or_unknown_language::opcode_print_table): Remove.
2095 * go-lang.h (class go_language) <opcode_print_table,
2096 op_print_tab>: Remove.
2097 * go-lang.c (go_language::op_print_tab): Remove.
2098 * f-lang.h (class f_language) <opcode_print_table>: Remove
2099 <op_print_tab>: Remove.
2100 * f-lang.c (f_language::op_print_tab): Remove.
2101 * expression.h (union exp_element): Remove.
2102 (struct expression): Remove size_t parameter from constructor.
2104 <first_opcode>: Update.
2105 <nelts, elts>: Remove.
2106 (EXP_ELEM_TO_BYTES, BYTES_TO_EXP_ELEM): Remove.
2107 (evaluate_subexp_standard, print_expression, op_string)
2108 (dump_raw_expression): Don't declare.
2109 * expprint.c (print_expression, print_subexp)
2110 (print_subexp_funcall, print_subexp_standard, op_string)
2111 (dump_raw_expression, dump_subexp, dump_subexp_body)
2112 (dump_subexp_body_funcall, dump_subexp_body_standard): Remove.
2113 (dump_prefix_expression): Update.
2114 * eval.c (evaluate_subexp): Remove.
2115 (evaluate_expression, evaluate_type): Update.
2116 (evaluate_subexpression_type): Remove.
2117 (fetch_subexp_value): Remove "pc" parameter. Update.
2118 (extract_field_op, evaluate_struct_tuple, evaluate_funcall)
2119 (evaluate_subexp_standard, evaluate_subexp_for_address)
2120 (evaluate_subexp_with_coercion, evaluate_subexp_for_sizeof)
2121 (evaluate_subexp_for_cast): Remove.
2122 (parse_and_eval_type): Update.
2123 * dtrace-probe.c (dtrace_probe::compile_to_ax): Update.
2124 * d-lang.c (d_op_print_tab): Remove.
2125 (class d_language) <opcode_print_table>: Remove.
2126 * c-lang.h (c_op_print_tab): Don't declare.
2127 * c-lang.c (c_op_print_tab): Remove.
2128 (class c_language, class cplus_language, class asm_language, class
2129 minimal_language) <opcode_print_table>: Remove.
2130 * breakpoint.c (update_watchpoint, watchpoint_check)
2131 (watchpoint_exp_is_const, watch_command_1): Update.
2132 * ax-gdb.h (union exp_element): Don't declare.
2133 * ax-gdb.c (const_var_ref, const_expr, maybe_const_expr)
2134 (gen_repeat, gen_sizeof, gen_expr_for_cast, gen_expr)
2135 (gen_expr_binop_rest): Remove.
2136 (gen_trace_for_expr, gen_eval_for_expr, gen_printf): Update.
2137 * ada-lang.c (ada_op_print_tab): Remove.
2138 (class ada_language) <post_parser, opcode_print_table>: Remove.
2140 2021-03-08 Tom Tromey <tom@tromey.com>
2142 * go-lang.c (go_language::expression_ops): Don't declare.
2143 * go-lang.h (class go_language) <expression_ops>: Remove.
2144 * opencl-lang.c (evaluate_subexp_opencl, exp_descriptor_opencl):
2146 (class opencl_language) <expression_ops>: Remove.
2147 * d-lang.c (class d_language) <expression_ops>: Remove.
2148 * c-lang.h (evaluate_subexp_c, exp_descriptor_c): Don't declare.
2149 * c-lang.c (evaluate_subexp_c, exp_descriptor_c): Remove.
2150 (class c_language, class cplus_language, class asm_language)
2151 (class minimal_language) <expression_ops>: Remove.
2153 2021-03-08 Tom Tromey <tom@tromey.com>
2155 * ada-lang.c (resolve_subexp, replace_operator_with_call)
2156 (evaluate_subexp_type, assign_aggregate)
2157 (aggregate_assign_positional, aggregate_assign_from_choices)
2158 (aggregate_assign_others, ada_evaluate_subexp_for_cast)
2159 (ada_evaluate_subexp, ADA_OPERATORS, ada_operator_length)
2160 (ada_operator_check, ada_forward_operator_length)
2161 (ada_dump_subexp_body, ada_print_subexp, ada_exp_descriptor):
2163 (post_parser): Update.
2164 (class ada_language) <expresssion_ops>: Remove.
2166 2021-03-08 Tom Tromey <tom@tromey.com>
2168 * m2-lang.h (class m2_language) <expresssion_ops,
2169 exp_descriptor_modula2>: Remove.
2170 * m2-lang.c (evaluate_subexp_modula2)
2171 (m2_language::exp_descriptor_modula2): Remove.
2173 2021-03-08 Tom Tromey <tom@tromey.com>
2175 * f-lang.h (class f_language) <expresssion_ops>: Remove.
2176 <exp_descriptor_tab>: Remove.
2177 * f-lang.c (fortran_value_subarray, evaluate_subexp_f)
2178 (operator_length_f, print_unop_subexp_f, print_binop_subexp_f)
2179 (print_subexp_f, dump_subexp_body_f, operator_check_f)
2180 (f_language::exp_descriptor_tab, fortran_prepare_argument):
2183 2021-03-08 Tom Tromey <tom@tromey.com>
2185 * rust-lang.h (class rust_language) <expression_ops,
2186 exp_descriptor_tab>: Remove.
2187 * rust-lang.c (rust_evaluate_funcall): Remove.
2188 (rust_range, rust_subscript, eval_op_rust_complement): Don't use
2190 (rust_evaluate_subexp): Remove.
2191 (rust_aggregate_operation::evaluate): Don't use EVAL_SKIP.
2192 (rust_operator_length, rust_dump_subexp_body, rust_print_subexp)
2193 (rust_operator_check, rust_language::exp_descriptor_tab): Remove.
2195 2021-03-08 Tom Tromey <tom@tromey.com>
2197 * ada-exp.y: Create operations.
2198 (empty_stoken): Remove.
2199 (ada_pop, ada_wrap, ada_addrof, ada_un_wrap2, ada_wrap2)
2200 (ada_wrap_op, ada_wrap3, ada_funcall): New functions.
2201 (components): New global.
2202 (push_component, choice_component, pop_component, pop_components):
2204 (associations): New global
2205 (push_association, pop_association, pop_associations): New
2207 (ada_parse): Update.
2208 (write_var_from_sym, write_int): Create operations.
2209 (write_exp_op_with_string): Remove.
2210 (write_object_renaming, write_selectors, write_ambiguous_var)
2211 (write_var_or_type, write_name_assoc): Create operations.
2212 * ada-lang.h (ada_index_type): Declare.
2213 * ada-lang.c (ada_index_type): No longer static.
2215 2021-03-08 Tom Tromey <tom@tromey.com>
2217 * f-exp.y: Create operations.
2218 (f_language::parser): Update.
2220 2021-03-08 Tom Tromey <tom@tromey.com>
2222 * m2-exp.y: Create operations.
2223 (m2_language::parser): Update.
2225 2021-03-08 Tom Tromey <tom@tromey.com>
2227 * p-exp.y: Create operations.
2228 (pascal_language::parser): Update.
2230 2021-03-08 Tom Tromey <tom@tromey.com>
2232 * d-exp.y: Create operations.
2235 2021-03-08 Tom Tromey <tom@tromey.com>
2237 * go-exp.y: Create operations.
2238 (go_language::parser): Update.
2240 2021-03-08 Tom Tromey <tom@tromey.com>
2242 * objc-lang.c (end_msglist): Create operations.
2243 * c-exp.y: Change parser to create operations.
2244 (write_destructor_name): Remove.
2247 2021-03-08 Tom Tromey <tom@tromey.com>
2249 * rust-exp.y: Create operations.
2250 (rust_parser::convert_params_to_expression): Change return type.
2251 (binop_maker_ftype): New typedef.
2252 (maker_map): New global.
2253 (rust_parser::convert_ast_to_expression): Change return type.
2254 (rust_language::parser): Update.
2255 (_initialize_rust_exp): Initialize maker_map.
2257 2021-03-08 Tom Tromey <tom@tromey.com>
2259 * stap-probe.c (binop_maker_ftype): New typedef.
2260 (stap_maker_map): New global.
2261 (stap_make_binop): New function.
2262 (stap_parse_register_operand): Return operation_up.
2263 (stap_parse_single_operand, stap_parse_argument_conditionally)
2264 (stap_parse_argument_1): Likewise.
2265 (stap_parse_argument): Create operations.
2266 (stap_probe::parse_arguments): Update.
2267 (_initialize_stap_probe): Initialize stap_maker_map.
2268 * ppc-linux-tdep.c (ppc_stap_parse_special_token): Change return
2270 * i386-tdep.h (i386_stap_parse_special_token): Change return
2272 * i386-tdep.c (i386_stap_parse_special_token_triplet)
2273 (i386_stap_parse_special_token_three_arg_disp)
2274 (i386_stap_parse_special_token): Change return type.
2275 * gdbarch.sh (stap_parse_special_token): Change return type.
2276 * gdbarch.c: Rebuild.
2277 * gdbarch.h: Rebuild.
2278 * arm-linux-tdep.c (arm_stap_parse_special_token): Change return
2280 * aarch64-linux-tdep.c (aarch64_stap_parse_special_token): Change
2283 2021-03-08 Tom Tromey <tom@tromey.com>
2285 * gdbarch.sh (dtrace_parse_probe_argument): Change return type.
2286 * gdbarch.h: Rebuild.
2287 * gdbarch.c: Rebuild.
2288 * dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
2289 * amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Change
2291 (amd64_dtrace_parse_probe_argument): Update.
2293 2021-03-08 Tom Tromey <tom@tromey.com>
2295 * parser-defs.h (struct parser_state) <push, push_new,
2296 push_c_string, push_symbol, push_dollar, pop, pop_vector, wrap,
2297 wrap2>: New methods.
2298 <m_operations>: New member.
2299 * parse.c (parser_state::push_c_string)
2300 (parser_state::push_symbol, parser_state::push_dollar): New
2303 2021-03-08 Tom Tromey <tom@tromey.com>
2305 * parser-defs.h (struct expr_completion_state) <expout_last_op>:
2307 (struct parser_state) <mark_struct_expression>: New method.
2308 * parse.c (parser_state::mark_struct_expression): Update assert.
2309 (parser_state::mark_struct_expression): New method.
2310 (parser_state::mark_completion_tag): Update assert.
2311 (parse_expression_for_completion): Handle expout_last_op.
2313 2021-03-08 Tom Tromey <tom@tromey.com>
2315 * ada-exp.h (class ada_var_value_operation) <get_symbol>: Remove;
2317 * value.h (fetch_subexp_value): Add "op" parameter.
2318 * value.c (init_if_undefined_command): Update.
2319 * tracepoint.c (validate_actionline, encode_actions_1): Update.
2320 * stap-probe.c (stap_probe::compile_to_ax): Update.
2321 * printcmd.c (set_command): Update.
2322 * ppc-linux-nat.c (ppc_linux_nat_target::check_condition):
2324 * parser-defs.h (struct expr_builder) <set_operation>: New
2326 * parse.c (parse_exp_in_context, exp_uses_objfile): Update.
2327 * expression.h (struct expression) <first_opcode>: Update.
2329 * expprint.c (dump_raw_expression, dump_prefix_expression):
2331 * expop.h (class var_value_operation) <get_symbol>: New method.
2332 (class register_operation) <get_name>: New method.
2333 (class equal_operation): No longer a typedef, now a subclass.
2334 (class unop_memval_operation) <get_type>: New method.
2335 (class assign_operation) <get_lhs>: New method.
2336 (class unop_cast_operation) <get_type>: New method.
2337 * eval.c (evaluate_expression, evaluate_type)
2338 (evaluate_subexpression_type): Update.
2339 (fetch_subexp_value): Add "op" parameter.
2340 (parse_and_eval_type): Update.
2341 * dtrace-probe.c (dtrace_probe::compile_to_ax): Update.
2342 * breakpoint.c (update_watchpoint, watchpoint_check)
2343 (watchpoint_exp_is_const, watch_command_1): Update.
2344 * ax-gdb.c (gen_trace_for_expr, gen_eval_for_expr, gen_printf):
2347 2021-03-08 Tom Tromey <tom@tromey.com>
2349 * ada-lang.c (ada_value_binop): Do not use op_string.
2351 2021-03-08 Tom Tromey <tom@tromey.com>
2353 * expprint.c (dump_for_expression): New overload.
2354 * expop.h (check_objfile, dump_for_expression): Declare new
2356 * ada-lang.c (check_objfile): New overload.
2357 (assign_component, ada_aggregate_component::uses_objfile)
2358 (ada_aggregate_component::dump, ada_aggregate_component::assign)
2359 (ada_aggregate_component::assign_aggregate)
2360 (ada_positional_component::uses_objfile)
2361 (ada_positional_component::dump, ada_positional_component::assign)
2362 (ada_discrete_range_association::uses_objfile)
2363 (ada_discrete_range_association::dump)
2364 (ada_discrete_range_association::assign)
2365 (ada_name_association::uses_objfile, ada_name_association::dump)
2366 (ada_name_association::assign)
2367 (ada_choices_component::uses_objfile, ada_choices_component::dump)
2368 (ada_choices_component::assign)
2369 (ada_others_component::uses_objfile, ada_others_component::dump)
2370 (ada_others_component::assign, ada_assign_operation::evaluate):
2372 * ada-exp.h (ada_string_operation) <get_name>: New method.
2373 (class ada_assign_operation): New.
2374 (class ada_component): New.
2375 (ada_component_up): New typedef.
2376 (class ada_aggregate_operation, class ada_aggregate_component)
2377 (class ada_positional_component, class ada_others_component)
2378 (class ada_association): New.
2379 (ada_association_up): New typedef.
2380 (class ada_choices_component)
2381 (class ada_discrete_range_association)
2382 (class ada_name_association): New.
2384 2021-03-08 Tom Tromey <tom@tromey.com>
2386 * ada-lang.c (ada_var_value_operation::resolve)
2387 (ada_funcall_operation::resolve)
2388 (ada_ternop_slice_operation::resolve): New methods.
2389 * ada-exp.h (struct ada_resolvable): New.
2390 (class ada_var_value_operation): Derive from ada_resolvable.
2391 <get_block, resolve>: New methods.
2392 (class ada_funcall_operation): Derive from ada_resolvable.
2393 <resolve>: New method.
2394 (class ada_ternop_slice_operation): Derive from ada_resolvable.
2395 <resolve>: New method.
2397 2021-03-08 Tom Tromey <tom@tromey.com>
2399 * ada-lang.c (ada_funcall_operation::evaluate): New method.
2400 * ada-exp.h (class ada_var_msym_value_operation) <get_symbol>: New
2402 (class ada_funcall_operation): New.
2404 2021-03-08 Tom Tromey <tom@tromey.com>
2406 * ada-lang.c (ada_structop_operation::evaluate): New method.
2407 * ada-exp.h (class ada_structop_operation): New.
2409 2021-03-08 Tom Tromey <tom@tromey.com>
2411 * ada-lang.c (ada_unop_ind_operation::evaluate): New method.
2412 * ada-exp.h (class ada_unop_ind_operation): New.
2414 2021-03-08 Tom Tromey <tom@tromey.com>
2416 * ada-lang.c (ada_binop_exp): No longer static.
2417 * ada-exp.h (ada_binop_exp_operation): New typedef.
2419 2021-03-08 Tom Tromey <tom@tromey.com>
2421 * ada-lang.c (ada_val_atr): No longer static.
2422 (ada_atr_val_operation::evaluate): New method.
2423 * ada-exp.h (class ada_atr_val_operation): New.
2425 2021-03-08 Tom Tromey <tom@tromey.com>
2427 * ada-lang.c (ada_pos_atr): No longer static.
2428 * ada-exp.h (ada_pos_operation): New typedef.
2430 2021-03-08 Tom Tromey <tom@tromey.com>
2432 * ada-lang.c (ada_pos_atr): Rename from value_pos_atr. Change
2434 (ada_evaluate_subexp): Use it.
2436 2021-03-08 Tom Tromey <tom@tromey.com>
2438 * ada-lang.c (ada_binop_minmax): No longer static.
2439 * ada-exp.h (ada_binop_min_operation, ada_binop_max_operation):
2442 2021-03-08 Tom Tromey <tom@tromey.com>
2444 * ada-lang.c (ada_var_msym_value_operation::evaluate_for_cast):
2446 * ada-exp.h (class ada_var_msym_value_operation): New.
2448 2021-03-08 Tom Tromey <tom@tromey.com>
2450 * ada-lang.c (ada_var_value_operation::evaluate_for_cast)
2451 (ada_var_value_operation::evaluate): New methods.
2452 * ada-exp.h (class ada_var_value_operation): New.
2454 2021-03-08 Tom Tromey <tom@tromey.com>
2456 * ada-lang.c (ada_unop_atr_operation::evaluate): New method.
2457 * ada-exp.h (class ada_unop_atr_operation): New.
2459 2021-03-08 Tom Tromey <tom@tromey.com>
2461 * ada-lang.c (ada_binop_in_bounds): No longer static.
2462 * ada-exp.h (class ada_binop_in_bounds_operation): New.
2464 2021-03-08 Tom Tromey <tom@tromey.com>
2466 * ada-lang.c (ada_ternop_slice): No longer static.
2467 * ada-exp.h (class ada_ternop_slice_operation): New.
2469 2021-03-08 Tom Tromey <tom@tromey.com>
2471 * ada-exp.h (ada_bitwise_operation): New template class.
2472 (ada_bitwise_and_operation, ada_bitwise_ior_operation)
2473 (ada_bitwise_xor_operation): New typedefs.
2475 2021-03-08 Tom Tromey <tom@tromey.com>
2477 * ada-lang.c (ada_equal_binop): No longer static.
2478 * ada-exp.h (class ada_binop_equal_operation): New.
2480 2021-03-08 Tom Tromey <tom@tromey.com>
2482 * ada-lang.c (ada_mult_binop): No longer static.
2483 * ada-exp.h (ada_binop_mul_operation ada_binop_div_operation)
2484 (ada_binop_rem_operation, ada_binop_mod_operation): New typedefs.
2486 2021-03-08 Tom Tromey <tom@tromey.com>
2488 * ada-lang.c (ada_binop_addsub_operation::evaluate): New method.
2489 * ada-exp.h (class ada_binop_addsub_operation): New.
2491 2021-03-08 Tom Tromey <tom@tromey.com>
2493 * ada-lang.h (ada_find_operator_symbol, ada_resolve_funcall)
2494 (ada_resolve_variable): Declare.
2495 * ada-lang.c (ada_find_operator_symbol, ada_resolve_funcall)
2496 (ada_resolve_variable): New functions.
2497 (resolve_subexp): Update.
2499 2021-03-08 Tom Tromey <tom@tromey.com>
2501 * opencl-lang.c (opencl_ternop_cond_operation::evaluate): New
2503 * c-exp.h (class opencl_ternop_cond_operation): New.
2505 2021-03-08 Tom Tromey <tom@tromey.com>
2507 * opencl-lang.c (opencl_logical_binop_operation::evaluate): New
2509 * c-exp.h (class opencl_logical_binop_operation): New.
2511 2021-03-08 Tom Tromey <tom@tromey.com>
2513 * opencl-lang.c (opencl_structop_operation::evaluate): New
2515 * c-exp.h (class opencl_structop_operation): New.
2517 2021-03-08 Tom Tromey <tom@tromey.com>
2519 * opencl-lang.c (opencl_logical_not): No longer static. Change
2521 (evaluate_subexp_opencl): Update.
2522 * c-exp.h (opencl_notequal_operation): New typedef.
2524 2021-03-08 Tom Tromey <tom@tromey.com>
2526 * opencl-lang.c (opencl_relop, eval_opencl_assign): No longer
2527 static. Change parameters.
2528 (eval_opencl_assign): No longer static. Add "op" parameter.
2529 (evaluate_subexp_opencl): Update.
2530 * c-exp.h (opencl_binop_operation): New template class.
2531 (opencl_assign_operation, opencl_equal_operation)
2532 (opencl_notequal_operation, opencl_less_operation)
2533 (opencl_gtr_operation, opencl_geq_operation)
2534 (opencl_leq_operation): New typedefs.
2536 2021-03-08 Tom Tromey <tom@tromey.com>
2538 * opencl-lang.c (opencl_value_cast): No longer static.
2539 * c-exp.h (opencl_cast_type_operation): New typedef.
2541 2021-03-08 Tom Tromey <tom@tromey.com>
2543 * f-exp.h (eval_op_f_allocated): Declare.
2544 (fortran_allocated_operation): New typedef.
2545 * f-lang.c (eval_op_f_allocated): No longer static.
2547 2021-03-08 Tom Tromey <tom@tromey.com>
2549 * f-lang.c (eval_op_f_associated): New functions.
2550 * f-exp.h (fortran_associated_1arg, fortran_associated_2arg): New
2553 2021-03-08 Tom Tromey <tom@tromey.com>
2555 * f-lang.c (fortran_bound_1arg::evaluate)
2556 (fortran_bound_2arg::evaluate): New methods.
2557 * f-exp.h (class fortran_bound_1arg, class fortran_bound_2arg):
2560 2021-03-08 Tom Tromey <tom@tromey.com>
2562 * expop.h (class unop_addr_operation) <get_expression>: New
2564 * f-lang.c (fortran_undetermined::value_subarray)
2565 (fortran_undetermined::evaluate): New methods.
2566 (fortran_prepare_argument): New overload.
2567 * f-exp.h (class fortran_range_operation)
2568 (class fortran_undetermined): New classes.
2570 2021-03-08 Tom Tromey <tom@tromey.com>
2572 * rust-lang.c (rust_structop::evaluate_funcall): New method.
2573 * rust-exp.h (class rust_structop) <evaluate_funcall>: Declare
2576 2021-03-08 Tom Tromey <tom@tromey.com>
2578 * expression.h (class operation) <evaluate_funcall>: New methods.
2579 * expop.h (class scope_operation) <evaluate_funcall>: New method.
2580 (class var_value_operation) <evaluate_funcall>: New method.
2581 (class structop_base_operation) <evaluate_funcall>: New method.
2582 (class var_msym_value_operation) <evaluate_funcall>: New method.
2583 (class structop_member_base): New class.
2584 (class structop_member_operation): Derive from
2585 structop_member_base.
2586 (class structop_mptr_operation): Derive from
2587 structop_member_base.
2588 (class funcall_operation): New class.
2589 * eval.c (operation::evaluate_funcall)
2590 (var_value_operation::evaluate_funcall)
2591 (scope_operation::evaluate_funcall)
2592 (structop_member_base::evaluate_funcall)
2593 (structop_base_operation::evaluate_funcall): New methods.
2595 2021-03-08 Tom Tromey <tom@tromey.com>
2597 * expop.h (class array_operation): New.
2598 * eval.c (array_operation::evaluate_struct_tuple)
2599 (array_operation::evaluate): New methods.
2601 2021-03-08 Tom Tromey <tom@tromey.com>
2603 * expop.h (class adl_func_operation): New.
2604 * eval.c (adl_func_operation::evaluate): New method.
2606 2021-03-08 Tom Tromey <tom@tromey.com>
2608 * ada-lang.c (ada_unop_in_range): No longer static.
2609 * ada-exp.h (class ada_unop_range_operation): New.
2611 2021-03-08 Tom Tromey <tom@tromey.com>
2613 * ada-lang.c (ada_unop_neg, ada_atr_tag, ada_atr_size, ada_abs):
2615 * ada-exp.h (ada_neg_operation, ada_atr_tag_operation)
2616 (ada_atr_size_operation, ada_abs_operation): New typedefs.
2618 2021-03-08 Tom Tromey <tom@tromey.com>
2620 * expop.h (class logical_and_operation)
2621 (class logical_or_operation): New.
2622 * eval.c (logical_and_operation::evaluate)
2623 (logical_or_operation::evaluate): New methods.
2624 * ax-gdb.c (logical_and_operation::do_generate_ax)
2625 (logical_or_operation::do_generate_ax): New methods.
2627 2021-03-08 Tom Tromey <tom@tromey.com>
2629 * m2-lang.c (eval_op_m2_high, eval_op_m2_subscript): No longer
2631 * m2-exp.h: New file.
2633 2021-03-08 Tom Tromey <tom@tromey.com>
2635 * rust-lang.c (rust_aggregate_operation::evaluate): New method.
2636 * rust-exp.h (class rust_aggregate_operation): New.
2638 2021-03-08 Tom Tromey <tom@tromey.com>
2640 * rust-lang.c (eval_op_rust_struct_anon, eval_op_rust_structop):
2642 * rust-exp.h (class rust_struct_anon): New.
2643 (class rust_structop): New.
2645 2021-03-08 Tom Tromey <tom@tromey.com>
2647 * rust-lang.c (rust_range): No longer static.
2648 * rust-exp.h (class rust_range_operation): New.
2650 2021-03-08 Tom Tromey <tom@tromey.com>
2652 * rust-lang.c (rust_subscript): No longer static.
2653 * rust-exp.h (class rust_subscript_operation): New.
2655 2021-03-08 Tom Tromey <tom@tromey.com>
2657 * rust-lang.c (eval_op_rust_ind): No longer static. Add "opcode"
2659 (rust_evaluate_subexp): Update.
2660 * rust-exp.h (class rust_unop_ind_operation): New.
2662 2021-03-08 Tom Tromey <tom@tromey.com>
2664 * rust-lang.c (eval_op_rust_complement, eval_op_rust_array): No
2665 longer static. Add "opcode" parameter.
2666 (rust_evaluate_subexp): Update.
2667 * rust-exp.h: New file.
2669 2021-03-08 Tom Tromey <tom@tromey.com>
2671 * f-lang.c (eval_op_f_abs, eval_op_f_mod, eval_op_f_ceil)
2672 (eval_op_f_floor, eval_op_f_modulo, eval_op_f_cmplx)
2673 (eval_op_f_kind): No longer static. Add "opcode" parameter.
2674 (evaluate_subexp_f): Update.
2675 * f-exp.h: New file.
2677 2021-03-08 Tom Tromey <tom@tromey.com>
2679 * ada-lang.c (ada_ternop_range_operation::evaluate): New method.
2680 * ada-exp.h (class ada_ternop_range_operation): New.
2682 2021-03-08 Tom Tromey <tom@tromey.com>
2684 * ada-lang.c (ada_qual_operation::evaluate): New method.
2685 * ada-exp.h (class ada_qual_operation): New.
2687 2021-03-08 Tom Tromey <tom@tromey.com>
2689 * ada-lang.c (ada_string_operation::evaluate): New method.
2690 * ada-exp.h (class ada_string_operation): New.
2692 2021-03-08 Tom Tromey <tom@tromey.com>
2694 * ada-lang.c (ada_wrapped_operation::evaluate): New method.
2695 * ada-exp.h: New file.
2697 2021-03-08 Tom Tromey <tom@tromey.com>
2699 * expop.h (class multi_subscript_operation): New.
2700 * eval.c (multi_subscript_operation::evaluate): New method.
2702 2021-03-08 Tom Tromey <tom@tromey.com>
2704 * eval.c (objc_msgcall_operation::evaluate): New method.
2705 * c-exp.h (class objc_msgcall_operation): New.
2707 2021-03-08 Tom Tromey <tom@tromey.com>
2709 * expop.h (class var_value_operation): New.
2710 * eval.c (var_value_operation::evaluate)
2711 (var_value_operation::evaluate_for_address)
2712 (var_value_operation::evaluate_with_coercion)
2713 (var_value_operation::evaluate_for_sizeof)
2714 (var_value_operation::evaluate_for_cast): New methods.
2715 * ax-gdb.c (var_value_operation::do_generate_ax): New method.
2717 2021-03-08 Tom Tromey <tom@tromey.com>
2719 * expop.h (cxx_cast_ftype): New typedef.
2720 (cxx_cast_operation): New template.
2721 (dynamic_cast_operation, reinterpret_cast_operation): New
2724 2021-03-08 Tom Tromey <tom@tromey.com>
2726 * expop.h (class unop_cast_type_operation): New.
2727 * ax-gdb.c (unop_cast_type_operation::do_generate_ax): New
2730 2021-03-08 Tom Tromey <tom@tromey.com>
2732 * expop.h (class unop_cast_operation): New.
2733 * ax-gdb.c (unop_cast_operation::do_generate_ax): New method.
2735 2021-03-08 Tom Tromey <tom@tromey.com>
2737 * expop.h (class assign_modify_operation): New.
2738 * eval.c (eval_binop_assign_modify): No longer static.
2739 * ax-gdb.c (assign_modify_operation::do_generate_ax): New method.
2741 2021-03-08 Tom Tromey <tom@tromey.com>
2743 * expop.h (class assign_operation): New.
2744 * ax-gdb.c (assign_operation::do_generate_ax): New method.
2746 2021-03-08 Tom Tromey <tom@tromey.com>
2748 * expop.h (class type_instance_operation): New.
2749 * eval.c (type_instance_operation::evaluate): New method.
2751 2021-03-08 Tom Tromey <tom@tromey.com>
2753 * expop.h (class op_this_operation): New.
2754 * ax-gdb.c (op_this_operation::do_generate_ax): New method.
2756 2021-03-08 Tom Tromey <tom@tromey.com>
2758 * expop.h (class unop_memval_operation)
2759 (class unop_memval_type_operation): New.
2760 * eval.c (eval_op_memval): No longer static.
2761 (unop_memval_operation::evaluate_for_address)
2762 (unop_memval_type_operation::evaluate_for_address)
2763 (unop_memval_operation::evaluate_for_sizeof)
2764 (unop_memval_type_operation::evaluate_for_sizeof): New methods.
2765 * ax-gdb.c (unop_memval_operation::do_generate_ax)
2766 (unop_memval_type_operation::do_generate_ax): New methods.
2768 2021-03-08 Tom Tromey <tom@tromey.com>
2770 * expop.h (class unop_alignof_operation): New.
2771 * eval.c (eval_op_alignof): No longer static.
2773 2021-03-08 Tom Tromey <tom@tromey.com>
2775 * expop.h (class unop_sizeof_operation): New.
2776 * ax-gdb.c (unop_sizeof_operation::do_generate_ax): New method.
2778 2021-03-08 Tom Tromey <tom@tromey.com>
2780 * expop.h (class unop_addr_operation): New.
2781 * ax-gdb.c (gen_expr_unop) <case UNOP_ADDR>: New.
2783 2021-03-08 Tom Tromey <tom@tromey.com>
2785 * expop.h (class typeid_operation): New.
2787 2021-03-08 Tom Tromey <tom@tromey.com>
2789 * expop.h (class decltype_operation): New.
2791 2021-03-08 Tom Tromey <tom@tromey.com>
2793 * expop.h (class typeof_operation): New.
2795 2021-03-08 Tom Tromey <tom@tromey.com>
2797 * expop.h (class type_operation): New.
2798 * eval.c (eval_op_type): No longer static.
2800 2021-03-08 Tom Tromey <tom@tromey.com>
2802 * expop.h (class unop_ind_base_operation)
2803 (class unop_ind_operation): New.
2804 * eval.c (eval_op_ind): No longer static. Remove "op" parameter.
2805 (unop_ind_base_operation::evaluate_for_address)
2806 (unop_ind_base_operation::evaluate_for_sizeof): New method.
2807 * ax-gdb.c (gen_expr_unop) <case UNOP_IND>: New.
2809 2021-03-08 Tom Tromey <tom@tromey.com>
2811 * expop.h (unop_incr_operation): New template.
2812 (preinc_operation, predec_operation, postinc_operation)
2813 (postdec_operation): New typedefs.
2814 * eval.c (eval_op_preinc, eval_op_predec, eval_op_postinc)
2815 (eval_op_postdec): No longer static.
2817 2021-03-08 Tom Tromey <tom@tromey.com>
2819 * expop.h (unary_ftype): New typedef.
2820 (unop_operation, usual_ax_binop_operation): New templates.
2821 (unary_plus_operation, unary_neg_operation)
2822 (unary_complement_operation, unary_logical_not_operation): New
2824 * eval.c (eval_op_plus, eval_op_neg, eval_op_complement)
2825 (eval_op_lognot): No longer static.
2826 * ax-gdb.c (gen_expr_unop): New function.
2828 2021-03-08 Tom Tromey <tom@tromey.com>
2830 * ax-gdb.c (comma_operation::do_generate_ax): New method.
2832 2021-03-08 Tom Tromey <tom@tromey.com>
2834 * expop.h (class repeat_operation): New.
2835 * eval.c (eval_op_repeat): No longer static. Remove "op"
2837 (evaluate_subexp_standard): Update.
2838 * ax-gdb.c (repeat_operation::do_generate_ax): New method.
2840 2021-03-08 Tom Tromey <tom@tromey.com>
2842 * expop.h (class comparison_operation): New.
2843 (equal_operation, notequal_operation, less_operation)
2844 (gtr_operation, geq_operation, leq_operation): New typedefs.
2845 * eval.c (eval_op_equal, eval_op_notequal, eval_op_less)
2846 (eval_op_gtr, eval_op_geq, eval_op_leq): No longer static.
2848 2021-03-08 Tom Tromey <tom@tromey.com>
2850 * expop.h (class subscript_operation): New.
2851 * eval.c (eval_op_subscript): No longer static.
2853 2021-03-08 Tom Tromey <tom@tromey.com>
2855 * expop.h (class binop_operation, class usual_ax_binop_operation):
2857 (exp_operation, intdiv_operation, mod_operation, mul_operation)
2858 (div_operation, rem_operation, lsh_operation, rsh_operation)
2859 (bitwise_and_operation, bitwise_ior_operation)
2860 (bitwise_xor_operation): New typedefs.
2861 * eval.c (eval_op_binary): No longer static.
2863 2021-03-08 Tom Tromey <tom@tromey.com>
2865 * expop.h (class sub_operation): New.
2866 * eval.c (eval_op_sub): No longer static. Remove "op" parameter.
2867 (evaluate_subexp_standard): Update.
2869 2021-03-08 Tom Tromey <tom@tromey.com>
2871 * expop.h (class add_operation): New.
2872 * eval.c (eval_op_add): No longer static. Remove "op" parameter.
2873 (evaluate_subexp_standard): Update.
2875 2021-03-08 Tom Tromey <tom@tromey.com>
2877 * expop.h (class concat_operation): New.
2878 * eval.c (eval_op_concat): No longer static. Remove "op"
2880 (evaluate_subexp_standard): Update.
2882 2021-03-08 Tom Tromey <tom@tromey.com>
2884 * expop.h (class structop_member_operation)
2885 (class structop_mptr_operation): New.
2886 * eval.c (eval_op_member): No longer static.
2888 2021-03-08 Tom Tromey <tom@tromey.com>
2890 * expop.h (class structop_ptr_operation): New.
2891 * eval.c (eval_op_structop_ptr): No longer static. Remove "op"
2894 2021-03-08 Tom Tromey <tom@tromey.com>
2896 * expop.h (class structop_base_operation)
2897 (class structop_operation): New.
2898 * eval.c (eval_op_structop_struct): No longer static.
2900 2021-03-08 Tom Tromey <tom@tromey.com>
2902 * expop.h (class complex_operation): New.
2904 2021-03-08 Tom Tromey <tom@tromey.com>
2906 * eval.c (eval_op_objc_selector): No longer static.
2907 * c-exp.h (class objc_selector_operation): New.
2909 2021-03-08 Tom Tromey <tom@tromey.com>
2911 * eval.c: Include c-exp.h.
2912 * c-exp.h (class objc_nsstring_operation): New.
2914 2021-03-08 Tom Tromey <tom@tromey.com>
2916 * c-lang.c (c_string_operation::evaluate): New method.
2917 * c-exp.h: New file.
2919 2021-03-08 Tom Tromey <tom@tromey.com>
2921 * expop.h (class ternop_cond_operation): New.
2922 * ax-gdb.c (ternop_cond_operation::do_generate_ax): New method.
2924 2021-03-08 Tom Tromey <tom@tromey.com>
2926 * expop.h (class ternop_slice_operation): New.
2927 * eval.c (eval_op_ternop): No longer static.
2929 2021-03-08 Tom Tromey <tom@tromey.com>
2931 * expop.h (class string_operation): New.
2932 * eval.c (eval_op_string): No longer static.
2934 2021-03-08 Tom Tromey <tom@tromey.com>
2936 * expop.h (class internalvar_operation): New.
2937 * ax-gdb.c (internalvar_operation::do_generate_ax): New method.
2939 2021-03-08 Tom Tromey <tom@tromey.com>
2941 * expop.h (class bool_operation): New.
2943 2021-03-08 Tom Tromey <tom@tromey.com>
2945 * expop.h (class register_operation): New.
2946 * eval.c (eval_op_register): No longer static.
2947 * ax-gdb.c (register_operation::do_generate_ax): New method.
2949 2021-03-08 Tom Tromey <tom@tromey.com>
2951 * expop.h (class last_operation): New.
2953 2021-03-08 Tom Tromey <tom@tromey.com>
2955 * expop.h (class func_static_var_operation): New.
2956 * eval.c (eval_op_func_static_var): No longer static.
2958 2021-03-08 Tom Tromey <tom@tromey.com>
2960 * expop.h (class var_entry_value_operation): New.
2961 * eval.c (eval_op_var_entry_value): No longer static.
2963 2021-03-08 Tom Tromey <tom@tromey.com>
2965 * expression.h (class operation) <set_outermost>: New method.
2966 * expop.h (class var_msym_value_operation): New.
2967 * eval.c (eval_op_var_msym_value): No longer static.
2968 (var_msym_value_operation::evaluate_for_address)
2969 (var_msym_value_operation::evaluate_for_sizeof)
2970 (var_msym_value_operation::evaluate_for_cast): New methods.
2971 * ax-gdb.c (var_msym_value_operation::do_generate_ax): New
2974 2021-03-08 Tom Tromey <tom@tromey.com>
2976 * expop.h (class long_const_operation): New.
2977 * ax-gdb.c (long_const_operation::do_generate_ax): New method.
2979 2021-03-08 Tom Tromey <tom@tromey.com>
2981 * expop.h (class scope_operation): New.
2982 * eval.c (eval_op_scope): No longer static.
2983 (scope_operation::evaluate_for_address): New method.
2984 * ax-gdb.c (scope_operation::do_generate_ax): New method.
2986 2021-03-08 Tom Tromey <tom@tromey.com>
2988 * expprint.c (float_const_operation::dump): New method.
2989 * expop.h (float_data): New typedef.
2990 (class float_const_operation): New.
2992 2021-03-08 Tom Tromey <tom@tromey.com>
2994 * expop.h (gen_expr_binop, gen_expr_structop): Declare.
2995 * ax-gdb.c (gen_expr_binop): New function.
2996 (gen_expr_structop): Likewise.
2998 2021-03-08 Tom Tromey <tom@tromey.com>
3000 * expprint.c (expr::dump_for_expression): New functions.
3001 * expop.h (dump_for_expression): New overloads.
3002 (tuple_holding_operation::dump, tuple_holding_operation::do_dump):
3005 2021-03-08 Tom Tromey <tom@tromey.com>
3007 * expression.h (expr::operation): New class.
3008 (expr::make_operation): New function.
3009 (expr::operation_up): New typedef.
3010 * expop.h: New file.
3011 * eval.c (operation::evaluate_for_cast)
3012 (operation::evaluate_for_address, operation::evaluate_for_sizeof):
3014 * ax-gdb.c (operation::generate_ax): New method.
3016 2021-03-08 Tom Tromey <tom@tromey.com>
3018 * ax-gdb.c (gen_expr_binop_rest): Remove "pc" parameter.
3019 (gen_expr_binop_rest): New overload.
3021 2021-03-08 Tom Tromey <tom@tromey.com>
3023 * eval.c (eval_multi_subscript): New function.
3024 (evaluate_subexp_standard): Use it.
3026 2021-03-08 Tom Tromey <tom@tromey.com>
3028 * ada-lang.c (ada_binop_exp): New function.
3029 (ada_evaluate_subexp): Use it.
3031 2021-03-08 Tom Tromey <tom@tromey.com>
3033 * ada-lang.c (ada_val_atr): Rename from value_val_atr. Change
3035 (ada_evaluate_subexp): Use it.
3037 2021-03-08 Tom Tromey <tom@tromey.com>
3039 * ada-lang.c (ada_binop_minmax): New function.
3040 (ada_evaluate_subexp): Use it.
3042 2021-03-08 Tom Tromey <tom@tromey.com>
3044 * ada-lang.c (ada_unop_atr): New function.
3045 (ada_evaluate_subexp): Use it.
3047 2021-03-08 Tom Tromey <tom@tromey.com>
3049 * ada-lang.c (ada_binop_in_bounds): New function.
3050 (ada_evaluate_subexp): Use it.
3052 2021-03-08 Tom Tromey <tom@tromey.com>
3054 * ada-lang.c (ada_ternop_slice): New function.
3055 (ada_evaluate_subexp): Use it.
3057 2021-03-08 Tom Tromey <tom@tromey.com>
3059 * ada-lang.c (ada_equal_binop): New function.
3060 (ada_evaluate_subexp): Use it.
3062 2021-03-08 Tom Tromey <tom@tromey.com>
3064 * ada-lang.c (ada_mult_binop): New function.
3065 (ada_evaluate_subexp): Use it.
3067 2021-03-08 Tom Tromey <tom@tromey.com>
3069 * ada-lang.c (ada_abs): New function.
3070 (ada_evaluate_subexp): Use it.
3072 2021-03-08 Tom Tromey <tom@tromey.com>
3074 * ada-lang.c (ada_atr_size): New function.
3075 (ada_evaluate_subexp): Use it.
3077 2021-03-08 Tom Tromey <tom@tromey.com>
3079 * ada-lang.c (ada_atr_tag): New function.
3080 (ada_evaluate_subexp): Use it.
3082 2021-03-08 Tom Tromey <tom@tromey.com>
3084 * ada-lang.c (ada_unop_in_range): New function.
3085 (ada_evaluate_subexp): Use it.
3087 2021-03-08 Tom Tromey <tom@tromey.com>
3089 * ada-lang.c (ada_unop_neg): New function.
3090 (ada_evaluate_subexp): Use it.
3092 2021-03-08 Tom Tromey <tom@tromey.com>
3094 * ada-lang.c (eval_ternop_in_range): New function.
3095 (ada_evaluate_subexp): Use it.
3097 2021-03-08 Tom Tromey <tom@tromey.com>
3099 * opencl-lang.c (eval_opencl_assign): New function.
3100 (evaluate_subexp_opencl): Use it.
3102 2021-03-08 Tom Tromey <tom@tromey.com>
3104 * eval.c (eval_op_objc_msgcall): New function.
3105 (evaluate_subexp_standard): Use it.
3107 2021-03-08 Tom Tromey <tom@tromey.com>
3109 * eval.c (eval_binop_assign_modify): New function.
3110 (evaluate_subexp_standard): Use it.
3112 2021-03-08 Tom Tromey <tom@tromey.com>
3114 * m2-lang.c (eval_op_m2_subscript): New function.
3115 (evaluate_subexp_modula2): Use it.
3117 2021-03-08 Tom Tromey <tom@tromey.com>
3119 * m2-lang.c (eval_op_m2_high): New function.
3120 (evaluate_subexp_modula2): Use it.
3122 2021-03-08 Tom Tromey <tom@tromey.com>
3124 * eval.c (evaluate_subexp_for_address_base): New function.
3125 (evaluate_subexp_for_address): Use it.
3126 (evaluate_subexp_for_sizeof_base): New function.
3127 (evaluate_subexp_for_sizeof): Use it.
3129 2021-03-08 Tom Tromey <tom@tromey.com>
3131 * rust-lang.c (eval_op_rust_structop): New function.
3132 (rust_evaluate_subexp): Use it.
3134 2021-03-08 Tom Tromey <tom@tromey.com>
3136 * rust-lang.c (eval_op_rust_struct_anon): New function.
3137 (rust_evaluate_subexp): Use it.
3139 2021-03-08 Tom Tromey <tom@tromey.com>
3141 * rust-lang.c (eval_op_rust_array): New function.
3142 (rust_evaluate_subexp): Use it.
3144 2021-03-08 Tom Tromey <tom@tromey.com>
3146 * rust-lang.c (eval_op_rust_complement): New function.
3147 (rust_evaluate_subexp): Use it.
3149 2021-03-08 Tom Tromey <tom@tromey.com>
3151 * rust-lang.c (eval_op_rust_ind): New function.
3152 (rust_evaluate_subexp): Use it.
3154 2021-03-08 Tom Tromey <tom@tromey.com>
3156 * rust-lang.c (rust_subscript): Change parameters.
3157 (rust_evaluate_subexp): Update.
3159 2021-03-08 Tom Tromey <tom@tromey.com>
3161 * rust-lang.c (rust_range): Change parameters.
3162 (rust_evaluate_subexp): Update.
3164 2021-03-08 Tom Tromey <tom@tromey.com>
3166 * f-lang.c (eval_op_f_allocated): New function.
3167 (evaluate_subexp_f): Use it.
3169 2021-03-08 Tom Tromey <tom@tromey.com>
3171 * f-lang.c (fortran_require_array): New function.
3172 (evaluate_subexp_f): Use it.
3174 2021-03-08 Tom Tromey <tom@tromey.com>
3176 * f-lang.c (eval_op_f_kind): New function.
3177 (evaluate_subexp_f): Use it.
3179 2021-03-08 Tom Tromey <tom@tromey.com>
3181 * f-lang.c (eval_op_f_cmplx): New function.
3182 (evaluate_subexp_f): Use it.
3184 2021-03-08 Tom Tromey <tom@tromey.com>
3186 * f-lang.c (eval_op_f_modulo): New function.
3187 (evaluate_subexp_f): Use it.
3189 2021-03-08 Tom Tromey <tom@tromey.com>
3191 * f-lang.c (eval_op_f_floor): New function.
3192 (evaluate_subexp_f): Use it.
3194 2021-03-08 Tom Tromey <tom@tromey.com>
3196 * f-lang.c (eval_op_f_ceil): New function.
3197 (evaluate_subexp_f): Use it.
3199 2021-03-08 Tom Tromey <tom@tromey.com>
3201 * f-lang.c (eval_op_f_mod): New function.
3202 (evaluate_subexp_f): Use it.
3204 2021-03-08 Tom Tromey <tom@tromey.com>
3206 * f-lang.c (eval_op_f_abs): New function.
3207 (evaluate_subexp_f): Use it.
3209 2021-03-08 Tom Tromey <tom@tromey.com>
3211 * eval.c (eval_op_type): New function.
3212 (evaluate_subexp_standard): Use it.
3214 2021-03-08 Tom Tromey <tom@tromey.com>
3216 * eval.c (eval_op_postdec): New function.
3217 (evaluate_subexp_standard): Use it.
3219 2021-03-08 Tom Tromey <tom@tromey.com>
3221 * eval.c (eval_op_postinc): New function.
3222 (evaluate_subexp_standard): Use it.
3224 2021-03-08 Tom Tromey <tom@tromey.com>
3226 * eval.c (eval_op_predec): New file.
3227 (evaluate_subexp_standard): Use it.
3229 2021-03-08 Tom Tromey <tom@tromey.com>
3231 * eval.c (eval_op_preinc): New function.
3232 (evaluate_subexp_standard): Use it.
3234 2021-03-08 Tom Tromey <tom@tromey.com>
3236 * eval.c (eval_op_memval): New function.
3237 (evaluate_subexp_standard): Use it.
3239 2021-03-08 Tom Tromey <tom@tromey.com>
3241 * eval.c (eval_op_alignof): New function.
3242 (evaluate_subexp_standard): Use it.
3244 2021-03-08 Tom Tromey <tom@tromey.com>
3246 * eval.c (eval_op_ind): New function.
3247 (evaluate_subexp_standard): Use it.
3249 2021-03-08 Tom Tromey <tom@tromey.com>
3251 * eval.c (eval_op_lognot): New function.
3252 (evaluate_subexp_standard): Use it.
3254 2021-03-08 Tom Tromey <tom@tromey.com>
3256 * eval.c (eval_op_complement): New function.
3257 (evaluate_subexp_standard): Use it.
3259 2021-03-08 Tom Tromey <tom@tromey.com>
3261 * eval.c (eval_op_neg): New function.
3262 (evaluate_subexp_standard): Use it.
3264 2021-03-08 Tom Tromey <tom@tromey.com>
3266 * eval.c (eval_op_plus): New function.
3267 (evaluate_subexp_standard): Use it.
3269 2021-03-08 Tom Tromey <tom@tromey.com>
3271 * eval.c (eval_op_repeat): New function.
3272 (evaluate_subexp_standard): Use it.
3274 2021-03-08 Tom Tromey <tom@tromey.com>
3276 * eval.c (eval_op_leq): New function.
3277 (evaluate_subexp_standard): Use it.
3279 2021-03-08 Tom Tromey <tom@tromey.com>
3281 * eval.c (eval_op_geq): New function.
3282 (evaluate_subexp_standard): Use it.
3284 2021-03-08 Tom Tromey <tom@tromey.com>
3286 * eval.c (eval_op_gtr): New function.
3287 (evaluate_subexp_standard): Use it.
3289 2021-03-08 Tom Tromey <tom@tromey.com>
3291 * eval.c (eval_op_less): New function.
3292 (evaluate_subexp_standard): Use it.
3294 2021-03-08 Tom Tromey <tom@tromey.com>
3296 * eval.c (eval_op_notequal): New function.
3297 (evaluate_subexp_standard): Use it.
3299 2021-03-08 Tom Tromey <tom@tromey.com>
3301 * eval.c (eval_op_equal): New function.
3302 (evaluate_subexp_standard): Use it.
3304 2021-03-08 Tom Tromey <tom@tromey.com>
3306 * eval.c (eval_op_subscript): New function.
3307 (evaluate_subexp_standard): Use it.
3309 2021-03-08 Tom Tromey <tom@tromey.com>
3311 * eval.c (eval_op_binary): New function.
3312 (evaluate_subexp_standard): Use it.
3314 2021-03-08 Tom Tromey <tom@tromey.com>
3316 * eval.c (eval_op_sub): New function.
3317 (evaluate_subexp_standard): Use it.
3319 2021-03-08 Tom Tromey <tom@tromey.com>
3321 * eval.c (eval_op_add): New function.
3322 (evaluate_subexp_standard): Use it.
3324 2021-03-08 Tom Tromey <tom@tromey.com>
3326 * eval.c (eval_op_member): New function.
3327 (evaluate_subexp_standard): Use it.
3329 2021-03-08 Tom Tromey <tom@tromey.com>
3331 * eval.c (eval_op_structop_ptr): New function.
3332 (evaluate_subexp_standard): Use it.
3334 2021-03-08 Tom Tromey <tom@tromey.com>
3336 * eval.c (eval_op_structop_struct): New function.
3337 (evaluate_subexp_standard): Use it.
3339 2021-03-08 Tom Tromey <tom@tromey.com>
3341 * eval.c (eval_op_ternop): New function.
3342 (evaluate_subexp_standard): Use it.
3344 2021-03-08 Tom Tromey <tom@tromey.com>
3346 * eval.c (eval_op_concat): New function.
3347 (evaluate_subexp_standard): Use it.
3349 2021-03-08 Tom Tromey <tom@tromey.com>
3351 * eval.c (eval_op_objc_selector): New function.
3352 (evaluate_subexp_standard): Use it.
3354 2021-03-08 Tom Tromey <tom@tromey.com>
3356 * eval.c (eval_op_string): New function.
3357 (evaluate_subexp_standard): Use it.
3359 2021-03-08 Tom Tromey <tom@tromey.com>
3361 * eval.c (eval_op_register): New function.
3362 (evaluate_subexp_standard): Use it.
3364 2021-03-08 Tom Tromey <tom@tromey.com>
3366 * eval.c (eval_op_func_static_var): New function.
3367 (evaluate_subexp_standard): Use it.
3369 2021-03-08 Tom Tromey <tom@tromey.com>
3371 * eval.c (eval_op_var_msym_value): New function.
3372 (evaluate_subexp_standard): Use it.
3374 2021-03-08 Tom Tromey <tom@tromey.com>
3376 * eval.c (eval_op_var_entry_value): New function.
3377 (evaluate_subexp_standard): Use it.
3379 2021-03-08 Tom Tromey <tom@tromey.com>
3381 * eval.c (eval_op_scope): New function.
3382 (evaluate_subexp_standard): Use it.
3384 2021-03-06 Chernov Sergey <klen_s@mail.ru>
3387 * ada-lang.c (ada_fold_name): Use gdb::to_string.
3389 2021-03-06 Tom Tromey <tom@tromey.com>
3391 * dwarf2/sect-names.h (dwarf2_elf_names): Declare.
3392 * dwarf2/read.h (dwarf2_get_dwz_file): Move to dwz.h.
3393 * dwarf2/read.c (dwarf2_elf_names): No longer static.
3394 (locate_dwz_sections, dwz_search_other_debugdirs)
3395 (dwarf2_get_dwz_file): Move to dwz.c.
3396 * dwarf2/dwz.h (dwarf2_get_dwz_file): Move declaration from
3398 * dwarf2/dwz.c (locate_dwz_sections, dwz_search_other_debugdirs)
3399 (dwarf2_get_dwz_file): Move from read.c.
3401 2021-03-06 Tom Tromey <tom@tromey.com>
3403 * debuginfod-support.h: Include scoped_fd.h.
3405 2021-03-06 Tom Tromey <tom@tromey.com>
3407 * dwarf2/read.h (dwarf2_get_dwz_file): Add 'require' parameter.
3408 * dwarf2/read.c (dwarf2_get_dwz_file): Add 'require' parameter.
3409 (get_abbrev_section_for_cu, read_attribute_value)
3410 (get_debug_line_section): Update.
3411 * dwarf2/macro.c (dwarf_decode_macro_bytes): Update.
3413 2021-03-06 Tom Tromey <tom@tromey.com>
3415 * dwarf2/sect-names.h (struct dwarf2_section_names) <matches>: New
3417 * dwarf2/read.c (section_is_p): Remove.
3418 (dwarf2_per_bfd::locate_sections)
3419 (dwarf2_per_bfd::locate_sections, locate_dwz_sections)
3420 (locate_v1_virtual_dwo_sections, dwarf2_locate_dwo_sections)
3421 (dwarf2_locate_common_dwp_sections)
3422 (dwarf2_locate_v2_dwp_sections, dwarf2_locate_v5_dwp_sections):
3425 2021-03-06 Tom Tromey <tom@tromey.com>
3427 * xcoffread.c: Include sect-names.h.
3428 * symfile.h (struct dwarf2_section_names, struct
3429 dwarf2_debug_sections): Move to dwarf2/sect-names.h.
3430 * dwarf2/sect-names.h: New file, from symfile.h.
3431 * dwarf2/read.c: Include sect-names.h.
3433 2021-03-06 Tom Tromey <tom@tromey.com>
3435 * dwarf2/read.c (read_attribute): Make 'abbrev' const.
3436 * dwarf2/abbrev.c (abbrev_table::alloc_abbrev): Remove.
3437 (abbrev_table::read): Update.
3438 * dwarf2/abbrev.h (struct attr_abbrev): Move earlier.
3439 (struct abbrev_info): Reformat.
3440 <attrs>: Now an array.
3441 (struct abbrev_table) <alloc_abbrev>: Remove.
3443 2021-03-06 Weimin Pan <weimin.pan@oracle.com>
3445 * ctfread.c (ctf_psymtab_add_enums): New function.
3446 (ctf_psymtab_type_cb): call ctf_psymtab_add_enums.
3448 2021-03-06 Weimin Pan <weimin.pan@oracle.com>
3450 * ctfread.c (read_func_kind_type): Set up function arguments.
3452 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
3453 Andrew Burgess <andrew.burgess@embecosm.com>
3455 * riscv-none-tdep.c: Add 'user-regs.h' and 'target-description.h'
3457 (riscv_csrset): New static global.
3458 (riscv_update_csrmap): New function.
3459 (riscv_iterate_over_regset_sections): Process CSRs.
3461 2021-03-05 Andrew Burgess <andrew.burgess@embecosm.com>
3463 * riscv-tdep.c (riscv_feature_name_csr): Define.
3464 (riscv_feature_name_cpu): Define.
3465 (riscv_feature_name_fpu): Define.
3466 (riscv_feature_name_virtual): Define.
3467 (riscv_xreg_feature): Use riscv_feature_name_cpu.
3468 (riscv_freg_feature): Use riscv_feature_name_fpu.
3469 (riscv_virtual_feature): Use riscv_feature_name_virtual.
3470 (riscv_csr_feature): Use riscv_feature_name_csr.
3471 * riscv-tdep.h (riscv_feature_name_csr): Declare.
3473 2021-03-05 Andrew Burgess <andrew.burgess@embecosm.com>
3474 Craig Blackmore <craig.blackmore@embecosm.com>
3476 * Makefile.in (ALL_TARGET_OBS): Add riscv-none-tdep.o.
3477 (ALLDEPFILES): Add riscv-none-tdep.c.
3478 * configure: Regenerate.
3479 * configure.ac (CONFIG_OBS): Add elf-none-tdep.o when BFD has ELF
3481 * configure.tgt (riscv*-*-*): Include riscv-none-tdep.c.
3482 * elf-none-tdep.c: New file.
3483 * elf-none-tdep.h: New file.
3484 * riscv-none-tdep.c: New file.
3486 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
3487 Andrew Burgess <andrew.burgess@embecosm.com>
3489 * corelow.c: Add 'xml-tdesc.h' include.
3490 (core_target::read_description): Load the target description from
3491 the core file when possible.
3492 * fbsd-tdep.c (fbsd_make_corefile_notes): Add target description
3494 * gcore-elf.c: Add 'gdbsupport/tdesc.h' include.
3495 (gcore_elf_make_tdesc_note): New function.
3496 * gcore-elf.h (gcore_elf_make_tdesc_note): Declare.
3497 * linux-tdep.c (linux_make_corefile_notes): Add target description
3500 2021-03-05 Andrew Burgess <andrew.burgess@embecosm.com>
3502 * Makefile.in (SFILES): Add gcore-elf.c.
3503 (HFILES_NO_SRCDIR): Add gcore-elf.h
3504 * configure: Regenerate.
3505 * configure.ac: Add gcore-elf.o to CONFIG_OBS if we have ELF
3507 * fbsd-tdep.c: Add 'gcore-elf.h' include.
3508 (struct fbsd_collect_regset_section_cb_data): Delete.
3509 (fbsd_collect_regset_section_cb): Delete.
3510 (fbsd_collect_thread_registers): Delete.
3511 (struct fbsd_corefile_thread_data): Delete.
3512 (fbsd_corefile_thread): Delete.
3513 (fbsd_make_corefile_notes): Call
3514 gcore_elf_build_thread_register_notes instead of the now deleted
3516 * gcore-elf.c: New file, the content was moved here from
3517 linux-tdep.c, functions were renamed and given minor cleanup.
3518 * gcore-elf.h: New file.
3519 * gcore.c (gcore_find_signalled_thread): Moved here from
3520 linux-tdep.c and given a new name. Minor cleanups.
3521 * gcore.h (gcore_find_signalled_thread): Declare.
3522 * linux-tdep.c: Add 'gcore.h' and 'gcore-elf.h' includes.
3523 (struct linux_collect_regset_section_cb_data): Delete.
3524 (linux_collect_regset_section_cb): Delete.
3525 (linux_collect_thread_registers): Delete.
3526 (linux_corefile_thread): Call
3527 gcore_elf_build_thread_register_notes.
3528 (find_signalled_thread): Delete.
3529 (linux_make_corefile_notes): Call gcore_find_signalled_thread.
3531 2021-03-04 Simon Marchi <simon.marchi@polymtl.ca>
3534 * sparc-nat.h (sparc_fetch_inferior_registers): Add
3535 process_stratum_target parameter,
3536 sparc_store_inferior_registers): update callers.
3537 * sparc-nat.c (sparc_fetch_inferior_registers,
3538 sparc_store_inferior_registers): Add process_stratum_target
3539 parameter. Switch current thread before calling
3540 sparc_supply_gregset / sparc_collect_rwindow.
3541 (sparc_store_inferior_registers): Likewise.
3542 * sparc-obsd-tdep.c (sparc32obsd_supply_uthread): Add assertion.
3543 (sparc32obsd_collect_uthread): Likewise.
3544 * sparc-tdep.c (sparc_supply_rwindow, sparc_collect_rwindow):
3546 * sparc64-obsd-tdep.c (sparc64obsd_collect_uthread,
3547 sparc64obsd_supply_uthread): Add assertion.
3549 2021-03-04 Tom Tromey <tromey@adacore.com>
3551 * ada-lang.c (struct match_data) <found_sym>: Now bool.
3552 (aux_add_nonlocal_symbols): Update.
3553 (ada_add_block_symbols): Change "found_sym" to bool.
3555 2021-03-03 Tom Tromey <tromey@adacore.com>
3557 * ada-lang.c (ada_resolve_function): Update comment.
3558 (is_nonfunction, add_symbols_from_enclosing_procs)
3559 (remove_extra_symbols): Likewise.
3560 (struct match_data): Add constructor, initializers.
3561 (add_nonlocal_symbols): Remove memset.
3562 (aux_add_nonlocal_symbols): Update comment.
3563 (ada_add_block_renamings, add_nonlocal_symbols)
3564 (ada_add_all_symbols): Likewise.
3565 * ada-exp.y (write_var_or_type): Clean up trailing whitespace.
3567 2021-03-02 Tom Tromey <tromey@adacore.com>
3569 * ada-lang.c (cast_from_gnat_encoded_fixed_point_type)
3570 (cast_to_gnat_encoded_fixed_point_type): Remove.
3571 (ada_value_cast, ada_evaluate_subexp): Update.
3572 (gnat_encoded_fixed_point_type_info)
3573 (ada_is_gnat_encoded_fixed_point_type)
3574 (gnat_encoded_fixed_point_delta)
3575 (gnat_encoded_fixed_point_scaling_factor): Remove.
3576 * ada-lang.h (ada_is_gnat_encoded_fixed_point_type)
3577 (gnat_encoded_fixed_point_delta)
3578 (gnat_encoded_fixed_point_scaling_factor): Don't declare.
3579 * ada-typeprint.c (print_gnat_encoded_fixed_point_type): Remove.
3580 (ada_print_type): Update.
3581 * ada-valprint.c (ada_value_print_num): Update.
3582 * dwarf2/read.c (ada_get_gnat_encoded_number)
3583 (ada_get_gnat_encoded_ratio): New functions.
3584 (finish_fixed_point_type): Use them. Add parameters.
3585 (GNAT_FIXED_POINT_SUFFIX): New define.
3586 (gnat_encoded_fixed_point_type_info): New function.
3587 (read_base_type): Handle gnat encodings.
3589 2021-03-02 Tom Tromey <tromey@adacore.com>
3591 * ada-lang.c (ada_fold_name, ada_variant_discrim_name)
3592 (ada_enum_name, scan_discrim_bound, to_fixed_range_type): Use
3594 (GROW_VECT): Remove.
3595 (grow_vect): Remove.
3597 2021-03-02 Tom Tromey <tromey@adacore.com>
3599 * ada-lang.h (ada_lookup_symbol_list): Return a vector.
3600 * ada-lang.c (resolve_subexp): Update.
3601 (ada_resolve_function): Accept a vector.
3602 (is_nonfunction, add_defn_to_vec)
3603 (add_symbols_from_enclosing_procs): Likewise.
3604 (num_defns_collected, defns_collected): Remove.
3605 (remove_extra_symbols): Return a vector.
3606 (remove_irrelevant_renamings): Return void.
3607 (ada_add_local_symbols): Accept a vector.
3608 (struct match_data) <obstackp>: Remove.
3609 <resultp>: New member.
3610 (aux_add_nonlocal_symbols): Update.
3611 (ada_add_block_renamings, add_nonlocal_symbols)
3612 (ada_add_all_symbols): Accept a vector.
3613 (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Return a
3615 (ada_lookup_symbol): Update.
3616 (ada_add_block_symbols): Accept a vector.
3617 (get_var_value, iterate_over_symbols): Update.
3618 * ada-exp.y (block_lookup, write_var_or_type, write_name_assoc):
3621 2021-03-02 Tom Tromey <tromey@adacore.com>
3623 * ada-lang.c (resolve_subexp): Use any_of and erase-remove idiom.
3625 2021-03-02 Tom Tromey <tromey@adacore.com>
3627 * ada-lang.c (struct ada_symbol_cache) <cache_space>: Now an
3630 (ada_pspace_data): Remove destructor.
3631 <sym_cache>: Now a unique_ptr.
3632 (ada_init_symbol_cache, ada_free_symbol_cache): Remove.
3633 (ada_get_symbol_cache): Use 'new'.
3634 (ada_clear_symbol_cache): Rewrite.
3636 2021-03-02 Tom Tromey <tromey@adacore.com>
3638 * ada-lang.c (add_nonlocal_symbols): Handle case where objfile->sf
3641 2021-02-27 Lancelot Six <lsix@lancelotsix.com>
3644 * source.c (add_path): Skip empty dirnames.
3646 2021-02-25 Kevin Buettner <kevinb@redhat.com>
3648 * nat/aarch64-sve-linux-ptrace.h: Add comment regarding
3649 include order for <sys/ptrace.h> and <asm/ptrace.h>.
3651 2021-02-25 Simon Marchi <simon.marchi@polymtl.ca>
3654 * target.c (target_mourn_inferior): Only compare pids in
3655 target_mourn_inferior.
3657 2021-02-25 Jan Matyas <jmatyas@codasip.com>
3660 * remote.c (remote_target::start_remote): Ensure the single
3661 thread, automatically added for remote targets without the
3662 concept of threading, is initially in set to the "resumed"
3664 * remote.c (remote_target::add_current_inferior_and_thread):
3665 Add return value - return the main thread.
3667 2021-02-25 Jan Vrany <jan.vrany@labware.com>
3669 * gdb/mi/mi-interp.c (mi_traceframe_changed): Remove trailing \n from output.
3670 (mi_tsv_created): Likewise.
3671 (mi_tsv_deleted): Likewise.
3673 2021-02-25 Tom de Vries <tdevries@suse.de>
3676 * dwarf2/read.c (open_and_init_dwo_file): Use rcuh_kind::COMPILE as
3677 section_kind for &dwo_file->sections.info.
3679 2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3682 * f-lang.c (fortran_argument_convert): Delete declaration.
3683 (fortran_prepare_argument): New function.
3684 (evaluate_subexp_f): Move logic to new function
3685 fortran_prepare_argument.
3687 2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3689 * f-exp.y (f77_keywords): Add 'associated'.
3690 * f-lang.c (fortran_associated): New function.
3691 (evaluate_subexp_f): Handle FORTRAN_ASSOCIATED.
3692 (operator_length_f): Likewise.
3693 (print_unop_or_binop_subexp_f): New function.
3694 (print_subexp_f): Make use of print_unop_or_binop_subexp_f for
3695 FORTRAN_ASSOCIATED, FORTRAN_LBOUND, and FORTRAN_UBOUND.
3696 (dump_subexp_body_f): Handle FORTRAN_ASSOCIATED.
3697 (operator_check_f): Likewise.
3698 * std-operator.def: Add FORTRAN_ASSOCIATED.
3700 2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
3702 * f-exp.y (fortran_operators): Add ".xor.".
3704 2021-02-24 Tom de Vries <tdevries@suse.de>
3707 * dwarf2/attribute.c (attribute::form_is_signed): New function
3709 * dwarf2/attribute.h (attribute::as_signed): ... here.
3710 (attribute::is_nonnegative, attribute::as_nonnegative): New function.
3711 (attribute::form_is_signed): Declare.
3712 * dwarf2/read.c (new_symbol): Use is_nonnegative and as_nonnegative
3713 for DW_AT_decl_file.
3715 2021-02-24 Kevin Buettner <kevinb@redhat.com>
3717 * nat/aarch64-linux-hw-point.c: Add comment regarding include
3718 order for <sys/ptrace.h> and <asm/ptrace.h>.
3720 2021-02-24 Kevin Buettner <kevinb@redhat.com>
3722 * nat/aarch64-linux-hw-point.c: Include <asm/ptrace.h> after
3725 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
3727 * exec.c (set_section_command): Move variable declarations into
3728 the function body, and use std::string instead of a fixed size
3731 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
3733 * exec.c (exec_target::get_section_table): Delete member function.
3734 (section_table_read_available_memory): Use current_top_target, not
3735 just the exec_ops target.
3736 * target-delegates.c: Regenerate.
3737 * target.c (default_get_section_table): New function.
3738 * target.h (target_ops::get_section_table): Change default
3739 behaviour to call default_get_section_table.
3740 (default_get_section_table): Declare.
3742 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
3744 * exec.c (exec_target::close): Call new clear_target_sections
3746 (program_space::add_target_sections): Update name of member
3748 (program_space::add_target_sections): Update name of member
3750 (program_space::remove_target_sections): Likewise.
3751 (exec_one_fork): Use new target_sections member function.
3752 (exec_target::get_section_table): Likewise.
3753 (exec_target::files_info): Likewise.
3754 (set_section_command): Likewise.
3755 (exec_set_section_address): Likewise.
3756 (exec_target::has_memory): Use new target_sections member
3758 * progspace.h (program_space::clear_target_sections): New member
3760 (program_space::target_sections): Rename member variable to
3761 m_target_sections, replace with a new member function.
3762 (program_space::m_target_sections): New member variable.
3763 * solib-dsbt.c (scan_dyntag): Use new member function.
3764 * solib-svr4.c (scan_dyntag): Likewise.
3766 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
3768 * gdb/bfd-target.c (class target_bfd) <get_section_table>: Make
3770 * gdb/exec.c (struct exec_target) <get_section_table>: Likewise.
3771 (section_table_read_available_memory): Make local const.
3772 (exec_target::xfer_partial): Make local const.
3773 (print_section_info): Make parameter const.
3774 * gdb/exec.h (print_section_info): Likewise.
3775 * gdb/ppc64-tdep.c (ppc64_convert_from_func_ptr_addr): Make local
3777 * gdb/record-btrace.c (record_btrace_target::xfer_partial):
3779 * gdb/remote.c (remote_target::remote_xfer_live_readonly_partial):
3781 * gdb/s390-tdep.c (s390_load): Likewise.
3782 * gdb/solib-dsbt.c (scan_dyntag): Likewise.
3783 * gdb/solib-svr4.c (scan_dyntag): Likewise.
3784 * gdb/target-debug.h (target_debug_print_target_section_table_p):
3786 (target_debug_print_const_target_section_table_p): ...this.
3787 * gdb/target-delegates.c: Regenerate.
3788 * gdb/target.c (target_get_section_table): Make return type const.
3789 (target_section_by_addr): Likewise. Also make some locals const.
3790 (memory_xfer_partial_1): Make some locals const.
3791 * gdb/target.h (struct target_ops) <get_section_table>: Make
3793 (target_section_by_addr): Likewise.
3794 (target_get_section_table): Likewise.
3796 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
3798 * NEWS: Mention new 'maint info target-sections' command.
3799 * maint.c (maintenance_info_target_sections): New function.
3800 (_initialize_maint_cmds): Register new command.
3802 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
3804 * riscv-tdep.c (riscv_features_from_gdbarch_info): Rename to...
3805 (riscv_features_from_bfd): ...this. Change parameter type to
3806 'bfd*', and update as required.
3807 (riscv_find_default_target_description): Update call to
3808 riscv_features_from_bfd. Select a default xlen based on
3810 (riscv_gdbarch_init): Update call to riscv_features_from_bfd.
3812 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
3814 * eval.c (evaluate_subexp_standard): Call value_ind for points to
3815 dynamic types in UNOP_IND.
3817 2021-02-23 Simon Marchi <simon.marchi@polymtl.ca>
3820 * dwarf2/read.c (dwarf2_queue_guard) <dwarf2_queue_guard>:
3822 (~dwarf2_queue_guard): Clear queue.
3823 (queue_comp_unit): Assert that queue is
3825 (process_queue): Adjust.
3826 * dwarf2/read.h (struct dwarf2_per_bfd) <queue>: Make optional.
3828 2021-02-23 Simon Marchi <simon.marchi@polymtl.ca>
3831 * dwarf2/read.c (maybe_queue_comp_unit): Check if CU is expanded
3832 to decide whether or not to enqueue it for expansion.
3833 (follow_die_offset, follow_die_sig_1): Ensure we load the DIEs
3834 after calling maybe_queue_comp_unit.
3836 2021-02-23 Simon Marchi <simon.marchi@polymtl.ca>
3838 * linux-nat.c (linux_nat_filter_event): Return void.
3840 2021-02-22 Tom Tromey <tromey@adacore.com>
3842 * solib-svr4.c (enable_break): Update.
3843 * bfd-target.c (class target_bfd) <target_bfd>: Change parameter
3845 (target_bfd_reopen): Change parameter type.
3846 * bfd-target.h (target_bfd_reopen): Change parameter type.
3848 2021-02-22 Simon Marchi <simon.marchi@polymtl.ca>
3850 * thread.c (add_thread_silent): Add assert.
3851 (find_thread_ptid): Add assert.
3853 2021-02-22 Simon Marchi <simon.marchi@polymtl.ca>
3856 * inf-ptrace.c (struct target_unpusher): Move to target.h.
3857 (target_unpush_up): Likewise.
3858 * procfs.c (procfs_target::attach): Push target early. Use
3859 target_unpush_up to unpush target in case of error.
3860 * target.h (struct target_unpusher): Move here.
3861 (target_unpush_up): Likewise.
3863 2021-02-19 Kevin Buettner <kevinb@redhat.com>
3865 * nat/amd64-linux-siginfo.c: Include "gdbsupport/common-defs.h"
3866 (which in turn includes <gnulib/config.h>) before include
3869 2021-02-19 Nelson Chu <nelson.chu@sifive.com>
3872 * riscv-tdep.c (decode_ci_type_insn): Updated encoding macros.
3873 (decode_j_type_insn): Likewise.
3874 (decode_cj_type_insn): Likewise.
3875 (decode_b_type_insn): Likewise.
3878 2021-02-18 Tom Tromey <tom@tromey.com>
3880 * expression.h (struct expression) <evaluate>: Declare method.
3881 * eval.c (evaluate_subexp): Simplify.
3882 (expression::evaluate): New method.
3883 (evaluate_expression, evaluate_type): Use expression::evaluate.
3885 2021-02-17 Kevin Buettner <kevinb@redhat.com>
3887 * ada-lang.c (ada_fold_name): Check for non-empty string prior
3889 (ada_lookup_name_info): Likewise.
3891 2021-02-13 Mike Frysinger <vapier@gentoo.org>
3893 * aclocal.m4: Regenerate.
3895 2021-02-12 Tom de Vries <tdevries@suse.de>
3898 * linux-nat.c (lin_thread_get_thread_signals): Remove.
3899 (lin_thread_signals): New static var.
3900 (lin_thread_get_thread_signal_num, lin_thread_get_thread_signal):
3902 * linux-nat.h (lin_thread_get_thread_signals): Remove.
3903 (lin_thread_get_thread_signal_num, lin_thread_get_thread_signal):
3905 * linux-thread-db.c (check_thread_signals): Use
3906 lin_thread_get_thread_signal_num and lin_thread_get_thread_signal.
3908 2021-02-12 Andrew Burgess <andrew.burgess@embecosm.com>
3910 * f-exp.y (f77_keywords): Add allocated.
3911 * f-lang.c (evaluate_subexp_f): Handle UNOP_FORTRAN_ALLOCATED.
3912 (operator_length_f): Likewise.
3913 (print_subexp_f): Likewise.
3914 (dump_subexp_body_f): Likewise.
3915 (operator_check_f): Likewise.
3916 * std-operator.def (UNOP_FORTRAN_ALLOCATED): New operator.
3918 2021-02-11 Tom de Vries <tdevries@suse.de>
3921 * dwarf2/attribute.c (attribute::form_requires_reprocessing):
3922 Return true for DW_FORM_strx.
3924 2021-02-11 Tom Tromey <tromey@adacore.com>
3927 * parse.c (write_exp_symbol_reference): Write sym.block.
3929 2021-02-11 Andrew Burgess <andrew.burgess@embecosm.com>
3931 * NEWS: Mention changes to 'maint info sections'.
3932 * maint.c (match_substring): Return a bool, fix whitespace issue.
3933 (struct single_bfd_flag_info): New struct.
3934 (bfd_flag_info): New static global.
3935 (match_bfd_flags): Return a bool, use bfd_flag_info.
3936 (print_bfd_flags): Use bfd_flag_info.
3937 (maint_print_section_info): Delete trailing whitespace.
3938 (struct maint_info_sections_opts): New struct.
3939 (maint_info_sections_option_defs): New static global.
3940 (maint_info_sections_completer): New function.
3941 (maintenance_info_sections): Use option parsing mechanism.
3942 (_initialize_maint_cmds): Update command help text for 'maint info
3943 sections' and register a command completer.
3945 2021-02-11 Andrew Burgess <andrew.burgess@embecosm.com>
3947 * maint.c (print_bfd_section_info_maybe_relocated): Delete,
3948 functionality merged into...
3949 (maint_print_all_sections): ...this new function.
3950 (maintenance_info_sections): Make use of maint_print_all_sections,
3951 allow all objects to be printed even where there's no executable.
3953 2021-02-11 Andrew Burgess <andrew.burgess@embecosm.com>
3955 * breakpoint.c (resolve_sal_pc): Make use of
3956 bound_minimal_symbol::obj_section.
3957 * maint.c (maintenance_translate_address): Likewise.
3958 * minsyms.c (minimal_symbol_upper_bound): Likewise.
3959 * minsyms.h (struct bound_minimal_symbol) <obj_section>: New
3961 * printcmd.c (info_address_command): Make use of
3962 bound_minimal_symbol::obj_section.
3964 2021-02-11 Alan Modra <amodra@gmail.com>
3966 * arm-symbian-tdep.c: Delete.
3967 * NEWS: Mention arm-symbian removal.
3968 * Makefile.in: Remove arm-symbian-tdep entries.
3969 * configure.tgt: Remove arm*-*-symbianelf*.
3970 * doc/gdb.texinfo: Remove mention of SymbianOS.
3971 * osabi.c (gdb_osabi_names): Remove "Symbian".
3972 * osabi.h (enum gdb_osabi): Remove GDB_OSABI_SYMBIAN.
3973 * testsuite/gdb.base/ending-run.exp: Remove E32Main handling.
3974 * testsuite/gdb.ada/catch_ex_std.exp: Remove arm*-*-symbianelf*
3976 * testsuite/gdb.base/dup-sect.exp: Likewise.
3977 * testsuite/gdb.base/long_long.exp: Likewise.
3978 * testsuite/gdb.base/solib-weak.exp: Likewise.
3979 * testsuite/gdb.guile/scm-section-script.exp: Likewise.
3980 * testsuite/gdb.python/py-section-script.exp: Likewise.
3981 * testsuite/lib/dwarf.exp: Likewise.
3982 * testsuite/lib/gdb.exp: Likewise.
3984 2021-02-10 Andrew Burgess <andrew.burgess@embecosm.com>
3986 * f-exp.y (UNOP_OR_BINOP_INTRINSIC): New token.
3987 (exp): New pattern using UNOP_OR_BINOP_INTRINSIC.
3988 (one_or_two_args): New pattern.
3989 (f77_keywords): Add lbound and ubound.
3990 * f-lang.c (fortran_bounds_all_dims): New function.
3991 (fortran_bounds_for_dimension): New function.
3992 (evaluate_subexp_f): Handle FORTRAN_LBOUND and FORTRAN_UBOUND.
3993 (operator_length_f): Likewise.
3994 (print_subexp_f): Likewise.
3995 (dump_subexp_body_f): Likewise.
3996 (operator_check_f): Likewise.
3997 * std-operator.def (FORTRAN_LBOUND): Define.
3998 (FORTRAN_UBOUND): Define.
4000 2021-02-10 Andrew Burgess <andrew.burgess@embecosm.com>
4002 * coff-pe-read.c (add_pe_forwarded_sym): Make use of section_index
4003 and set_section_index member functions where appropriate.
4004 * coffread.c (coff_symtab_read): Likewise.
4005 (process_coff_symbol): Likewise.
4006 * ctfread.c (set_symbol_address): Likewise.
4007 * dwarf2/read.c (add_partial_symbol): Likewise.
4008 (var_decode_location): Likewise.
4009 * language.c: Likewise.
4010 * minsyms.c (minimal_symbol_reader::record_full): Likewise.
4011 (compact_minimal_symbols): Likewise.
4012 (minimal_symbol_upper_bound): Likewise.
4013 * objfiles.c (relocate_one_symbol): Likewise.
4014 * psympriv.h (partial_symbol::obj_section): Likewise.
4015 (partial_symbol::address): Likewise.
4016 * psymtab.c (partial_symtab::add_psymbol): Likewise.
4017 * stabsread.c (scan_file_globals): Likewise.
4018 * symmisc.c (dump_msymbols): Likewise.
4019 * symtab.c (general_symbol_info::obj_section): Likewise.
4020 (fixup_section): Likewise.
4021 (get_msymbol_address): Likewise.
4022 * symtab.h (general_symbol_info::section): Rename to...
4023 (general_symbol_info::m_section): ...this.
4024 (general_symbol_info::set_section_index): New member function.
4025 (general_symbol_info::section_index): Likewise.
4026 (SYMBOL_SECTION): Delete.
4027 (MSYMBOL_VALUE_ADDRESS): Make use of section_index and
4028 set_section_index member functions where appropriate.
4029 (MSYMBOL_SECTION): Delete.
4030 (symbol::symbol): Update to initialize 'm_section'.
4031 * xcoffread.c (read_xcoff_symtab): Make use of set_section_index.
4032 (process_xcoff_symbol): Likewise.
4034 2021-02-10 Andrew Burgess <andrew.burgess@embecosm.com>
4036 * breakpoint.c (resolve_sal_pc): Replace SYMBOL_OBJ_SECTION and
4037 MSYMBOL_OBJ_SECTION.
4038 * findvar.c (language_defn::read_var_value): Likewise.
4039 * infcmd.c (jump_command): Likewise.
4040 * linespec.c (minsym_found): Likewise.
4041 * maint.c (maintenance_translate_address): Likewise.
4042 * minsyms.c (lookup_minimal_symbol_by_pc_section): Likewise.
4043 (minimal_symbol_upper_bound): Likewise.
4044 * parse.c (find_minsym_type_and_address): Likewise.
4045 (operator_check_standard): Likewise.
4046 * printcmd.c (info_address_command): Likewise.
4047 * symmisc.c (dump_msymbols): Likewise.
4048 (print_symbol): Likewise.
4049 * symtab.c (general_symbol_info::obj_section): Define new
4051 (fixup_symbol_section): Replace SYMBOL_OBJ_SECTION.
4052 (find_pc_sect_compunit_symtab): Likewise.
4053 (find_function_start_sal): Likewise.
4054 (skip_prologue_sal): Replace SYMBOL_OBJ_SECTION and
4055 MSYMBOL_OBJ_SECTION.
4056 * symtab.h (struct general_symbol_info) <obj_section>: Declare new
4058 (SYMBOL_OBJ_SECTION): Delete.
4059 (MSYMBOL_OBJ_SECTION): Delete.
4061 2021-02-09 Tom Tromey <tom@tromey.com>
4063 * stap-probe.c (stap_parse_argument_conditionally): Fix typo.
4065 2021-02-09 Tom de Vries <tdevries@suse.de>
4068 * dwarf2/read.c (read_array_type): Return NULL when not being able to
4069 construct an array type. Add assert to ensure that element_type is
4072 2021-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
4074 * gcore.c (struct gcore_collect_regset_section_cb_data): Delete.
4075 (gcore_collect_regset_section_cb): Delete.
4076 (gcore_collect_thread_registers): Delete.
4077 (gcore_build_thread_register_notes): Delete.
4078 (gcore_find_signalled_thread): Delete.
4079 * gcore.h: Remove 'gdbsupport/gdb_signals.h' include and delete
4080 'gdbarch' and 'thread_info' declarations.
4081 (gcore_build_thread_register_notes): Delete declaration.
4082 (gcore_find_signalled_thread): Likewise.
4083 * fbsd-tdep.c: Remove 'gcore.h' include.
4084 (struct fbsd_collect_regset_section_cb_data): New struct.
4085 (fbsd_collect_regset_section_cb): New function.
4086 (fbsd_collect_thread_registers): New function.
4087 (struct fbsd_corefile_thread_data): New struct.
4088 (fbsd_corefile_thread): New function.
4089 (fbsd_make_corefile_notes): Call FreeBSD specific code.
4090 * linux-tdep.c: Remove 'gcore.h' include.
4091 (struct linux_collect_regset_section_cb_data): New struct.
4092 (linux_collect_regset_section_cb): New function.
4093 (linux_collect_thread_registers): New function.
4094 (linux_corefile_thread): Call Linux specific code.
4095 (find_signalled_thread): New function.
4096 (linux_make_corefile_notes): Call find_signalled_thread.
4098 2021-02-09 Tom Tromey <tromey@adacore.com>
4100 * ada-lang.c (coerce_unspec_val_to_type): Avoid making lazy
4102 * value.c (value_contents_copy_raw): Now static.
4103 * value.h (value_contents_copy_raw): Don't declare.
4105 2021-02-09 Tom Tromey <tromey@adacore.com>
4107 * gdbtypes.c (resolve_dynamic_struct): Handle structure with no
4110 2021-02-08 Shahab Vahedi <shahab@synopsys.com>
4113 * arc-linux-tdep.c (handle_atomic_sequence): New.
4114 (arc_linux_software_single_step): Call handle_atomic_sequence().
4116 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
4118 * python/py-tui.c (gdbpy_tui_window) <is_valid>: New member
4120 (REQUIRE_WINDOW): Call is_valid member function.
4121 (REQUIRE_WINDOW_FOR_SETTER): New define.
4122 (gdbpy_tui_is_valid): Call is_valid member function.
4123 (gdbpy_tui_set_title): Call REQUIRE_WINDOW_FOR_SETTER instead.
4124 * tui/tui-data.h (struct tui_win_info) <is_visible>: Check
4126 * tui/tui-layout.c (tui_apply_current_layout): Add an assert.
4127 * tui/tui.c (tui_enable): Move setting of tui_active earlier in
4130 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
4132 * python/py-tui.c (gdbpy_tui_set_title): Check that the new value
4133 for the title is not nullptr.
4135 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
4137 * tui-layout.c (saved_tui_windows): Delete.
4138 (tui_apply_current_layout): Don't make use of saved_tui_windows,
4139 call new get_windows member function instead.
4140 (tui_get_window_by_name): Check in tui_windows.
4141 (tui_layout_window::apply): Don't add to tui_windows.
4142 * tui-layout.h (tui_layout_base::get_windows): New member function.
4143 (tui_layout_window::get_windows): Likewise.
4144 (tui_layout_split::get_windows): Likewise.
4146 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
4148 * tui/tui-layout.c (tui_apply_current_layout): Restore the delete
4149 of the window objects.
4151 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
4153 * python/python.c (gdbpy_print_stack): Reformat an error message.
4155 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
4157 * tui/tui-interp.c (tui_command_line_handler): New function.
4158 (tui_interp::resume): Register tui_command_line_handler as the
4160 * tui/tui-io.c (tui_inject_newline_into_command_window): New
4162 (tui_getc_1): Delete handling of '\n' and '\r'.
4163 * tui-io.h (tui_inject_newline_into_command_window): Declare.
4165 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
4167 * tui/tui-regs.c (tui_data_window::display_registers_from):
4168 Mark invisible register sub windows.
4169 (tui_data_window::check_register_values): Ignore invisible
4170 register sub windows.
4172 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
4174 * tui/tui-regs.c (tui_data_item_window::rerender): Don't call
4175 n_spaces with a negative value.
4177 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
4179 * tui/tui-regs.c (tui_data_window::display_registers_from):
4180 Add refresh_window call.
4182 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
4184 * python/py-frame.c (frapy_richcompare): Compare frame_id_is_next.
4186 2021-02-05 Simon Marchi <simon.marchi@polymtl.ca>
4188 * symmisc.c (std_in, std_out, std_err): Remove.
4189 (_initialize_symmisc): Don't set std_in, std_out and std_err.
4191 2021-02-05 Tom de Vries <tdevries@suse.de>
4193 PR breakpoints/27330
4194 * breakpoint.c (create_exception_master_breakpoint): Handle case that
4195 glibc object file has debug info.
4197 2021-02-05 Tom de Vries <tdevries@suse.de>
4200 * dwarf2/read.c (process_psymtab_comp_unit): Handle DW_TAG_type_unit.
4202 2021-02-05 Tom de Vries <tdevries@suse.de>
4204 PR breakpoints/27313
4205 * break-catch-syscall.c (catch_syscall_split_args): Reject negative
4208 2021-02-05 Tom Tromey <tom@tromey.com>
4210 * compile/compile-c-support.c (get_compile_context)
4211 (c_get_compile_context, cplus_get_compile_context): Change return
4213 * language.c (language_defn::get_compile_instance): New method.
4214 * language.h (language_defn::get_compile_instance): Change return
4215 type. No longer inline.
4216 * c-lang.c (c_language::get_compile_instance): Change return type.
4217 (cplus_language::get_compile_instance): Change return type.
4218 * c-lang.h (c_get_compile_context, cplus_get_compile_context):
4220 * compile/compile.c (compile_to_object): Update.
4222 2021-02-05 Tom Tromey <tom@tromey.com>
4224 * parser-defs.h (write_exp_symbol_reference): Declare.
4225 * parse.c (write_exp_symbol_reference): New function.
4226 * p-exp.y (variable): Use write_exp_symbol_reference.
4227 * m2-exp.y (variable): Use write_exp_symbol_reference.
4228 * f-exp.y (variable): Use write_exp_symbol_reference.
4229 * d-exp.y (PrimaryExpression): Use write_exp_symbol_reference.
4230 * c-exp.y (variable): Use write_exp_symbol_reference.
4232 2021-02-05 Tom de Vries <tdevries@suse.de>
4235 * valarith.c (complex_binop): Throw an error if complex type can't
4238 2021-02-05 Tom de Vries <tdevries@suse.de>
4241 * dwarf2/read.c (create_cus_from_debug_names_list): Add missing
4244 2021-02-05 Tom de Vries <tdevries@suse.de>
4246 * dwarf2/read.c (create_cus_from_debug_names_list): Fix indentation.
4248 2021-02-04 Mike Frysinger <vapier@gentoo.org>
4250 * configure.tgt (riscv*-*-*): Set gdb_sim.
4252 2021-02-04 Simon Marchi <simon.marchi@polymtl.ca>
4254 * target.c (target_is_non_stop_p): Return bool.
4255 * target.h (target_is_non_stop_p): Return bool.
4257 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
4259 * record-full.c (record_full_async_inferior_event_handler):
4260 Don't clear async event handler.
4261 (record_full_base_target::wait): Clear async event handler at
4264 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
4266 * record-btrace.c (record_btrace_handle_async_inferior_event):
4267 Don't clear async event handler.
4268 (record_btrace_target::wait): Clear async event handler at
4271 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
4273 * remote.c (remote_target::wait): Clear async event handler at
4274 beginning, mark if needed at the end.
4275 (remote_async_inferior_event_handler): Don't set or clear async
4278 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
4280 * async-event.h (async_event_handler_func): Add documentation.
4281 * async-event.c (check_async_event_handlers): Don't clear
4282 async_event_handler ready flag.
4283 * infrun.c (infrun_async_inferior_event_handler): Clear ready
4285 * record-btrace.c (record_btrace_handle_async_inferior_event):
4287 * record-full.c (record_full_async_inferior_event_handler):
4289 * remote-notif.c (remote_async_get_pending_events_handler):
4291 * remote.c (remote_async_inferior_event_handler): Likewise.
4293 2021-02-03 Simon Marchi <simon.marchi@polymtl.ca>
4295 * infrun.c (handle_inferior_event): Move stop_soon variable to
4298 2021-02-03 Pedro Alves <pedro@palves.net>
4300 * infcmd.c (detach_command): Hold strong reference to target, and
4301 if all-stop on entry, restart threads on exit.
4302 * infrun.c (switch_back_to_stepped_thread): Factor out bits to ...
4303 (restart_stepped_thread): ... this new function. Also handle
4305 (restart_after_all_stop_detach): New function.
4306 * infrun.h (restart_after_all_stop_detach): Declare.
4308 2021-02-03 Pedro Alves <pedro@palves.net>
4310 * infrun.c (struct step_over_info): Initialize fields.
4311 (prepare_for_detach): Handle ongoing in-line step over.
4313 2021-02-03 Pedro Alves <pedro@palves.net>
4315 * linux-nat.c (linux_nat_target::detach): Remove breakpoints
4317 * remote.c (remote_target::remote_detach_1): ... and here ...
4318 * target.c (target_detach): ... instead of here.
4319 * target.h (target_ops::detach): Add comment.
4321 2021-02-03 Pedro Alves <pedro@palves.net>
4323 * infrun.c (struct wait_one_event): Move higher up.
4324 (prepare_for_detach): Abort in-progress displaced steps instead of
4325 letting them complete.
4326 (handle_one): If the inferior is detaching, don't add the thread
4327 back to the global step-over chain.
4328 (restart_threads): Don't restart threads if detaching.
4329 (handle_signal_stop): Remove inferior::detaching reference.
4331 2021-02-03 Pedro Alves <pedro@palves.net>
4333 * infrun.c (prepare_for_detach): Don't release scoped_restore
4336 2021-02-03 Pedro Alves <pedro@palves.net>
4338 * infrun.c (handle_one): New function, factored out from ...
4339 (stop_all_threads): ... here.
4341 2021-02-03 Pedro Alves <pedro@palves.net>
4343 * remote.c (remote_notif_stop_ack): Don't error out on
4344 TARGET_WAITKIND_IGNORE; instead, just ignore the notification.
4345 (remote_target::discard_pending_stop_replies): Don't delete
4346 in-flight notification; instead, clear its contents.
4348 2021-02-03 Pedro Alves <pedro@palves.net>
4350 * remote.c (extended_remote_target::attach): Set target async in
4351 the target-non-stop path too.
4353 2021-02-03 Pedro Alves <pedro@palves.net>
4356 * infrun.c (handle_signal_stop): Move main context_switch call
4357 earlier, before STOP_QUIETLY_NO_SIGSTOP.
4359 2021-02-02 Lancelot SIX <lsix@lancelotsix.com>
4361 * NEWS (Changed commands): Add entry for the behavior change of
4362 the inferior command.
4363 * inferior.c (inferior_command): When no argument is given to the
4364 inferior command, display info about the currently selected
4367 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4369 * dwarf2/read.c (read_loclist_index, read_rnglist_index): Return
4371 (read_attribute_reprocess): Adjust.
4373 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4375 * dwarf2/die.h (struct die_info) <ranges_base>: Split in...
4376 <gnu_ranges_base>: ... this...
4377 <rnglists_base>: ... and this.
4378 * dwarf2/read.c (struct dwarf2_cu) <ranges_base>: Split in...
4379 <gnu_ranges_base>: ... this...
4380 <rnglists_base>: ... and this.
4381 (read_cutu_die_from_dwo): Adjust
4382 (dwarf2_get_pc_bounds): Adjust
4383 (dwarf2_record_block_ranges): Adjust.
4384 (read_full_die_1): Adjust
4385 (partial_die_info::read): Adjust.
4386 (read_rnglist_index): Adjust.
4388 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4391 * dwarf2/read.c (read_loclists_rnglists_header): Add
4392 header_offset parameter and use it.
4393 (read_loclist_index): Read header of the current contribution,
4394 not the one at the beginning of the section.
4395 (read_rnglist_index): Likewise.
4397 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4400 * dwarf2/attribute.h (struct attribute) <set_unsigned>: Clear
4401 requires_reprocessing flag.
4402 * dwarf2/attribute.c (attribute::form_is_unsigned): Handle
4404 (attribute::form_requires_reprocessing): Handle DW_FORM_rnglistx
4405 and DW_FORM_loclistx.
4406 * dwarf2/read.c (read_attribute_reprocess): Use set_unsigned
4407 instead of set_address for DW_FORM_loclistx and
4410 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4412 * dwarf2/read.c (read_loclist_index): Remove bound check for
4414 (read_rnglist_index): Likewise.
4416 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4418 * dwarf2/read.c (read_loclist_index): Add bound check for the end
4421 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4423 * dwarf2/read.c (read_rnglist_index): Fix bound check.
4425 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
4427 * dwarf2/read.c (read_loclist_index): Change complaints into
4430 2021-02-02 Tom de Vries <tdevries@suse.de>
4433 * dwarf2/index-write.c (write_one_signatured_type): Skip if
4436 2021-02-01 Andrew Burgess <andrew.burgess@embecosm.com>
4438 * Makefile.in (HFILES_NO_SRCDIR): Add corefile.h.
4439 * gcore.c (struct gcore_collect_regset_section_cb_data): Moved
4440 here from linux-tdep.c and given a new name. Minor cleanups.
4441 (gcore_collect_regset_section_cb): Likewise.
4442 (gcore_collect_thread_registers): Likewise.
4443 (gcore_build_thread_register_notes): Likewise.
4444 (gcore_find_signalled_thread): Likewise.
4445 * gcore.h (gcore_build_thread_register_notes): Declare.
4446 (gcore_find_signalled_thread): Declare.
4447 * fbsd-tdep.c: Add 'gcore.h' include.
4448 (struct fbsd_collect_regset_section_cb_data): Delete.
4449 (fbsd_collect_regset_section_cb): Delete.
4450 (fbsd_collect_thread_registers): Delete.
4451 (struct fbsd_corefile_thread_data): Delete.
4452 (fbsd_corefile_thread): Delete.
4453 (fbsd_make_corefile_notes): Call
4454 gcore_build_thread_register_notes instead of the now deleted
4456 * linux-tdep.c: Add 'gcore.h' include.
4457 (struct linux_collect_regset_section_cb_data): Delete.
4458 (linux_collect_regset_section_cb): Delete.
4459 (linux_collect_thread_registers): Delete.
4460 (linux_corefile_thread): Call
4461 gcore_build_thread_register_notes.
4462 (find_signalled_thread): Delete.
4463 (linux_make_corefile_notes): Call gcore_find_signalled_thread.
4465 2021-01-29 Tom de Vries <tdevries@suse.de>
4467 PR breakpoints/26063
4468 * infrun.c (process_event_stop_test): Reset
4469 ecs->event_thread->current_line to 0 if is-stmt=n and frame has
4472 2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
4474 * thread.c (thr_try_catch_cmd): Replace swith_to_thread with an
4475 assert. Extend the header comment.
4477 2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
4479 * Makefile.in (SUBDIR_TUI_SRCS): Add tui/tui-location.c.
4480 (HFILES_NO_SRCDIR): Add tui/tui-location.h.
4481 * tui/tui-data.h (TUI_STATUS_WIN): Define.
4482 (tui_locator_win_info_ptr): Delete declaration.
4483 * tui/tui-disasm.c: Add 'tui/tui-location.h' include.
4484 (tui_disasm_window::set_contents): Fetch state from tui_location
4486 (tui_get_begin_asm_address): Likewise.
4487 * tui/tui-layout.c (tui_apply_current_layout): Remove special case
4489 (get_locator_window): Delete.
4490 (initialize_known_windows): Treat locator window just like all the
4492 * tui/tui-source.c: Add 'tui/tui-location.h' include.
4493 (tui_source_window::set_contents): Fetch state from tui_location
4495 (tui_source_window::showing_source_p): Likewise.
4496 * tui/tui-stack.c: Add 'tui/tui-location.h' include.
4498 (tui_locator_win_info_ptr): Delete.
4499 (tui_locator_window::make_status_line): Fetch state from
4500 tui_location global.
4501 (tui_locator_window::rerender): Remove check of 'handle',
4502 reindent function body.
4503 (tui_locator_window::set_locator_fullname): Delete.
4504 (tui_locator_window::set_locator_info): Delete.
4505 (tui_update_locator_fullname): Delete.
4506 (tui_show_frame_info): Likewise.
4507 (tui_show_locator_content): Access window through TUI_STATUS_WIN.
4508 * tui/tui-stack.h (tui_locator_window::set_locator_info): Moved to
4509 tui/tui-location.h and renamed to
4510 tui_location_tracker::set_location.
4511 (tui_locator_window::set_locator_fullname): Moved to
4512 tui/tui-location.h and renamed to
4513 tui_location_tracker::set_fullname.
4514 (tui_locator_window::full_name): Delete.
4515 (tui_locator_window::proc_name): Delete.
4516 (tui_locator_window::line_no): Delete.
4517 (tui_locator_window::addr): Delete.
4518 (tui_locator_window::gdbarch): Delete.
4519 (tui_update_locator_fullname): Delete declaration.
4520 * tui/tui-wingeneral.c (tui_refresh_all): Removed special handling
4522 * tui/tui-winsource.c: Add 'tui/tui-location.h' include.
4523 (tui_display_main): Call function on tui_location directly.
4524 * tui/tui.h (enum tui_win_type): Add STATUS_WIN.
4525 * tui/tui-location.c: New file.
4526 * tui/tui-location.h: New file.
4528 2021-01-28 Simon Marchi <simon.marchi@polymtl.ca>
4530 * gdbtypes.h (get_type_arch): Rename to...
4531 (struct type) <arch>: ... this, update all users.
4533 2021-01-28 Simon Marchi <simon.marchi@polymtl.ca>
4535 * gdbtypes.h (struct type) <arch>: Rename to...
4536 <arch_owner>: ... this, update all users.
4537 <objfile>: Rename to...
4538 <objfile_owner>: ... this, update all users.
4540 2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
4542 * gdbcmd.h (execute_command_to_string): Update comment.
4543 * top.c (execute_command_to_string): Update header comment.
4545 2021-01-28 Tom de Vries <tdevries@suse.de>
4547 PR breakpoints/27205
4548 * breakpoint.c (create_longjmp_master_breakpoint_probe)
4549 (create_longjmp_master_breakpoint_names): New function, factored out
4551 (create_longjmp_master_breakpoint): ... here. Only try to install
4552 longjmp_names breakpoints in libc.so/libc.so.debug if installing probe
4553 breakpoint in libc.so failed.
4555 2021-01-27 Lancelot SIX <lsix@lancelotsix.com>
4558 * cli/cli-interp.c (cli_interp_base::set_logging): Ensure the
4559 unique_ptr is released when the wrapped pointer is kept for later
4562 2021-01-27 Matthew Malcomson <matthew.malcomson@arm.com>
4564 * aarch64-tdep.c (aarch64_displaced_step_others): Account for
4565 BLR and BR instructions.
4566 * arch/aarch64-insn.h (enum aarch64_opcodes): Add BR opcode.
4567 (enum aarch64_masks): New.
4569 2021-01-26 Tom Tromey <tromey@adacore.com>
4571 * windows-nat.c (DEBUG_EXEC, DEBUG_EVENTS, DEBUG_MEM)
4572 (DEBUG_EXCEPT): Use debug_prefixed_printf_cond.
4573 (windows_init_thread_list, windows_nat::handle_load_dll)
4574 (windows_nat::handle_unload_dll, windows_nat_target::resume)
4575 (windows_nat_target::resume)
4576 (windows_nat_target::get_windows_debug_event)
4577 (windows_nat_target::interrupt, windows_xfer_memory)
4578 (windows_nat_target::close): Update.
4579 * nat/windows-nat.c (DEBUG_EVENTS): Use
4580 debug_prefixed_printf_cond.
4581 (matching_pending_stop, fetch_pending_stop)
4582 (continue_last_debug_event): Update.
4584 2020-12-17 Mihails Strasuns <mihails.strasuns@intel.com>
4586 * linux-tdep.c (linux_make_mappings_corefile_notes): Start using
4587 elfcore_write_file_note.
4589 2021-01-26 Shahab Vahedi <shahab@synopsys.com>
4591 * arc-tdep.c (arc_add_reggroups): New function.
4592 (arc_gdbarch_init): Call arc_add_reggroups.
4594 2021-01-26 Anton Kolesov <anton.kolesov@synopsys.com>
4596 * arc-tdep.c (arc_skip_prologue): Log "pc" address.
4598 2021-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
4599 Simon Marchi <simon.marchi@polymtl.ca>
4600 Tom de Vries <tdevries@suse.de>
4602 * dwarf2/read.c (partial_die_info::read): Use as_unsigned () for
4605 2021-01-25 Tom Tromey <tromey@adacore.com>
4607 * dwarf2/read.c (get_mpz): New function.
4608 (get_dwarf2_rational_constant): Use it.
4610 2021-01-25 Tom Tromey <tromey@adacore.com>
4612 * ada-lang.c (resolve_subexp): Handle array context.
4614 2021-01-23 Tom Tromey <tom@tromey.com>
4617 * compile/compile-loc2c.c (note_register): New function.
4618 (pushf_register_address, pushf_register): Use it.
4620 2021-01-23 Tom Tromey <tom@tromey.com>
4622 * symtab.h (struct symbol_computed_ops) <generate_c_location>:
4623 Change type of "registers_used".
4624 * dwarf2/loc.h (dwarf2_compile_property_to_c): Update.
4625 * dwarf2/loc.c (dwarf2_compile_property_to_c)
4626 (locexpr_generate_c_location, loclist_generate_c_location): Change
4627 type of "registers_used".
4628 * compile/compile.h (compile_dwarf_expr_to_c)
4629 (compile_dwarf_bounds_to_c): Update.
4630 * compile/compile-loc2c.c (pushf_register_address)
4631 (pushf_register, do_compile_dwarf_expr_to_c)
4632 (compile_dwarf_expr_to_c, compile_dwarf_bounds_to_c): Change type
4633 of "registers_used".
4634 * compile/compile-c.h (generate_c_for_variable_locations):
4636 * compile/compile-c-symbols.c (generate_vla_size)
4637 (generate_c_for_for_one_variable): Change type of
4639 (generate_c_for_variable_locations): Return std::vector.
4640 * compile/compile-c-support.c (generate_register_struct): Change
4641 type of "registers_used".
4644 2021-01-23 Tom Tromey <tom@tromey.com>
4646 * compile/compile-internal.h (class compile_instance)
4647 <set_arguments>: Change return type.
4648 * compile/compile.c (compile_to_object): Remove call to reset.
4649 (compile_instance::set_arguments): Change return type.
4651 2021-01-23 Simon Marchi <simon.marchi@polymtl.ca>
4653 * gdbtypes.c (copy_type_recursive): Use get_type_arch.
4654 * gdbtypes.h (struct type) <set_owner>: Add asserts.
4656 2021-01-23 Lancelot SIX <lsix@lancelotsix.com>
4658 * Makefile.in (SELFTESTS_SRCS): Add
4659 unittests/gdb_tilde_expand-selftests.c.
4660 * unittests/gdb_tilde_expand-selftests.c: New file.
4662 2021-01-22 Andrew Burgess <andrew.burgess@embecosm.com>
4665 * NEWS: Mention new command.
4666 * cli/cli-style.c: Add 'cli/cli-setshow.h' include.
4667 (version_style): Define.
4668 (cli_style_option::cli_style_option): Add intensity parameter, and
4670 (_initialize_cli_style): Register version style set/show commands.
4671 * cli/cli-style.h (cli_style_option): Add intensity parameter.
4672 (version_style): Declare.
4673 * top.c (print_gdb_version): Use version_stype, and styled_string
4674 to print the GDB version string.
4676 2021-01-22 Andrew Burgess <andrew.burgess@embecosm.com>
4678 * utils.c (emit_style_escape): Only emit an escape sequence if the
4679 requested style is different than the current applied style.
4680 (fputs_maybe_filtered): Adjust the juggling of the wrap_style, and
4681 current applied_style.
4682 (fputs_styled): Remove is_default check.
4683 (fputs_styled_unfiltered): Likewise.
4684 (vfprintf_styled_no_gdbfmt): Likewise.
4686 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
4688 * remote.h (remote_debug_printf): New.
4689 (remote_debug_printf_nofunc): New.
4690 (REMOTE_SCOPED_DEBUG_ENTER_EXIT): New.
4691 * remote.c: Use above macros throughout file.
4693 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
4695 * remote.h (remote_debug): Change to bool.
4696 * remote.c (remote_debug): Change to bool.
4697 (_initialize_remote): Adjust.
4699 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
4701 * target.h (remote_debug): Move to...
4702 * remote.h (remote_debug): ... here.
4703 * top.c (remote_debug): Move to...
4704 * remote.c (remote_debug): ... here.
4705 * remote-sim.c: Include remote.h.
4707 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
4709 * cli/cli-cmds.c (show_remote_debug): Remove.
4710 (show_remote_timeout): Remove.
4711 (_initialize_cli_cmds): Don't register commands.
4712 * remote.c (show_remote_debug): Move here.
4713 (show_remote_timeout): Move here.
4714 (_initialize_remote): Register commands.
4716 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
4718 * gdbtypes.h (TYPE_OBJFILE): Remove, change all users to use the
4719 type::objfile method instead.
4721 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
4723 * gdbtypes.h (TYPE_OBJFILE_OWNED): Remove, update all users to
4724 use the type::is_objfile_owned method.
4726 2021-01-22 Simon Marchi <simon.marchi@efficios.com>
4728 * gdbtypes.h (TYPE_OBJFILE_OWNED): Adjust.
4729 (TYPE_OWNER): Remove.
4730 (TYPE_OBJFILE): Adjust.
4731 (struct main_type) <flag_objfile_owned>: Rename to...
4732 <m_flag_objfile_owned>: ... this.
4733 <owner>: Rename to...
4734 <m_owner>: ... this.
4735 (struct type) <is_objfile_owned, set_owner, objfile, arch>: New
4737 (TYPE_ALLOC): Adjust.
4738 * gdbtypes.c (alloc_type): Adjust.
4739 (alloc_type_arch): Adjust.
4740 (alloc_type_copy): Adjust.
4741 (get_type_arch): Adjust.
4742 (smash_type): Adjust.
4743 (lookup_array_range_type): Adjust.
4744 (recursive_dump_type): Adjust.
4745 (copy_type_recursive): Adjust.
4746 * compile/compile-c-types.c (convert_func): Adjust.
4747 (convert_type_basic): Adjust.
4748 * compile/compile-cplus-types.c (compile_cplus_convert_func):
4751 (language_arch_info::type_and_symbol::alloc_type_symbol):
4754 2021-01-21 Luis Machado <luis.machado@linaro.org>
4756 * coffread.c (enter_linenos): Passing string to complaint.
4757 * valops.c (value_assign): Make array view.
4759 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
4761 * auto-load.h (debug_auto_load): Move here.
4762 (auto_load_debug_printf): New.
4763 * auto-load.c: Use auto_load_debug_printf.
4764 (debug_auto_load): Move to header.
4765 * linux-thread-db.c (try_thread_db_load): Use
4766 auto_load_debug_printf.
4767 * main.c (captured_main_1): Likewise.
4769 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
4771 * f-valprint.c (f77_array_offset_tbl): Remove.
4773 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
4775 * gdb_bfd.c (bfd_cache_debug_printf): New, use throughout file.
4777 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
4779 * ser-tcp.c (wait_for_connect): Use interruptible_select instead
4782 2021-01-21 Hannes Domani <ssbssa@yahoo.de>
4785 * python/py-breakpoint.c (bppy_get_location): Handle
4786 bp_hardware_breakpoint.
4787 (bppy_init): Likewise.
4788 (gdbpy_breakpoint_created): Likewise.
4790 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
4792 * arm-tdep.c (arm_debug_printf): Add and use throughout file.
4794 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
4796 * gdb_bfd.c (debug_bfd_cache): Change type to bool.
4797 (_initialize_gdb_bfd): Adjust.
4799 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
4802 * dwarf2/read.c (maybe_queue_comp_unit): Add assertion.
4804 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
4806 * dwarf2/read.c (follow_die_offset): Add logging.
4807 (dwarf2_per_objfile::age_comp_units): Add logging.
4809 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
4811 * aarch64-linux-tdep.c (aarch64_linux_record_tdep): Make static.
4812 * aarch64-tdep.c (tdesc_aarch64_list, aarch64_prologue_unwind,
4813 aarch64_stub_unwind, aarch64_normal_base, ): Make static.
4814 * arm-linux-tdep.c (arm_prologue_unwind): Make static.
4815 * arm-tdep.c (struct frame_unwind): Make static.
4816 * auto-load.c (auto_load_safe_path_vec): Make static.
4817 * csky-tdep.c (csky_stub_unwind): Make static.
4818 * gdbarch.c (gdbarch_data_registry): Make static.
4819 * gnu-v2-abi.c (gnu_v2_abi_ops): Make static.
4820 * i386-netbsd-tdep.c (i386nbsd_mc_reg_offset): Make static.
4821 * i386-tdep.c (i386_frame_setup_skip_insns,
4822 i386_tramp_chain_in_reg_insns, i386_tramp_chain_on_stack_insns):
4824 * infrun.c (observer_mode): Make static.
4825 * linux-nat.c (sigchld_action): Make static.
4826 * linux-thread-db.c (thread_db_list): Make static.
4827 * maint-test-options.c (maintenance_test_options_list):
4828 * mep-tdep.c (mep_csr_registers): Make static.
4829 * mi/mi-cmds.c (struct mi_cmd_stats): Remove struct type name.
4830 (stats): Make static.
4831 * nat/linux-osdata.c (struct osdata_type): Make static.
4832 * ppc-netbsd-tdep.c (ppcnbsd_reg_offsets): Make static.
4833 * progspace.c (last_program_space_num): Make static.
4834 * python/py-param.c (struct parm_constant): Remove struct type
4836 (parm_constants): Make static.
4837 * python/py-record-btrace.c (btpy_list_methods): Make static.
4838 * python/py-record.c (recpy_gap_type): Make static.
4839 * record.c (record_goto_cmdlist): Make static.
4840 * regcache.c (regcache_descr_handle): Make static.
4841 * registry.h (DEFINE_REGISTRY): Make definition static.
4842 * symmisc.c (std_in, std_out, std_err): Make static.
4843 * top.c (previous_saved_command_line): Make static.
4844 * tracepoint.c (trace_user, trace_notes, trace_stop_notes): Make
4846 * unittests/command-def-selftests.c (nr_duplicates,
4847 nr_invalid_prefixcmd, lists): Make static.
4848 * unittests/observable-selftests.c (test_notification): Make
4850 * unittests/optional/assignment/1.cc (counter): Make static.
4851 * unittests/optional/assignment/2.cc (counter): Make static.
4852 * unittests/optional/assignment/3.cc (counter): Make static.
4853 * unittests/optional/assignment/4.cc (counter): Make static.
4854 * unittests/optional/assignment/5.cc (counter): Make static.
4855 * unittests/optional/assignment/6.cc (counter): Make static.
4857 2021-01-20 Joel Sherrill <joel@rtems.org>
4860 * remote.c (struct remote_thread_info) <resume_state>: Rename
4862 <get_resume_state>: ... this.
4863 (remote_target::resume): Adjust.
4864 (remote_target::commit_resume): Adjust.
4865 (remote_target::select_thread_for_ambiguous_stop_reply): Adjust.
4867 2021-01-20 Sergio Durigan Junior <sergiodj@sergiodj.net>
4868 Tom Tromey <tom@tromey.com>
4870 * stap-probe.c (stap_parse_single_operand): Handle '!'
4872 (stap_parse_argument_conditionally): Likewise.
4873 Skip spaces after processing open-parenthesis sub-expression.
4874 (stap_parse_argument_1): Skip spaces after call to
4875 stap_parse_argument_conditionally.
4876 Handle case when right-side expression is a parenthesized
4878 Skip spaces after call to stap_parse_argument_1.
4880 2021-01-19 Lancelot SIX <lsix@lancelotsix.com>
4882 * top.h (switch_thru_all_uis): Use DISABLE_COPY_AND_ASSIGN.
4884 2021-01-19 Luis Machado <luis.machado@linaro.org>
4886 * trad-frame.h (trad_frame_saved_reg) <set_value_bytes>: Allocate
4887 memory and save data.
4888 (trad_frame_set_value, trad_frame_set_realreg, trad_frame_set_addr)
4889 (trad_frame_set_unknown, trad_frame_set_value_bytes)
4890 (trad_frame_value_p, trad_frame_addr_p, trad_frame_realreg_p)
4891 (trad_frame_value_bytes_p): Remove.
4892 (trad_frame_reset_saved_regs): Adjust documentation.
4893 * trad-frame.c (trad_frame_alloc_saved_regs): Initialize via a
4894 constructor and reset the state of the registers.
4895 (trad_frame_value_p, trad_frame_addr_p, trad_frame_realreg_p)
4896 (trad_frame_value_bytes_p, trad_frame_set_value)
4897 (trad_frame_set_realreg, trad_frame_set_addr)
4898 (trad_frame_set_unknown, trad_frame_set_value_bytes): Remove.
4899 (trad_frame_set_reg_realreg): Update to call member function.
4900 (trad_frame_set_reg_addr, trad_frame_set_reg_value_bytes): Likewise.
4901 (trad_frame_get_prev_register): Likewise.
4903 * aarch64-tdep.c (aarch64_analyze_prologue)
4904 (aarch64_analyze_prologue_test, aarch64_make_prologue_cache_1)
4905 (aarch64_prologue_prev_register): Update to use member functions.
4906 * alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind_cache): Likewise.
4907 * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Likewise.
4908 * arc-tdep.c (arc_print_frame_cache, arc_make_frame_cache): Likewise.
4909 * arm-tdep.c (arm_make_prologue_cache, arm_exidx_fill_cache)
4910 (arm_make_epilogue_frame_cache): Likewise.
4911 * avr-tdep.c (avr_frame_unwind_cache)
4912 (avr_frame_prev_register): Likewise.
4913 * cris-tdep.c (cris_scan_prologue): Likewise.
4914 * csky-tdep.c (csky_frame_unwind_cache): Likewise.
4915 * frv-tdep.c (frv_analyze_prologue): Likewise.
4916 * hppa-tdep.c (hppa_frame_cache, hppa_fallback_frame_cache): Likewise.
4917 * lm32-tdep.c (lm32_frame_cache): Likewise.
4918 * m32r-tdep.c (m32r_frame_unwind_cache): Likewise.
4919 * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise.
4920 * mips-tdep.c (set_reg_offset, mips_insn16_frame_cache)
4921 (mips_micro_frame_cache, mips_insn32_frame_cache): Likewise.
4922 (reset_saved_regs): Adjust to set realreg.
4923 * riscv-tdep.c (riscv_scan_prologue, riscv_frame_cache): Adjust to
4924 call member functions.
4925 * rs6000-tdep.c (rs6000_frame_cache, rs6000_epilogue_frame_cache)
4926 * s390-tdep.c (s390_prologue_frame_unwind_cache)
4927 (s390_backchain_frame_unwind_cache): Likewise.
4928 * score-tdep.c (score7_analyze_prologue)
4929 (score3_analyze_prologue, score_make_prologue_cache): Likewise.
4930 * sparc-netbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise.
4931 * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise.
4932 * sparc64-netbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise.
4933 * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise.
4934 * tilegx-tdep.c (tilegx_analyze_prologue)
4935 (tilegx_frame_cache): Likewise.
4936 * v850-tdep.c (v850_frame_cache): Likewise.
4937 * vax-tdep.c (vax_frame_cache): Likewise.
4939 2021-01-19 Luis Machado <luis.machado@linaro.org>
4941 * frame.h (get_frame_register_bytes): Pass a gdb::array_view instead
4943 (put_frame_register_bytes): Likewise.
4944 Adjust documentation.
4945 (get_frame_memory): Pass a gdb::array_view instead of buffer + length.
4946 (safe_frame_unwind_memory): Likewise.
4947 * frame.c (get_frame_register_bytes, put_frame_register_bytes)
4948 (get_frame_memory, safe_frame_unwind_memory): Adjust to use
4950 * amd64-fbsd-tdep.c (amd64fbsd_sigtramp_p): Likewise.
4951 * amd64-linux-tdep.c (amd64_linux_sigtramp_start): Likewise.
4952 * amd64-obsd-tdep.c (amd64obsd_sigtramp_p): Likewise.
4953 * arc-linux-tdep.c (arc_linux_is_sigtramp): Likewise.
4954 * cris-tdep.c (cris_sigtramp_start, cris_rt_sigtramp_start): Likewise.
4955 * dwarf2/loc.c (rw_pieced_value): Likewise.
4956 * hppa-tdep.c (hppa_frame_cache): Likewise.
4957 * i386-fbsd-tdep.c (i386fbsd_sigtramp_p): Likewise.
4958 * i386-gnu-tdep.c (i386_gnu_sigtramp_start): Likewise.
4959 * i386-linux-tdep.c (i386_linux_sigtramp_start)
4960 (i386_linux_rt_sigtramp_start): Likewise.
4961 * i386-obsd-tdep.c (i386obsd_sigtramp_p): Likewise.
4962 * i386-tdep.c (i386_register_to_value): Likewise.
4963 * i387-tdep.c (i387_register_to_value): Likewise.
4964 * ia64-tdep.c (ia64_register_to_value): Likewise.
4965 * m32r-linux-tdep.c (m32r_linux_sigtramp_start)
4966 (m32r_linux_rt_sigtramp_start): Likewise.
4967 * m68k-linux-tdep.c (m68k_linux_pc_in_sigtramp): Likewise.
4968 * m68k-tdep.c (m68k_register_to_value): Likewise.
4969 * mips-tdep.c (mips_register_to_value)
4970 (mips_value_to_register): Likewise.
4971 * ppc-fbsd-tdep.c (ppcfbsd_sigtramp_frame_sniffer)
4972 (ppcfbsd_sigtramp_frame_cache): Likewise.
4973 * ppc-obsd-tdep.c (ppcobsd_sigtramp_frame_sniffer)
4974 (ppcobsd_sigtramp_frame_cache): Likewise.
4975 * rs6000-tdep.c (rs6000_in_function_epilogue_frame_p)
4976 (rs6000_register_to_value): Likewise.
4977 * tilegx-tdep.c (tilegx_analyze_prologue): Likewise.
4978 * tramp-frame.c (tramp_frame_start): Likewise.
4979 * valops.c (value_assign): Likewise.
4981 2021-01-19 Luis Machado <luis.machado@linaro.org>
4983 * aarch64-linux-tdep.c (aarch64_linux_restore_vreg): Pass in an
4985 * trad-frame.c (trad_frame_set_value_bytes): Use gdb::array_view
4986 instead of buffer and size.
4987 (trad_frame_set_reg_value_bytes): Likewise.
4988 * trad-frame.h (trad_frame_set_reg_value_bytes): Likewise.
4989 (trad_frame_set_value_bytes): Likewise.
4991 2021-01-18 Mike Frysinger <vapier@gentoo.org>
4993 * copyright.py (NOT_FSF_LIST): Delete sim/testsuite/sim/bfin/s21.s.
4995 2021-01-18 Andrew Burgess <andrew.burgess@embecosm.com>
4997 * riscv-fbsd-tdep.c (riscv_fbsd_supply_gregset): Delete.
4998 (riscv_fbsd_gregset): Use riscv_supply_regset.
4999 (riscv_fbsd_fpregset): Likewise.
5000 * riscv-linux-tdep.c (riscv_linux_gregset): Likewise.
5001 (riscv_linux_fregset): Likewise.
5002 * riscv-tdep.c (riscv_supply_regset): Define new function.
5003 * riscv-tdep.h (riscv_supply_regset): Declare new function.
5005 2021-01-18 Tom de Vries <tdevries@suse.de>
5008 * nat/amd64-linux-siginfo.c (cpt_si_lower, cpt_si_upper, SEGV_BNDERR):
5010 (compat_siginfo_from_siginfo): Copy cpt_si_lower and cpt_si_upper
5013 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
5015 * remote.c (class remote_target) <remote_hostio_send_command,
5016 remote_hostio_parse_result>: Constify parameter.
5017 (remote_hostio_parse_result): Likewise.
5018 (remote_target::remote_hostio_send_command): Adjust.
5019 (remote_target::remote_hostio_pread_vFile): Adjust.
5020 (remote_target::fileio_readlink): Adjust.
5021 (remote_target::fileio_fstat): Adjust.
5023 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
5025 * remote.c (remote_target::start_remote): Move wait_status to
5028 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
5030 * remote.c (class remote_target):
5031 <add_current_inferior_and_thread>: Constify parameter.
5032 (stop_reply_extract_thread): Likewise.
5033 (remote_target::get_current_thread): Likewise.
5034 (remote_target::add_current_inferior_and_thread): Likewise.
5036 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
5038 * remote.c (class remote_target)
5039 <remote_unpack_thread_info_response,
5040 parse_threadlist_response>: Constify parameter and/or return
5041 value and or local variable.
5042 (stub_unpack_int): Likewise.
5043 (unpack_nibble): Likewise.
5044 (unpack_byte): Likewise.
5045 (unpack_int): Likewise.
5046 (unpack_string): Likewise.
5047 (unpack_threadid): Likewise.
5048 (remote_target::remote_unpack_thread_info_response): Likewise.
5049 (remote_target::parse_threadlist_response): Likewise.
5051 2021-01-15 Andrew Burgess <andrew.burgess@embecosm.com>
5053 * tui/tui.c (tui_is_window_visible): Compare to nullptr, not 0.
5055 2021-01-14 Lancelot Six <lsix@lancelotsix.com>
5057 * MAINTAINERS (Write After Approval): Add myself.
5059 2021-01-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
5061 * trad-frame.c (trad_frame_alloc_saved_regs): Avoid compile-error
5062 because is_trivially_default_constructible was first implemented with
5065 2021-01-14 Tom de Vries <tdevries@suse.de>
5067 PR breakpoints/27151
5068 * objfiles.h (in_plt_section): Handle .plt.sec.
5070 2021-01-13 Andrew Burgess <andrew.burgess@embecosm.com>
5074 (remote_target::select_thread_for_ambiguous_stop_reply): New
5076 (remote_target::process_stop_reply): Call
5077 select_thread_for_ambiguous_stop_reply.
5079 2021-01-13 Simon Marchi <simon.marchi@efficios.com>
5081 * record-btrace.c (class record_btrace_target): Remove.
5082 (record_btrace_target::commit_resume): Remove.
5083 * record-full.c (class record_full_target): Remove.
5084 (record_full_target::commit_resume): Remove.
5086 2021-01-13 Simon Marchi <simon.marchi@efficios.com>
5088 * remote.c (enum class resume_state): New.
5089 (struct resumed_pending_vcont_info): New.
5090 (struct remote_thread_info) <resume_state, set_not_resumed,
5091 set_resumed_pending_vcont, resumed_pending_vcont_info,
5092 set_resumed, m_resume_state, m_resumed_pending_vcont_info>:
5094 <last_resume_step, last_resume_sig, vcont_resumed>: Remove.
5095 (remote_target::remote_add_thread): Adjust.
5096 (remote_target::process_initial_stop_replies): Adjust.
5097 (remote_target::resume): Adjust.
5098 (remote_target::commit_resume): Rely on state in
5099 remote_thread_info and not on tp->executing.
5100 (remote_target::process_stop_reply): Adjust.
5102 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
5104 * arc-tdep.h (arc_debug_printf): New.
5105 * arc-tdep.c: Use arc_debug_printf.
5106 * arc-linux-nat.c (arc_linux_nat_debug_printf): Add and use.
5107 * arc-linux-tdep.c (arc_linux_debug_printf): Add and use.
5108 * arc-newlib-tdep.c (arc_newlib_debug_printf): Add and use.
5110 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
5112 * arc-tdep.h (arc_debug): Change type to bool.
5113 * arc-tdep.c (arc_debug): Change type to bool.
5114 (arc_analyze_prologue): Adjust.
5115 (_initialize_arc_tdep): Use add_setshow_boolean_cmd.
5116 * arc-linux-nat.c (ps_get_thread_area): Adjust.
5118 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
5120 * auto-load.c (auto_load_objfile_script_1): Use bool.
5121 (execute_script_contents): Use bool.
5123 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
5125 * auto-load.h (auto_load_gdb_scripts_enabled): Return bool, move
5127 * auto-load.c (auto_load_gdb_scripts_enabled): Return bool, move
5129 * extension-priv.h (struct extension_language_script_ops)
5130 <auto_load_enabled>: Return bool.
5131 * extension.h (ext_lang_auto_load_enabled): Return bool, move
5133 * extension.c (ext_lang_auto_load_enabled): Return bool, move
5135 * guile/guile-header.h (gdbscm_auto_load_enabled): Return bool,
5137 * guile/scm-auto-load.c (gdbscm_auto_load_enabled): Return bool,
5138 move comment to header.
5139 * python/python-header.h (gdbpy_auto_load_enabled): Return bool,
5141 * python/py-auto-load.c (gdbpy_auto_load_enabled): Return bool,
5142 move comment to header.
5144 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
5146 * auto-load.h (file_is_auto_load_safe): Change return type to
5147 bool, move comment here.
5148 * auto-load.c (file_is_auto_load_safe): Change return type and
5149 advice_printed to bool. Move comment to header.
5151 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
5153 * jit.c (jit_debug_printf): New, use throughout file.
5155 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
5157 * infrun.c (normal_stop): Fix indentation.
5159 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
5161 * top.h (readnow_symbol_files, readnever_symbol_files): Move
5163 * symfile.h: ... here.
5164 * symfile.c: Update doc.
5166 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
5168 * target.h (baud_rate, serial_parity): Move declarations...
5169 * serial.h: ... here.
5170 * main.c: Include serial.h.
5171 * serial.c (baud_rate, serial_parity): Update doc.
5173 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
5175 * top.c (pre_init_ui_hook): Remove.
5177 2021-01-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
5179 * aarch64-tdep.c (aarch64_vnh_type): Add "bf" field in h registers.
5180 (aarch64_vnv_type): Add "bf" type in h field of v registers.
5181 * features/aarch64-fpu.c (create_feature_aarch64_fpu): Regenerated.
5182 * features/aarch64-fpu.xml: Add bfloat16 type.
5184 2021-01-12 Andrew Burgess <andrew.burgess@embecosm.com>
5186 * expprint.c (dump_subexp_body_standard): Handle OP_BOOL.
5188 2021-01-12 Andrew Burgess <andrew.burgess@embecosm.com>
5190 * f-exp.y (dot_ops): Rename to...
5191 (fortran_operators): ...this. Add a header comment. Add symbol
5193 (yylex): Update to use fortran_operators not dot_ops. Remove
5194 special handling for '**', this is now included in
5197 2021-01-11 Simon Marchi <simon.marchi@polymtl.ca>
5199 * arch/aarch64-insn.h (aarch64_debug_printf): New.
5200 * arch/aarch64-insn.c: Use aarch64_debug_printf.
5201 * aarch64-tdep.c: Use aarch64_debug_printf.
5203 2021-01-11 Simon Marchi <simon.marchi@polymtl.ca>
5205 * solib-aix.c (solib_aix_debug_printf): New, use throughout
5208 2021-01-11 Simon Marchi <simon.marchi@polymtl.ca>
5210 * jit.c (jit_debug): Change type to bool.
5211 (_initialize_jit): Adjust.
5213 2021-01-09 Tom Tromey <tom@tromey.com>
5216 * compile/compile.c (compile_to_object): Avoid crash when
5217 osabi_triplet_regexp returns NULL.
5219 2021-01-09 Tom Tromey <tom@tromey.com>
5221 * tracepoint.h (class collection_list) <append_exp>: Take a
5223 * tracepoint.c (collection_list::append_exp): Take a std::string.
5224 (encode_actions_1): Update.
5226 2021-01-08 Tom Tromey <tromey@adacore.com>
5228 * parse.c (parse_expression): Add void_context_p parameter. Use
5229 parse_exp_in_context.
5230 * printcmd.c (print_command_1): Change voidprint to bool. Pass to
5232 (print_command, call_command): Update.
5233 * expression.h (parse_expression): Add void_context_p parameter.
5235 2021-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
5237 * value.c (set_value_component_location): Adjust the VALUE_LVAL
5238 for internalvar components that have a dynamic location.
5240 2021-01-08 Tom de Vries <tdevries@suse.de>
5243 * breakpoint.c (create_exception_master_breakpoint_probe)
5244 (create_exception_master_breakpoint_hook): Factor out
5246 (create_exception_master_breakpoint): ... here. Only try to install
5247 the master exception breakpoint in objfile.debug using the
5248 _Unwind_DebugHook method, if the install using probes in objfile
5251 2021-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
5253 * f-lang.c (fortran_value_subarray): Call value_from_component.
5255 2021-01-07 Mike Frysinger <vapier@gentoo.org>
5257 * remote-sim.c: Include memory-map.h.
5258 (gdbsim_target): Define memory_map override.
5259 (gdbsim_target::memory_map): Define.
5261 2021-01-07 Tom Tromey <tromey@adacore.com>
5263 * ada-lang.c (do_full_match): Conditionally skip "_ada_" prefix.
5265 2021-01-07 Tom Tromey <tromey@adacore.com>
5267 * ada-lang.c (add_component_interval): Start loop using vector's
5270 2021-01-06 Tom Tromey <tromey@adacore.com>
5272 * ada-lang.c (ada_evaluate_subexp) <BINOP_ADD, BINOP_SUB>:
5274 * valarith.c (fixed_point_binop): Handle multiplication
5275 and division specially.
5276 * valops.c (value_to_gdb_mpq): New function.
5277 (value_cast_to_fixed_point): Use it.
5279 2021-01-05 Hannes Domani <ssbssa@yahoo.de>
5281 * tui/tui-winsource.c (tui_source_window_base::refresh_window):
5282 Call wnoutrefresh instead of tui_win_info::refresh_window.
5284 2021-01-05 Hannes Domani <ssbssa@yahoo.de>
5286 * tui/tui-source.c (tui_source_window::show_line_number):
5287 Redraw second space after line number.
5289 2021-01-05 Hannes Domani <ssbssa@yahoo.de>
5292 * tui/tui-winsource.c (tui_source_window_base::refresh_window):
5293 Fix source pad size in prefresh.
5294 (tui_source_window_base::show_source_content): Grow source pad
5297 2021-01-04 Mike Frysinger <vapier@gentoo.org>
5299 * bfin-tdep.c (bfin_push_dummy_call): Use align_up.
5300 (bfin_frame_align): Use align_down.
5302 2021-01-04 Tom de Vries <tdevries@suse.de>
5304 * buildsym.c (buildsym_compunit::record_line): Filter out end-of-seq
5305 terminators that do not terminate anything.
5307 2021-01-04 Simon Marchi <simon.marchi@efficios.com>
5309 * debug.c (debug_print_depth): New.
5310 * infrun.h (INFRUN_SCOPED_DEBUG_START_END): New.
5311 (INFRUN_SCOPED_DEBUG_ENTER_EXIT): New.
5312 * infrun.c (start_step_over): Use
5313 INFRUN_SCOPED_DEBUG_ENTER_EXIT.
5314 (proceed): Use INFRUN_SCOPED_DEBUG_ENTER_EXIT and
5315 INFRUN_SCOPED_DEBUG_START_END.
5316 (fetch_inferior_event): Use INFRUN_SCOPED_DEBUG_ENTER_EXIT.
5318 2021-01-04 Simon Marchi <simon.marchi@efficios.com>
5320 * infrun.c (print_target_wait_results): Use infrun_debug_printf.
5322 2021-01-04 Simon Marchi <simon.marchi@efficios.com>
5324 * utils.c (vfprintf_unfiltered): Print timestamp only when
5325 previous debug output ended with a newline.
5327 2021-01-04 Luis Machado <luis.machado@linaro.org>
5329 Update all users of trad_frame_saved_reg to use the new member
5332 Remote all struct keywords from declarations of trad_frame_saved_reg
5333 types, except on forward declarations.
5335 * aarch64-tdep.c: Update.
5336 * alpha-mdebug-tdep.c: Update.
5337 * alpha-tdep.c: Update.
5338 * arc-tdep.c: Update.
5339 * arm-tdep.c: Update.
5340 * avr-tdep.c: Update.
5341 * cris-tdep.c: Update.
5342 * csky-tdep.c: Update.
5343 * frv-tdep.c: Update.
5344 * hppa-linux-tdep.c: Update.
5345 * hppa-tdep.c: Update.
5346 * hppa-tdep.h: Update.
5347 * lm32-tdep.c: Update.
5348 * m32r-linux-tdep.c: Update.
5349 * m32r-tdep.c: Update.
5350 * m68hc11-tdep.c: Update.
5351 * mips-tdep.c: Update.
5352 * moxie-tdep.c: Update.
5353 * riscv-tdep.c: Update.
5354 * rs6000-tdep.c: Update.
5355 * s390-linux-tdep.c: Update.
5356 * s390-tdep.c: Update.
5357 * score-tdep.c: Update.
5358 * sparc-netbsd-tdep.c: Update.
5359 * sparc-sol2-tdep.c: Update.
5360 * sparc64-fbsd-tdep.c: Update.
5361 * sparc64-netbsd-tdep.c: Update.
5362 * sparc64-obsd-tdep.c: Update.
5363 * sparc64-sol2-tdep.c: Update.
5364 * tilegx-tdep.c: Update.
5365 * v850-tdep.c: Update.
5366 * vax-tdep.c: Update.
5368 * frame-unwind.c (frame_unwind_got_bytes): Make parameter const.
5369 * frame-unwind.h (frame_unwind_got_bytes): Likewise.
5371 * trad-frame.c: Update.
5372 Remove TF_REG_* enum.
5373 (trad_frame_alloc_saved_regs): Add a static assertion to check for
5374 a trivially-constructible struct.
5375 (trad_frame_reset_saved_regs): Adjust to use member function.
5376 (trad_frame_value_p): Likewise.
5377 (trad_frame_addr_p): Likewise.
5378 (trad_frame_realreg_p): Likewise.
5379 (trad_frame_value_bytes_p): Likewise.
5380 (trad_frame_set_value): Likewise.
5381 (trad_frame_set_realreg): Likewise.
5382 (trad_frame_set_addr): Likewise.
5383 (trad_frame_set_unknown): Likewise.
5384 (trad_frame_set_value_bytes): Likewise.
5385 (trad_frame_get_prev_register): Likewise.
5386 * trad-frame.h: Update.
5387 (trad_frame_saved_reg_kind): New enum.
5388 (struct trad_frame_saved_reg) <addr, realreg, data>: Remove.
5389 <m_kind, m_reg>: New member fields.
5390 <set_value, set_realreg, set_addr, set_unknown, set_value_bytes>
5391 <kind, value, realreg, addr, value_bytes, is_value, is_realreg>
5392 <is_addr, is_unknown, is_value_bytes>: New member functions.
5394 2021-01-02 Simon Marchi <simon.marchi@polymtl.ca>
5396 * target-float.c: Fix typos.
5398 2021-01-02 Hannes Domani <ssbssa@yahoo.de>
5400 * gdb-gdb.py.in: Fix main_type.flds_bnds.bounds pretty printer.
5402 2021-01-01 Joel Brobecker <brobecker@adacore.com>
5404 * gdbarch.sh: Update copyright year range.
5406 2021-01-01 Joel Brobecker <brobecker@adacore.com>
5408 Update copyright year range in copyright header of all GDB files.
5410 2021-01-01 Joel Brobecker <brobecker@adacore.com>
5412 * copyright.py (get_update_list): Add "gdbserver" and "gdbsupport"
5413 to the list of directories to update.
5415 2021-01-01 Joel Brobecker <brobecker@adacore.com>
5417 * top.c (print_gdb_version): Update copyright year.
5419 2021-01-01, 21 Joel Brobecker <brobecker@adacore.com>
5421 * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2020.
5423 For older changes see ChangeLog-2020.
5429 version-control: never