1 2021-03-24 Tom Tromey <tom@tromey.com>
3 * dwarf2/read.c (dw2_map_matching_symbols): Update.
4 (dw2_expand_symtabs_matching_symbol): Remove 'kind' parameter.
5 (check_match, dw2_expand_symtabs_matching)
6 (dwarf2_debug_names_index::map_matching_symbols)
7 (dwarf2_debug_names_index::expand_symtabs_matching): Update.
9 2021-03-24 Keith Seitz <keiths@redhat.com>
11 * compile/compile-cplus-types.c
12 (compile_cplus_convert_struct_or_union): Fix TYPE_DECLARED_CLASS
15 2021-03-24 Simon Marchi <simon.marchi@polymtl.ca>
17 * gdbarch.sh (gdbarch_data_registry): Make static.
18 * gdbarch.c: Re-generate.
20 2021-03-24 Luis Machado <luis.machado@linaro.org>
22 * NEWS: Mention memory tagging changes.
24 2021-03-24 Luis Machado <luis.machado@linaro.org>
26 * printcmd.c (decode_format): Handle the 'm' modifier.
27 (do_examine): Display allocation tags when required/supported.
28 (should_validate_memtags): New function.
29 (print_command_1): Display memory tag mismatches.
30 * valprint.c (show_memory_tag_violations): New function.
31 (value_print_option_defs): Add new option "memory-tag-violations".
32 (user_print_options) <memory_tag_violations>: Initialize to 1.
33 * valprint.h (struct format_data) <print_tags>: New field.
34 (value_print_options) <memory_tag_violations>: New field.
36 2021-03-24 Luis Machado <luis.machado@linaro.org>
38 * printcmd.c: Include gdbsupport/rsp-low.h.
39 (memory_tag_list): New static global.
40 (process_print_command_args): Factored out of
42 (print_command_1): Use process_print_command_args.
43 (show_addr_not_tagged, show_memory_tagging_unsupported)
44 (memory_tag_command, memory_tag_print_tag_command)
45 (memory_tag_print_logical_tag_command)
46 (memory_tag_print_allocation_tag_command, parse_with_logical_tag_input)
47 (memory_tag_with_logical_tag_command, parse_set_allocation_tag_input)
48 (memory_tag_set_allocation_tag_command, memory_tag_check_command): New
50 (_initialize_printcmd): Add "memory-tag" prefix and subcommands.
52 2021-03-24 Luis Machado <luis.machado@linaro.org>
54 * aarch64-linux-tdep.c
55 (aarch64_linux_iterate_over_regset_sections): Handle MTE register set.
56 * aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_MTE_REGSET): Define.
58 2021-03-24 Luis Machado <luis.machado@linaro.org>
60 * aarch64-linux-tdep.c
61 (aarch64_linux_report_signal_info): New function.
62 (aarch64_linux_init_abi): Register
63 aarch64_linux_report_signal_info as the report_signal_info hook.
64 * arch/aarch64-linux.h (SEGV_MTEAERR): Define.
65 (SEGV_MTESERR): Define.
67 2021-03-24 Luis Machado <luis.machado@linaro.org>
69 * aarch64-linux-tdep.c: Include gdbsupport/selftest.h.
70 (aarch64_linux_ltag_tests): New function.
71 (_initialize_aarch64_linux_tdep): Register aarch64_linux_ltag_tests.
73 2021-03-24 Luis Machado <luis.machado@linaro.org>
75 * aarch64-linux-tdep.c: Include target.h, arch-utils.h, value.h.
76 (aarch64_mte_get_atag, aarch64_linux_tagged_address_p)
77 (aarch64_linux_memtag_mismatch_p, aarch64_linux_set_memtags)
78 (aarch64_linux_get_memtag, aarch64_linux_memtag_to_string): New
80 (aarch64_linux_init_abi): Initialize MTE-related gdbarch hooks.
81 * arch/aarch64-mte-linux.c (aarch64_mte_make_ltag_bits)
82 (aarch64_mte_make_ltag, aarch64_linux_set_ltag)
83 (aarch64_linux_get_ltag): New functions.
84 * arch/aarch64-mte-linux.h (AARCH64_MTE_LOGICAL_TAG_START_BIT)
85 (AARCH64_MTE_LOGICAL_MAX_VALUE): Define.
86 (aarch64_mte_make_ltag_bits, aarch64_mte_make_ltag)
87 (aarch64_mte_set_ltag, aarch64_mte_get_ltag): New prototypes.
89 2021-03-24 Luis Machado <luis.machado@linaro.org>
91 * linux-tdep.c (struct smaps_vmflags) <memory_tagging>: New flag
93 (struct smaps_data): New struct.
94 (decode_vmflags): Handle the 'mt' flag.
95 (parse_smaps_data): New function, refactored from
96 linux_find_memory_regions_full.
97 (linux_address_in_memtag_page): New function.
98 (linux_find_memory_regions_full): Refactor into parse_smaps_data.
99 * linux-tdep.h (linux_address_in_memtag_page): New prototype.
101 2021-03-24 Luis Machado <luis.machado@linaro.org>
103 * linux-tdep.c (linux_find_memory_regions_full): Use std::string
104 instead of char arrays.
106 2021-03-24 Luis Machado <luis.machado@linaro.org>
108 * Makefile.in (ALL_64_TARGET_OBS): Add arch/aarch64-mte-linux.o.
109 (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h and
110 nat/aarch64-mte-linux-ptrace.h.
111 * aarch64-linux-nat.c: Include nat/aarch64-mte-linux-ptrace.h.
112 (aarch64_linux_nat_target) <supports_memory_tagging>: New method
114 <fetch_memtags>: New method override.
115 <store_memtags>: New method override.
116 (aarch64_linux_nat_target::supports_memory_tagging): New method.
117 (aarch64_linux_nat_target::fetch_memtags): New method.
118 (aarch64_linux_nat_target::store_memtags): New method.
119 * arch/aarch64-mte-linux.c: New file.
120 * arch/aarch64-mte-linux.h: Include gdbsupport/common-defs.h.
121 (AARCH64_MTE_GRANULE_SIZE): Define.
122 (aarch64_memtag_type): New enum.
123 (aarch64_mte_get_tag_granules): New prototype.
124 * configure.nat (NATDEPFILES): Add nat/aarch64-mte-linux-ptrace.o.
125 * configure.tgt (aarch64*-*-linux*): Add arch/aarch64-mte-linux.o.
126 * nat/aarch64-mte-linux-ptrace.c: New file.
127 * nat/aarch64-mte-linux-ptrace.h: New file.
129 2021-03-24 Luis Machado <luis.machado@linaro.org>
131 * Makefile.in (HFILES_NO_SRCDIR): Add nat/aarch64-mte-linux-ptrace.h.
132 * nat/aarch64-mte-linux-ptrace.h: New file.
134 2021-03-24 Luis Machado <luis.machado@linaro.org>
136 * aarch64-linux-nat.c (fetch_mteregs_from_thread): New function.
137 (store_mteregs_to_thread): New function.
138 (aarch64_linux_nat_target::fetch_registers): Update to call
139 fetch_mteregs_from_thread.
140 (aarch64_linux_nat_target::store_registers): Update to call
141 store_mteregs_to_thread.
142 * aarch64-tdep.c (aarch64_mte_register_names): New struct.
143 (aarch64_cannot_store_register): Handle MTE registers.
144 (aarch64_gdbarch_init): Initialize and setup MTE registers.
145 * aarch64-tdep.h (gdbarch_tdep) <mte_reg_base>: New field.
146 <has_mte>: New method.
147 * arch/aarch64-linux.h (AARCH64_LINUX_SIZEOF_MTE): Define.
149 2021-03-24 Luis Machado <luis.machado@linaro.org>
151 * aarch64-linux-nat.c
152 (aarch64_linux_nat_target::read_description): Take MTE flag into
154 Slight refactor to hwcap flag checking.
155 * aarch64-linux-tdep.c
156 (aarch64_linux_core_read_description): Likewise.
157 * aarch64-tdep.c (tdesc_aarch64_list): Add one more dimension for
159 (aarch64_read_description): Add mte_p parameter and update to use it.
160 Update the documentation.
161 (aarch64_gdbarch_init): Update call to aarch64_read_description.
162 * aarch64-tdep.h (aarch64_read_description): Add mte_p parameter.
163 * arch/aarch64.c: Include ../features/aarch64-mte.c.
164 (aarch64_create_target_description): Add mte_p parameter and update
166 * arch/aarch64.h (aarch64_create_target_description): Add mte_p
168 * features/Makefile (FEATURE_XMLFILES): Add aarch64-mte.xml.
169 * features/aarch64-mte.c: New file, generated.
170 * features/aarch64-mte.xml: New file.
172 2021-03-24 Luis Machado <luis.machado@linaro.org>
174 * Makefile.in (HFILES_NO_SRCDIR): Add arch/aarch64-mte-linux.h.
175 * aarch64-linux-nat.c: Include arch/aarch64-mte-linux.h.
176 * aarch64-linux-tdep.c: Likewise
177 * arch/aarch64-mte-linux.h: New file.
179 2021-03-24 Luis Machado <luis.machado@linaro.org>
181 * remote: Include gdbsupport/selftest.h.
182 (test_memory_tagging_functions): New function.
183 (_initialize_remote): Register test_memory_tagging_functions.
185 2021-03-24 Luis Machado <luis.machado@linaro.org>
187 * remote.c (PACKET_memory_tagging_feature): New enum.
188 (remote_memory_tagging_p): New function.
189 (remote_protocol_features): New "memory-tagging" entry.
190 (remote_target::remote_query_supported): Handle memory tagging
192 (remote_target::supports_memory_tagging): Implement.
193 (create_fetch_memtags_request, parse_fetch_memtags_reply)
194 (create_store_memtags_request): New functions.
195 (remote_target::fetch_memtags): Implement.
196 (remote_target::store_memtags): Implement.
197 (_initialize_remote): Add new "memory-tagging-feature"
200 2021-03-24 Luis Machado <luis.machado@linaro.org>
202 * arch-utils.c (default_memtag_to_string, default_tagged_address_p)
203 (default_memtag_matches_p, default_set_memtags)
204 (default_get_memtag): New functions.
205 * arch-utils.h (default_memtag_to_string, default_tagged_address_p)
206 (default_memtag_matches_p, default_set_memtags)
207 (default_get_memtag): New prototypes.
208 * gdbarch.c: Regenerate.
209 * gdbarch.h: Regenerate.
210 * gdbarch.sh (memtag_to_string, tagged_address_p, memtag_matches_p)
211 (set_memtags, get_memtag, memtag_granule_size): New gdbarch hooks.
212 (enum memtag_type): New enum.
214 2021-03-24 Luis Machado <luis.machado@linaro.org>
216 * remote.c (remote_target) <supports_memory_tagging>: New method
218 <fetch_memtags>: New method override.
219 <store_memtags>: New method override.
220 (remote_target::supports_memory_tagging): New method.
221 (remote_target::fetch_memtags): New method.
222 (remote_target::store_memtags): New method.
223 * target-delegates.c: Regenerate.
224 * target.h (struct target_ops) <supports_memory_tagging>: New virtual
226 <fetch_memtags>: New virtual method.
227 <store_memtags>: New virtual method.
228 (target_supports_memory_tagging): Define.
229 (target_fetch_memtags): Define.
230 (target_store_memtags): Define.
231 * target-debug.h (target_debug_print_size_t)
232 (target_debug_print_const_gdb_byte_vector_r)
233 (target_debug_print_gdb_byte_vector_r): New functions.
235 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
237 * target.h (target_longname): Remove.
239 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
241 * target.h (target_is_pushed): Remove, update callers to use
242 inferior::target_is_pushed instead.
243 * target.c (target_is_pushed): Remove.
245 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
247 * target.h (push_target): Remove, update callers to use
248 inferior::push_target.
249 * target.c (push_target): Remove.
250 * inferior.h (class inferior) <push_target>: New overload.
252 2021-03-23 Simon Marchi <simon.marchi@polymtl.ca>
254 * target.h (unpush_target): Remove, update all callers
255 to use `inferior::unpush_target` instead.
256 (struct target_unpusher) <operator()>: Just declare.
257 * target.c (unpush_target): Remove.
258 (target_unpusher::operator()): New.
260 2021-03-22 Andrew Burgess <andrew.burgess@embecosm.com>
262 * dwarf2/read.c (process_psymtab_comp_unit): Replace abort with an
264 (process_full_comp_unit): Validate the top-level tag before
265 processing the first DIE.
266 (read_func_scope): Ensure we have a valid builder.
268 2021-03-22 Andrew Burgess <andrew.burgess@embecosm.com>
270 * objc-lang.c (objc_demangle): Renamed to
271 objc_language::demangle_symbol, and moved later in the file.
272 (objc_language::sniff_from_mangled_name): Call demangle_symbol
274 (objc_language::demangle_symbol): Defined outside of class
275 declaration. The definition is the old objc_demangle with NULL
276 changed to nullptr, and if conditions relating to nullptr pointers
277 or null character checks made explicit.
278 * objc-lang.h (objc_demangle): Delete declaration.
280 2021-03-22 Martin Liska <mliska@suse.cz>
282 * arm-tdep.c (show_disassembly_style_sfunc): Replace usage of CONST_STRNEQ with startswith.
283 (_initialize_arm_tdep): Likewise.
285 2021-03-20 Tom Tromey <tom@tromey.com>
287 * xcoffread.c (xcoff_initial_scan): Create partial symtabs.
288 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
289 * psymtab.h (make_psymbol_functions): Don't declare.
290 * psymtab.c (make_psymbol_functions): Remove.
291 (maintenance_print_psymbols): Update.
292 * psympriv.h (struct psymbol_functions): Add no-argument
294 * objfiles.h (struct objfile) <reset_psymtabs>: Remove.
295 <partial_symtabs>: Remove.
296 * mdebugread.c (mdebug_build_psymtabs): Create partial symtabs.
297 * elfread.c (read_partial_symbols): Update.
298 (elf_symfile_read): Remove check for existing partial symbols.
300 * dwarf2/read.c (dwarf2_has_info): Remove check for existing
302 (dwarf2_build_psymtabs): Add psymbol_functions parameter. Create
304 * dwarf2/public.h (dwarf2_build_psymtabs): Add psymbol_functions
306 * dbxread.c (dbx_symfile_read): Create partial symtabs.
307 * ctfread.c (elfctf_build_psymtabs): Create partial symtabs.
309 2021-03-20 Tom Tromey <tom@tromey.com>
311 * dwarf2/read.c (dwarf2_build_psymtabs): Update.
312 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
313 * symfile-debug.c (objfile::has_partial_symbols)
314 (objfile::find_last_source_symtab)
315 (objfile::forget_cached_source_info)
316 (objfile::map_symtabs_matching_filename, objfile::lookup_symbol)
317 (objfile::print_stats, objfile::dump)
318 (objfile::expand_symtabs_for_function)
319 (objfile::expand_all_symtabs)
320 (objfile::expand_symtabs_with_fullname)
321 (objfile::map_matching_symbols)
322 (objfile::expand_symtabs_matching)
323 (objfile::find_pc_sect_compunit_symtab)
324 (objfile::map_symbol_filenames)
325 (objfile::find_compunit_symtab_by_address)
326 (objfile::lookup_global_symbol_language)
327 (objfile::require_partial_symbols): Update.
328 * psymtab.c (maintenance_print_psymbols)
329 (maintenance_info_psymtabs, maintenance_check_psymtabs): Update.
330 * objfiles.h (struct objfile) <qf>: Now a forward_list.
331 * objfiles.c (objfile_relocate1): Update.
332 * elfread.c (elf_symfile_read): Update.
334 2021-03-20 Tom Tromey <tom@tromey.com>
336 * objfiles.h (struct objfile) <psymtabs>: Remove method.
338 2021-03-20 Tom Tromey <tom@tromey.com>
340 * psymtab.c (psymbol_functions::count_psyms): Rename.
341 (psymbol_functions::print_stats): Update.
342 * psympriv.h (struct psymbol_functions) <count_psyms>: Declare
345 2021-03-20 Tom Tromey <tom@tromey.com>
347 * psymtab.c (psymbol_functions::require_partial_symbols): Rename.
348 (psymbol_functions::find_pc_sect_psymtab): Rename.
349 (psymbol_functions::find_pc_sect_compunit_symtab)
350 (maintenance_print_psymbols, maintenance_check_psymtabs): Update.
351 * psympriv.h (struct psymbol_functions) <require_partial_symbols>:
353 <get_partial_symtabs, find_pc_sect_psymtab>: Likewise.
355 2021-03-20 Tom Tromey <tom@tromey.com>
357 * xcoffread.c (xcoff_start_psymtab): Add partial_symtabs parameter.
358 (xcoff_end_psymtab, scan_xcoff_symtab): Update.
359 * psymtab.c (partial_symtab::partial_symtab): Add partial_symtabs
361 (add_psymbol_to_bcache): Remove.
362 (partial_symtab::add_psymbol): Add partial_symtabs parameter.
363 (partial_symtab::add_psymbol, partial_symtab::partial_symtab):
365 * psympriv.h (partial_symtab): Add partial_symtabs parameter.
366 <add_psymbol>: Likewise.
367 (standard_psymtab, legacy_psymtab): Likewise.
368 * mdebugread.c (parse_partial_symbols): Update.
369 (handle_psymbol_enumerators): Add partial_symtabs parameter.
370 (handle_psymbol_enumerators): Update.
371 (new_psymtab): Add partial_symtabs parameter.
372 * dwarf2/read.h (dwarf2_psymtab): Add partial_symtabs parameter.
373 * dwarf2/read.c (dwarf2_include_psymtab): Add partial_symtabs
375 (dwarf2_create_include_psymtab): Add partial_symtabs parameter.
376 (create_partial_symtab, add_partial_symbol, dwarf_decode_lines):
378 * dbxread.c (read_dbx_symtab): Update.
379 (start_psymtab): Add partial_symtabs parameter.
380 (dbx_end_psymtab): Update.
381 * ctfread.c (struct ctf_context) <partial_symtabs>: New member.
382 (ctf_psymtab): Add partial_symtabs parameter.
383 (create_partial_symtab, ctf_psymtab_type_cb, ctf_psymtab_var_cb):
385 (scan_partial_symbols): Add partial_symtabs parameter.
386 (scan_partial_symbols, elfctf_build_psymtabs)
387 (ctf_psymtab_add_enums): Update.
389 2021-03-20 Tom Tromey <tom@tromey.com>
391 * symfile.c (read_symbols): Use objfile method.
392 * symfile-debug.c (objfile::require_partial_symbols): New method.
393 * psymtab.h (require_partial_symbols): Don't declare.
394 * psymtab.c (require_partial_symbols): Use objfile method. Now
396 (psymbol_functions::map_symtabs_matching_filename, OBJFILE)
397 (psymbol_functions::lookup_symbol)
398 (psymbol_functions::lookup_global_symbol_language)
399 (psymbol_functions::find_last_source_symtab)
400 (psymbol_functions::forget_cached_source_info)
401 (psymbol_functions::print_stats)
402 (psymbol_functions::expand_symtabs_for_function)
403 (psymbol_functions::expand_all_symtabs)
404 (psymbol_functions::expand_symtabs_with_fullname)
405 (psymbol_functions::map_symbol_filenames)
406 (psymbol_functions::map_matching_symbols)
407 (psymbol_functions::expand_symtabs_matching)
408 (psymbol_functions::find_compunit_symtab_by_address)
409 (maintenance_print_psymbols, maintenance_info_psymtabs)
410 (maintenance_check_psymtabs): Update.
411 * objfiles.h (struct objfile) <require_partial_symbols>: Declare
414 2021-03-20 Tom Tromey <tom@tromey.com>
416 * xcoffread.c (xcoff_sym_fns): Update.
417 * symfile.h (struct sym_fns) <sym_read_psymbols>: Remove.
418 * symfile-debug.c (objfile::has_partial_symbols): Use
419 can_lazily_read_symbols.
420 (debug_sym_read_psymbols): Remove.
421 (debug_sym_fns, install_symfile_debug_logging): Update.
422 * quick-symbol.h (struct quick_symbol_functions)
423 <can_lazily_read_symbols, read_partial_symbols>: New methods.
424 * psymtab.c (require_partial_symbols): Use new 'qf' methods.
425 * mipsread.c (ecoff_sym_fns): Update.
426 * machoread.c (macho_sym_fns): Update.
427 * elfread.c (struct lazy_dwarf_reader): New.
428 (elf_symfile_read): Update.
429 (read_psyms): Now a method of lazy_dwarf_reader.
430 (elf_sym_fns): Update.
431 (elf_sym_fns_lazy_psyms): Remove.
432 * dbxread.c (aout_sym_fns): Update.
433 * coffread.c (coff_sym_fns): Update.
435 2021-03-20 Tom Tromey <tom@tromey.com>
437 * symfile.c (syms_from_objfile_1): Call reset_psymtabs.
438 (reread_symbols): Move reset_psymtabs call later.
439 * objfiles.c (objfile::objfile): Don't initialize
442 2021-03-20 Tom Tromey <tom@tromey.com>
444 * dwarf2/read.c (dwarf2_build_psymtabs): Call
446 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
447 * psymtab.h (make_psymbol_functions): Add partial_symtabs
449 * psymtab.c (find_pc_sect_psymtab): Add partial_symtabs
451 (psymbol_functions::find_pc_sect_compunit_symtab)
452 (psymbol_functions::print_stats, psymbol_functions::dump)
453 (psymbol_functions::has_symbols): Update.
454 (make_psymbol_functions, dump_psymtab_addrmap): Add
455 partial_symtabs parameter.
456 (maintenance_print_psymbols): Update.
457 (psymbol_functions::expand_symtabs_matching): Update.
458 * psympriv.h (struct psymbol_functions): Add constructor.
459 <m_partial_symtabs>: New member.
460 <set_partial_symtabs>: New method.
462 2021-03-20 Tom Tromey <tom@tromey.com>
464 * dwarf2/read.c (dwarf2_create_include_psymtab): Add per_bfd
466 (process_psymtab_comp_unit_reader)
467 (build_type_psymtab_dependencies, dwarf2_build_psymtabs_hard)
468 (add_partial_subprogram, dwarf2_ranges_read, dwarf_decode_lines):
469 Reference psymtabs via per_bfd.
471 2021-03-20 Tom Tromey <tom@tromey.com>
473 * dwarf2/index-write.c (struct addrmap_index_data) <objfile>:
475 (add_address_entry): Remove objfile parameter.
476 (add_address_entry_worker): Update.
477 (write_address_map): Replace objfile parameter with per_bfd.
478 (write_gdbindex, write_psymtabs_to_index): Update.
480 2021-03-20 Tom Tromey <tom@tromey.com>
482 * dwarf2/read.c (dwarf2_base_index_functions::print_stats): Add
483 print_bcache parameter.
484 * symfile-debug.c (objfile::print_stats): Add print_bcache
486 * quick-symbol.h (struct quick_symbol_functions)
487 <print_stats>: Add print_bcache parameter.
488 * symmisc.c (print_symbol_bcache_statistics, count_psyms): Move
490 (print_objfile_statistics): Move psymtab code to psymtab.c.
491 * psymtab.c (count_psyms): Move from symmisc.c.
492 (psymbol_functions::print_stats): Print partial symbol and bcache
493 statistics. Add print_bcache parameter.
494 * objfiles.h (print_symbol_bcache_statistics): Don't declare.
495 (struct objfile) <print_stats>: Add print_bcache parameter.
496 * maint.c (maintenance_print_statistics): Update.
498 2021-03-20 Tom Tromey <tom@tromey.com>
500 * dwarf2/read.h (struct dwarf2_per_bfd) <psymtabs_addrmap>: New
502 * dwarf2/read.c (create_addrmap_from_index)
503 (create_addrmap_from_aranges): Set per_bfd addrmap.
504 (dwarf2_read_gdb_index): Don't set partial_symtabs.
505 (dwarf2_base_index_functions::find_pc_sect_compunit_symtab): Use
507 (dwarf2_read_debug_names): Don't set partial_symtabs.
508 (dwarf2_initialize_objfile): Likewise.
510 2021-03-20 Tom Tromey <tom@tromey.com>
512 * dwarf2/read.c (dwarf2_build_psymtabs): Set partial_symtabs
515 2021-03-20 Tom Tromey <tom@tromey.com>
517 * psympriv.h (psymtab_discarder): Take psymtab_storage parameter.
518 (~psymtab_discarder, keep): Update.
520 <m_partial_symtabs>: New member.
521 * dwarf2/read.c (dwarf2_build_psymtabs): Update.
523 2021-03-20 Tom Tromey <tom@tromey.com>
525 * xcoffread.c (xcoff_end_psymtab): Add partial_symtabs parameter.
526 (xcoff_end_psymtab): Update.
527 (scan_xcoff_symtab): Add partial_symtabs parameter.
528 (xcoff_initial_scan): Update.
529 * stabsread.h (dbx_end_psymtab): Add partial_symtabs parameter.
530 * mdebugread.c (mdebug_build_psymtabs): Update.
531 (parse_partial_symbols): Add partial_symtabs parameter.
532 * dbxread.c (dbx_symfile_read): Update.
533 (read_dbx_symtab): Add partial_symtabs parameter.
534 (read_dbx_symtab): Update.
535 (dbx_end_psymtab): Add partial_symtabs parameter.
537 2021-03-20 Tom Tromey <tom@tromey.com>
539 * quick-symbol.h (struct quick_symbol_functions)
540 <relocated>: New method.
541 * psymtab.h (struct psymbol_functions) <relocated>: New
543 <fill_psymbol_map>: Declare method.
544 <m_psymbol_map>: New member.
545 * psymtab.c (psymbol_functions::fill_psymbol_map): Rename.
546 (psymbol_functions::find_compunit_symtab_by_address): Update.
547 * objfiles.h (reset_psymtabs): Don't clear psymbol_map.
548 (struct objfile) <psymbol_map>: Remove.
549 * objfiles.c (objfile_relocate1): Update.
551 2021-03-20 Tom Tromey <tom@tromey.com>
553 * psympriv.h (struct psymbol_functions): New.
554 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
555 * symfile-debug.c (objfile::find_compunit_symtab_by_address)
556 (objfile::lookup_global_symbol_language): Update.
557 * quick-symbol.h (struct quick_symbol_functions): Convert function
558 pointers to methods. Add virtual destructor.
559 (quick_symbol_functions_up): New typedef.
560 * psymtab.h (psym_functions, dwarf2_gdb_index_functions)
561 (dwarf2_debug_names_functions): Don't declare.
562 (make_psymbol_functions): Declare.
563 * psymtab.c (psymbol_functions::map_symtabs_matching_filename)
564 (psymbol_functions::find_pc_sect_compunit_symtab)
565 (psymbol_functions::lookup_symbol)
566 (psymbol_functions::lookup_global_symbol_language)
567 (psymbol_functions::find_last_source_symtab)
568 (psymbol_functions::forget_cached_source_info)
569 (psymbol_functions::print_stats, psymbol_functions::dump)
570 (psymbol_functions::expand_symtabs_for_function)
571 (psymbol_functions::expand_all_symtabs)
572 (psymbol_functions::expand_symtabs_with_fullname)
573 (psymbol_functions::map_symbol_filenames)
574 (psymbol_functions::map_matching_symbols)
575 (psymbol_functions::expand_symtabs_matching)
576 (psymbol_functions::has_symbols)
577 (psymbol_functions::find_compunit_symtab_by_address): Rename.
578 (psym_functions): Remove.
579 (make_psymbol_functions): New function.
580 * objfiles.h (struct objfile) <qf>: Change type.
581 * elfread.c (elf_symfile_read): Update.
582 * dwarf2/read.c (struct dwarf2_base_index_functions)
583 (struct dwarf2_gdb_index, struct dwarf2_debug_names_index): New.
584 (make_dwarf_gdb_index, make_dwarf_debug_names): New functions.
585 (dwarf2_base_index_functions::find_last_source_symtab)
586 (dwarf2_base_index_functions::forget_cached_source_info)
587 (dwarf2_base_index_functions::map_symtabs_matching_filename)
588 (dwarf2_gdb_index::lookup_symbol)
589 (dwarf2_base_index_functions::print_stats)
590 (dwarf2_gdb_index::dump)
591 (dwarf2_gdb_index::expand_symtabs_for_function)
592 (dwarf2_base_index_functions::expand_all_symtabs)
593 (dwarf2_base_index_functions::expand_symtabs_with_fullname):
595 (dwarf2_gdb_index::map_matching_symbols): New method.
596 (dwarf2_gdb_index::expand_symtabs_matching): New method.
597 (dwarf2_base_index_functions::find_pc_sect_compunit_symtab)
598 (dwarf2_base_index_functions::map_symbol_filenames)
599 (dwarf2_base_index_functions::has_symbols): Rename.
600 (dwarf2_gdb_index_functions): Remove.
601 (dwarf2_debug_names_index::lookup_symbol)
602 (dwarf2_debug_names_index::dump)
603 (dwarf2_debug_names_index::expand_symtabs_for_function)
604 (dwarf2_debug_names_index::map_matching_symbols)
605 (dwarf2_debug_names_index::expand_symtabs_matching): Rename.
606 (dwarf2_debug_names_functions): Remove.
607 * dwarf2/public.h (make_dwarf_gdb_index, make_dwarf_debug_names):
610 2021-03-20 Tom Tromey <tom@tromey.com>
612 * psymtab.c (require_partial_symbols): Check that 'sf' is not
614 * xcoffread.c (xcoff_sym_fns): Update.
615 * symfile.h (struct sym_fns) <qf>: Remove.
616 * symfile.c (syms_from_objfile_1, reread_symbols): Update.
617 * symfile-debug.c (objfile::has_partial_symbols)
618 (objfile::find_last_source_symtab)
619 (objfile::forget_cached_source_info)
620 (objfile::map_symtabs_matching_filename, objfile::lookup_symbol)
621 (objfile::print_stats, objfile::dump)
622 (objfile::expand_symtabs_for_function)
623 (objfile::expand_all_symtabs)
624 (objfile::expand_symtabs_with_fullname)
625 (objfile::map_matching_symbols)
626 (objfile::expand_symtabs_matching)
627 (objfile::find_pc_sect_compunit_symtab)
628 (objfile::map_symbol_filenames)
629 (objfile::find_compunit_symtab_by_address)
630 (objfile::lookup_global_symbol_language, debug_sym_fns)
631 (install_symfile_debug_logging): Update.
632 * objfiles.h (struct objfile) <qf>: New member.
633 * mipsread.c (ecoff_sym_fns): Update.
634 * machoread.c (macho_sym_fns): Update.
635 * elfread.c (elf_sym_fns_gdb_index, elf_sym_fns_debug_names):
637 (elf_symfile_read, elf_sym_fns, elf_sym_fns_lazy_psyms): Update.
638 * dbxread.c (aout_sym_fns): Update.
639 * coffread.c (coff_sym_fns): Update.
641 2021-03-20 Tom Tromey <tom@tromey.com>
643 * symfile.h (symbol_compare_ftype, symbol_filename_ftype)
644 (expand_symtabs_file_matcher_ftype)
645 (expand_symtabs_symbol_matcher_ftype)
646 (expand_symtabs_exp_notify_ftype, struct quick_symbol_functions):
647 Move to quick-symbol.h.
648 * quick-symbol.h: New file.
650 2021-03-20 Tom Tromey <tom@tromey.com>
652 * symtab.c (iterate_over_symtabs, expand_symtab_containing_pc)
653 (lookup_symbol_via_quick_fns, find_quick_global_symbol_language)
654 (basic_lookup_transparent_type_quick)
655 (find_pc_sect_compunit_symtab, find_symbol_at_address)
656 (find_line_symtab, global_symbol_searcher::expand_symtabs):
658 * symmisc.c (print_objfile_statistics, dump_objfile)
659 (maintenance_expand_symtabs): Update.
660 * symfile.c (symbol_file_add_with_addrs)
661 (expand_symtabs_matching, map_symbol_filenames): Update.
662 * symfile-debug.c (objfile::has_partial_symbols)
663 (objfile::find_last_source_symtab)
664 (objfile::forget_cached_source_info)
665 (objfile::map_symtabs_matching_filename, objfile::lookup_symbol)
666 (objfile::print_stats, objfile::dump)
667 (objfile::expand_symtabs_for_function)
668 (objfile::expand_all_symtabs)
669 (objfile::expand_symtabs_with_fullname)
670 (objfile::map_matching_symbols)
671 (objfile::expand_symtabs_matching)
672 (objfile::find_pc_sect_compunit_symtab)
673 (objfile::map_symbol_filenames)
674 (objfile::find_compunit_symtab_by_address)
675 (objfile::lookup_global_symbol_language): New methods.
676 (debug_sym_quick_functions): Remove.
677 (debug_sym_fns, install_symfile_debug_logging): Update.
678 * source.c (forget_cached_source_info_for_objfile)
679 (select_source_symtab): Update.
680 * objfiles.h (struct objfile): Add methods corresponding to
681 quick_symbol_functions.
682 * objfiles.c (objfile::has_partial_symbols): Move to
684 * linespec.c (iterate_over_all_matching_symtabs): Update.
685 * cp-support.c (add_symbol_overload_list_qualified): Update.
686 * ada-lang.c (add_nonlocal_symbols): Update.
688 2021-03-20 Tom Tromey <tom@tromey.com>
690 * objfiles.h (struct objfile) <has_partial_symbols>: Return bool.
691 * symfile.h (struct quick_symbol_functions) <has_symbols>: Return
693 * symfile-debug.c (debug_qf_has_symbols): Return bool.
694 * psymtab.c (psym_has_symbols): Return bool.
695 * objfiles.c (objfile::has_partial_symbols): Return bool.
696 * dwarf2/read.c (dw2_has_symbols): Return bool.
698 2021-03-20 Tom Tromey <tom@tromey.com>
700 * symfile.c (read_symbols): Update.
701 * objfiles.h (struct objfile) <has_partial_symbols>: New method.
702 (objfile_has_partial_symbols): Don't declare.
703 * objfiles.c (objfile::has_partial_symbols): Rename from
704 objfile_has_partial_symbols.
705 (objfile_has_symbols, have_partial_symbols): Update.
706 * elfread.c (elf_symfile_read): Update.
707 * dwarf2/read.c (dwarf2_has_info): Update.
708 * coffread.c (coff_symfile_read): Update.
710 2021-03-20 Tom Tromey <tom@tromey.com>
712 * coffread.c: Include dwarf2/public.h.
713 * dwarf2/frame.c: Include dwarf2/public.h.
714 * dwarf2/index-write.h: Include dwarf2/public.h, not symfile.h.
715 * dwarf2/public.h: New file.
716 * dwarf2/read.c: Include dwarf2/public.h.
717 * elfread.c: Include dwarf2/public.h.
718 * machoread.c: Include dwarf2/public.h.
719 * symfile.h (dwarf2_has_info, enum dw_index_kind)
720 (dwarf2_initialize_objfile, dwarf2_build_psymtabs)
721 (dwarf2_build_frame_info): Move to dwarf2/public.h.
722 * xcoffread.c: Include dwarf2/public.h.
724 2021-03-20 Tom Tromey <tom@tromey.com>
726 * symfile.h (enum dwarf2_section_enum)
727 (dwarf2_get_section_info): Move to dwarf2/read.h.
728 * dwarf2/read.h (enum dwarf2_section_enum)
729 (dwarf2_get_section_info): Move from symfile.h.
731 2021-03-19 Pedro Alves <pedro@palves.net>
733 * thread.c (any_thread_of_inferior): Check if there's a selected
734 thread before calling inferior_thread().
736 2021-03-18 Tom Tromey <tromey@adacore.com>
738 * dwarf2/stringify.c (dwarf_unit_type_name): New function. Use
740 * dwarf2/stringify.h (dwarf_unit_type_name): Declare.
741 * dwarf2/comp-unit.c (dwarf_unit_type_name): Remove.
743 2021-03-18 Andrew Burgess <andrew.burgess@embecosm.com>
745 * python/py-param.c (get_set_value): Update header comment.
747 2021-03-17 Simon Marchi <simon.marchi@polymtl.ca>
749 * infrun.c (check_multi_target_resumption): Remove argument to
750 all_non_exited_inferiors.
752 2021-03-16 Christian Biesinger <cbiesinger@google.com>
754 * windows-nat.c (windows_init_thread_list): Add message to
757 2021-03-16 Andrew Burgess <andrew.burgess@embecosm.com>
759 * python/py-framefilter.c (py_print_frame): Use PyInt_Check as
760 well as PyLong_Check for Python 2.
762 2021-03-15 Tom Tromey <tromey@adacore.com>
765 * rust-exp.y (maker_map): Use gdb::hash_enum.
766 * stap-probe.c (stap_maker_map): Use gdb::hash_enum.
768 2021-03-15 Simon Marchi <simon.marchi@polymtl.ca>
770 * dwarf2/read.c (create_debug_type_hash_table): Remove colon at
773 2021-03-15 Simon Marchi <simon.marchi@polymtl.ca>
775 * dwarf2/read.c (dw2_get_file_names_reader): Remove info_ptr
776 parameter, adjust caller.
778 2021-03-15 Tom Tromey <tromey@adacore.com>
780 * ada-exp.y (simple_exp): Always push a result for unary '+'.
782 2021-03-15 Tom Tromey <tromey@adacore.com>
784 * ada-lang.c (ada_unop_ind_operation::evaluate): Call
785 ada_ensure_varsize_limit.
787 2021-03-15 Tom Tromey <tromey@adacore.com>
789 * ada-lang.c (numeric_type_p, integer_type_p): Return true for
791 * ada-exp.y (maybe_overload): New function.
792 (ada_wrap_overload): New function.
793 (ada_un_wrap2, ada_wrap2, ada_wrap_op): Use maybe_overload.
794 (exp1, simple_exp, relation, and_exp, and_then_exp, or_exp)
795 (or_else_exp, xor_exp, primary): Update.
797 2021-03-15 Tom Tromey <tromey@adacore.com>
800 * ada-lang.c (ada_var_value_operation::evaluate): Use recursive
801 call for tagged type.
803 2021-03-15 Tom Tromey <tromey@adacore.com>
805 * ada-exp.y (exp1): Handle resolution of the right hand side of an
808 2021-03-15 Tom Tromey <tromey@adacore.com>
810 * ada-lang.c (ada_aggregate_operation::assign_aggregate): Return
812 (ada_assign_operation::evaluate): Update.
813 * ada-exp.h (class ada_aggregate_operation) <assign_aggregate>:
816 2021-03-15 Felix Willgerodt <felix.willgerodt@intel.com>
818 * i386-tdep.c (i386_floatformat_for_type): Add COMPLEX*32 and REAL*16.
820 2021-03-15 Andrew Burgess <andrew.burgess@embecosm.com>
822 * python/python.c (gdbpy_source_objfile_script): Use
823 make_scoped_restore to restore gdbpy_current_objfile.
824 (gdbpy_execute_objfile_script): Likewise.
826 2021-03-14 Tom Tromey <tom@tromey.com>
828 * dwarf2/read.c (read_attribute_value): Use cu_header
831 2021-03-14 Tom Tromey <tom@tromey.com>
833 * dwarf2/read.c (struct die_reader_specs) <abfd>: Fix formatting.
834 (peek_die_abbrev): Use reader.abfd.
836 2021-03-14 Tom Tromey <tom@tromey.com>
838 * dwarf2/read.c (dwarf2_per_cu_data::get_header): Set
841 2021-03-13 Tom Tromey <tom@tromey.com>
843 * dwarf2/read.c (struct partial_die_info): Update.
844 (peek_die_abbrev, skip_children, skip_one_die, read_full_die_1)
845 (load_partial_dies, partial_die_info::partial_die_info): Update.
846 * dwarf2/abbrev.h (lookup_abbrev): Constify.
848 2021-03-13 Tom Tromey <tom@tromey.com>
850 * dwarf2/abbrev.c (abbrev_table::read): Remove Irix 6 workaround.
852 2021-03-12 Christian Biesinger <cbiesinger@google.com>
855 * cp-support.c: Use scoped_segv_handler_restore.
856 * event-top.c (thread_local_segv_handler): Made static.
857 (scoped_segv_handler_restore::scoped_segv_handler_restore):
859 (scoped_segv_handler_restore::~scoped_segv_handler_restore): New
861 * event-top.h (class scoped_segv_handler_restore): New class.
862 (thread_local_segv_handler): Removed.
864 2021-03-10 Tom Tromey <tromey@adacore.com>
866 * parser-defs.h (parser_state): Change completion to bool.
867 <parse_completion>: Likewise.
868 * ada-lang.h (ada_find_operator_symbol, ada_resolve_funcall)
869 (ada_resolve_variable, ada_resolve_function): Update.
870 * ada-lang.c (ada_find_operator_symbol): Change
871 parse_completion to bool.
872 (ada_resolve_funcall, ada_resolve_variable)
873 (ada_resolve_function): Likewise.
875 2021-03-09 Tom Tromey <tromey@adacore.com>
877 * eval.c (operation::evaluate_funcall): Use function formal
878 parameter types when evaluating.
880 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
882 * gdb-gdb.py.in (StructMainTypePrettyPrinter) <owner_to_string>:
883 Updated fields names flag_objfile_owned to m_flag_objfile_owned,
884 and owner to m_owner.
886 2021-03-09 Felix Willgerodt <felix.willgerodt@intel.com>
888 * f-exp.h (eval_op_f_loc): Declare.
889 (expr::fortran_loc_operation): New typedef.
890 * f-exp.y (exp): Handle UNOP_FORTRAN_LOC after parsing an
892 (f77_keywords): Add LOC keyword.
893 * f-lang.c (eval_op_f_loc): New function.
894 * std-operator.def (UNOP_FORTRAN_LOC): New operator.
896 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
898 * f-exp.h (eval_op_f_array_shape): Declare.
899 (fortran_array_shape_operation): New type.
900 * f-exp.y (exp): Handle UNOP_FORTRAN_SHAPE after parsing
902 (f77_keywords): Add "shape" keyword.
903 * f-lang.c (fortran_array_shape): New function.
904 (eval_op_f_array_shape): New function.
905 * std-operator.def (UNOP_FORTRAN_SHAPE): New operator.
907 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
909 * f-exp.y (eval_op_f_array_size): Declare 1 and 2 argument forms
911 (expr::fortran_array_size_1arg): New type.
912 (expr::fortran_array_size_2arg): Likewise.
913 * f-exp.y (exp): Handle FORTRAN_ARRAY_SIZE after parsing
914 UNOP_OR_BINOP_INTRINSIC.
915 (f77_keywords): Add "size" keyword.
916 * f-lang.c (fortran_array_size): New function.
917 (eval_op_f_array_size): New function, has a 1 arg and 2 arg form.
918 * std-operator.def (FORTRAN_ARRAY_SIZE): New operator.
920 2021-03-09 Andrew Burgess <andrew.burgess@embecosm.com>
922 * f-exp.h (eval_op_f_rank): Declare.
923 (expr::fortran_rank_operation): New typedef.
924 * f-exp.y (exp): Handle UNOP_FORTRAN_RANK after parsing an
926 (f77_keywords): Add "rank" keyword.
927 * f-lang.c (eval_op_f_rank): New function.
928 * std-operator.def (UNOP_FORTRAN_RANK): New operator.
930 2021-03-08 Tom Tromey <tom@tromey.com>
932 * printcmd.c (set_command): Remove null check.
933 * value.c (init_if_undefined_command): Remove null check.
935 2021-03-08 Tom Tromey <tom@tromey.com>
937 * parse.c (parser_state::push_symbol, parser_state::push_dollar):
939 * p-exp.y (variable): Update.
940 * go-exp.y (variable): Update.
941 * expprint.c (dump_for_expression): Use bound_minimal_symbol.
942 Remove overload for objfile.
943 * expop.h (eval_op_var_msym_value): Use bound_minimal_symbol
945 (check_objfile): Likewise.
946 (dump_for_expression): Likewise. Remove overload for objfile.
947 (class var_msym_value_operation): Use bound_minimal_symbol.
948 * eval.c (eval_op_var_msym_value): Use bound_minimal_symbol
950 (var_msym_value_operation::evaluate_for_address)
951 (var_msym_value_operation::evaluate_for_sizeof)
952 (var_msym_value_operation::evaluate_for_cast): Update.
953 * d-exp.y (PrimaryExpression): Update.
954 * c-exp.y (variable): Update.
955 * ax-gdb.c (var_msym_value_operation::do_generate_ax): Update.
956 * ada-lang.c (ada_var_msym_value_operation::evaluate_for_cast):
958 * ada-exp.y (write_var_or_type): Update.
960 2021-03-08 Tom Tromey <tom@tromey.com>
962 * parser-defs.h (exp_uses_objfile): Return bool.
963 * parse.c (exp_uses_objfile): Return bool.
965 2021-03-08 Tom Tromey <tom@tromey.com>
967 * value.h (eval_skip_value): Don't declare.
968 * opencl-lang.c (eval_opencl_assign): Update.
969 * m2-lang.c (eval_op_m2_high, eval_op_m2_subscript): Update.
970 * f-lang.c (eval_op_f_abs, eval_op_f_mod, eval_op_f_ceil)
971 (eval_op_f_floor, eval_op_f_modulo, eval_op_f_cmplx): Remove.
972 * expression.h (enum noside) <EVAL_SKIP>: Remove.
973 * expop.h (typeof_operation::evaluate)
974 (decltype_operation::evaluate, unop_addr_operation::evaluate)
975 (unop_sizeof_operation::evaluate, assign_operation::evaluate)
976 (cxx_cast_operation::evaluate): Update.
977 * eval.c (eval_skip_value): Remove.
978 (eval_op_scope, eval_op_var_entry_value)
979 (eval_op_func_static_var, eval_op_string, eval_op_objc_selector)
980 (eval_op_concat, eval_op_ternop, eval_op_structop_struct)
981 (eval_op_structop_ptr, eval_op_member, eval_op_add, eval_op_sub)
982 (eval_op_binary, eval_op_subscript, eval_op_equal)
983 (eval_op_notequal, eval_op_less, eval_op_gtr, eval_op_geq)
984 (eval_op_leq, eval_op_repeat, eval_op_plus, eval_op_neg)
985 (eval_op_complement, eval_op_lognot, eval_op_ind)
986 (eval_op_memval, eval_op_preinc, eval_op_predec)
987 (eval_op_postinc, eval_op_postdec, eval_op_type)
988 (eval_binop_assign_modify, eval_op_objc_msgcall)
989 (eval_multi_subscript, logical_and_operation::evaluate)
990 (logical_or_operation::evaluate, array_operation::evaluate)
991 (operation::evaluate_for_cast)
992 (var_msym_value_operation::evaluate_for_cast)
993 (var_value_operation::evaluate_for_cast): Update.
994 * c-lang.c (c_string_operation::evaluate): Update.
995 * c-exp.h (objc_nsstring_operation::evaluate)
996 (objc_selector_operation::evaluate): Update.
997 * ada-lang.c (ada_assign_operation::evaluate)
998 (eval_ternop_in_range, ada_unop_neg, ada_unop_in_range)
999 (ada_atr_size): Update.
1001 2021-03-08 Tom Tromey <tom@tromey.com>
1003 * eval.c: Merge "namespace" scopes.
1005 2021-03-08 Tom Tromey <tom@tromey.com>
1007 * parser-defs.h (struct expr_builder) <expr_builder>: Inline.
1009 * parse.c (expr_builder::expr_builder, expr_builder::release):
1012 2021-03-08 Tom Tromey <tom@tromey.com>
1014 * parse.c (expression::expression, expression::~expression):
1016 * expression.h (struct expression): Inline constructor. Remove
1019 2021-03-08 Tom Tromey <tom@tromey.com>
1021 * std-operator.def (BINOP_END): Remove.
1022 * p-exp.y (tokentab3, tokentab2): Use OP_NULL, not BINOP_END.
1023 * go-exp.y (tokentab2): Use OP_NULL, not BINOP_END.
1024 * f-exp.y (dot_ops, f77_keywords): Use OP_NULL, not BINOP_END.
1025 * d-exp.y (tokentab2, ident_tokens): Use OP_NULL, not BINOP_END.
1026 * c-exp.y (tokentab3, tokentab2, ident_tokens): Use OP_NULL, not
1029 2021-03-08 Tom Tromey <tom@tromey.com>
1031 * expression.h (enum exp_opcode) <OP_UNUSED_LAST>: Remove.
1033 2021-03-08 Tom Tromey <tom@tromey.com>
1035 * std-operator.def (OP_EXTENDED0): Remove.
1037 2021-03-08 Tom Tromey <tom@tromey.com>
1039 * std-operator.def (OP_NAME, OP_ATR_IMAGE, OP_ATR_MODULUS)
1040 (OP_OTHERS, OP_CHOICES, OP_POSITIONAL, OP_DISCRETE_RANGE):
1043 2021-03-08 Tom Tromey <tom@tromey.com>
1045 * std-operator.def (UNOP_CAP, UNOP_CHR, UNOP_ORD, UNOP_FLOAT)
1046 (UNOP_MAX, UNOP_MIN, UNOP_ODD, UNOP_TRUNC, OP_M2_STRING): Remove.
1048 2021-03-08 Tom Tromey <tom@tromey.com>
1050 * std-operator.def (OP_ATR_MIN, OP_ATR_MAX): Remove.
1051 * ada-lang.c (ada_binop_minmax): Update.
1052 * ada-exp.h (ada_binop_min_operation, ada_binop_max_operation):
1053 Use BINOP_MIN and BINOP_MAX.
1055 2021-03-08 Tom Tromey <tom@tromey.com>
1057 * value.h (evaluate_subexp_with_coercion): Don't declare.
1058 * parse.c (exp_descriptor_standard): Remove.
1059 (expr_builder::expr_builder, expr_builder::release): Update.
1060 (expression::expression): Remove size_t parameter.
1061 (expression::~expression): Simplify.
1062 (expression::resize): Remove.
1063 (write_exp_elt, write_exp_elt_opcode, write_exp_elt_sym)
1064 (write_exp_elt_msym, write_exp_elt_block, write_exp_elt_objfile)
1065 (write_exp_elt_longcst, write_exp_elt_floatcst)
1066 (write_exp_elt_type, write_exp_elt_intern, write_exp_string)
1067 (write_exp_string_vector, write_exp_bitstring): Remove.
1068 * p-lang.h (class pascal_language) <opcode_print_table,
1069 op_print_tab>: Remove.
1070 * p-lang.c (pascal_language::op_print_tab): Remove.
1071 * opencl-lang.c (class opencl_language) <opcode_print_table>:
1073 * objc-lang.c (objc_op_print_tab): Remove.
1074 (class objc_language) <opcode_print_table>: Remove.
1075 * m2-lang.h (class m2_language) <opcode_print_table,
1076 op_print_tab>: Remove.
1077 * m2-lang.c (m2_language::op_print_tab): Remove.
1078 * language.h (struct language_defn) <post_parser, expression_ops,
1079 opcode_print_table>: Remove.
1080 * language.c (language_defn::expression_ops)
1081 (auto_or_unknown_language::opcode_print_table): Remove.
1082 * go-lang.h (class go_language) <opcode_print_table,
1083 op_print_tab>: Remove.
1084 * go-lang.c (go_language::op_print_tab): Remove.
1085 * f-lang.h (class f_language) <opcode_print_table>: Remove
1086 <op_print_tab>: Remove.
1087 * f-lang.c (f_language::op_print_tab): Remove.
1088 * expression.h (union exp_element): Remove.
1089 (struct expression): Remove size_t parameter from constructor.
1091 <first_opcode>: Update.
1092 <nelts, elts>: Remove.
1093 (EXP_ELEM_TO_BYTES, BYTES_TO_EXP_ELEM): Remove.
1094 (evaluate_subexp_standard, print_expression, op_string)
1095 (dump_raw_expression): Don't declare.
1096 * expprint.c (print_expression, print_subexp)
1097 (print_subexp_funcall, print_subexp_standard, op_string)
1098 (dump_raw_expression, dump_subexp, dump_subexp_body)
1099 (dump_subexp_body_funcall, dump_subexp_body_standard): Remove.
1100 (dump_prefix_expression): Update.
1101 * eval.c (evaluate_subexp): Remove.
1102 (evaluate_expression, evaluate_type): Update.
1103 (evaluate_subexpression_type): Remove.
1104 (fetch_subexp_value): Remove "pc" parameter. Update.
1105 (extract_field_op, evaluate_struct_tuple, evaluate_funcall)
1106 (evaluate_subexp_standard, evaluate_subexp_for_address)
1107 (evaluate_subexp_with_coercion, evaluate_subexp_for_sizeof)
1108 (evaluate_subexp_for_cast): Remove.
1109 (parse_and_eval_type): Update.
1110 * dtrace-probe.c (dtrace_probe::compile_to_ax): Update.
1111 * d-lang.c (d_op_print_tab): Remove.
1112 (class d_language) <opcode_print_table>: Remove.
1113 * c-lang.h (c_op_print_tab): Don't declare.
1114 * c-lang.c (c_op_print_tab): Remove.
1115 (class c_language, class cplus_language, class asm_language, class
1116 minimal_language) <opcode_print_table>: Remove.
1117 * breakpoint.c (update_watchpoint, watchpoint_check)
1118 (watchpoint_exp_is_const, watch_command_1): Update.
1119 * ax-gdb.h (union exp_element): Don't declare.
1120 * ax-gdb.c (const_var_ref, const_expr, maybe_const_expr)
1121 (gen_repeat, gen_sizeof, gen_expr_for_cast, gen_expr)
1122 (gen_expr_binop_rest): Remove.
1123 (gen_trace_for_expr, gen_eval_for_expr, gen_printf): Update.
1124 * ada-lang.c (ada_op_print_tab): Remove.
1125 (class ada_language) <post_parser, opcode_print_table>: Remove.
1127 2021-03-08 Tom Tromey <tom@tromey.com>
1129 * go-lang.c (go_language::expression_ops): Don't declare.
1130 * go-lang.h (class go_language) <expression_ops>: Remove.
1131 * opencl-lang.c (evaluate_subexp_opencl, exp_descriptor_opencl):
1133 (class opencl_language) <expression_ops>: Remove.
1134 * d-lang.c (class d_language) <expression_ops>: Remove.
1135 * c-lang.h (evaluate_subexp_c, exp_descriptor_c): Don't declare.
1136 * c-lang.c (evaluate_subexp_c, exp_descriptor_c): Remove.
1137 (class c_language, class cplus_language, class asm_language)
1138 (class minimal_language) <expression_ops>: Remove.
1140 2021-03-08 Tom Tromey <tom@tromey.com>
1142 * ada-lang.c (resolve_subexp, replace_operator_with_call)
1143 (evaluate_subexp_type, assign_aggregate)
1144 (aggregate_assign_positional, aggregate_assign_from_choices)
1145 (aggregate_assign_others, ada_evaluate_subexp_for_cast)
1146 (ada_evaluate_subexp, ADA_OPERATORS, ada_operator_length)
1147 (ada_operator_check, ada_forward_operator_length)
1148 (ada_dump_subexp_body, ada_print_subexp, ada_exp_descriptor):
1150 (post_parser): Update.
1151 (class ada_language) <expresssion_ops>: Remove.
1153 2021-03-08 Tom Tromey <tom@tromey.com>
1155 * m2-lang.h (class m2_language) <expresssion_ops,
1156 exp_descriptor_modula2>: Remove.
1157 * m2-lang.c (evaluate_subexp_modula2)
1158 (m2_language::exp_descriptor_modula2): Remove.
1160 2021-03-08 Tom Tromey <tom@tromey.com>
1162 * f-lang.h (class f_language) <expresssion_ops>: Remove.
1163 <exp_descriptor_tab>: Remove.
1164 * f-lang.c (fortran_value_subarray, evaluate_subexp_f)
1165 (operator_length_f, print_unop_subexp_f, print_binop_subexp_f)
1166 (print_subexp_f, dump_subexp_body_f, operator_check_f)
1167 (f_language::exp_descriptor_tab, fortran_prepare_argument):
1170 2021-03-08 Tom Tromey <tom@tromey.com>
1172 * rust-lang.h (class rust_language) <expression_ops,
1173 exp_descriptor_tab>: Remove.
1174 * rust-lang.c (rust_evaluate_funcall): Remove.
1175 (rust_range, rust_subscript, eval_op_rust_complement): Don't use
1177 (rust_evaluate_subexp): Remove.
1178 (rust_aggregate_operation::evaluate): Don't use EVAL_SKIP.
1179 (rust_operator_length, rust_dump_subexp_body, rust_print_subexp)
1180 (rust_operator_check, rust_language::exp_descriptor_tab): Remove.
1182 2021-03-08 Tom Tromey <tom@tromey.com>
1184 * ada-exp.y: Create operations.
1185 (empty_stoken): Remove.
1186 (ada_pop, ada_wrap, ada_addrof, ada_un_wrap2, ada_wrap2)
1187 (ada_wrap_op, ada_wrap3, ada_funcall): New functions.
1188 (components): New global.
1189 (push_component, choice_component, pop_component, pop_components):
1191 (associations): New global
1192 (push_association, pop_association, pop_associations): New
1194 (ada_parse): Update.
1195 (write_var_from_sym, write_int): Create operations.
1196 (write_exp_op_with_string): Remove.
1197 (write_object_renaming, write_selectors, write_ambiguous_var)
1198 (write_var_or_type, write_name_assoc): Create operations.
1199 * ada-lang.h (ada_index_type): Declare.
1200 * ada-lang.c (ada_index_type): No longer static.
1202 2021-03-08 Tom Tromey <tom@tromey.com>
1204 * f-exp.y: Create operations.
1205 (f_language::parser): Update.
1207 2021-03-08 Tom Tromey <tom@tromey.com>
1209 * m2-exp.y: Create operations.
1210 (m2_language::parser): Update.
1212 2021-03-08 Tom Tromey <tom@tromey.com>
1214 * p-exp.y: Create operations.
1215 (pascal_language::parser): Update.
1217 2021-03-08 Tom Tromey <tom@tromey.com>
1219 * d-exp.y: Create operations.
1222 2021-03-08 Tom Tromey <tom@tromey.com>
1224 * go-exp.y: Create operations.
1225 (go_language::parser): Update.
1227 2021-03-08 Tom Tromey <tom@tromey.com>
1229 * objc-lang.c (end_msglist): Create operations.
1230 * c-exp.y: Change parser to create operations.
1231 (write_destructor_name): Remove.
1234 2021-03-08 Tom Tromey <tom@tromey.com>
1236 * rust-exp.y: Create operations.
1237 (rust_parser::convert_params_to_expression): Change return type.
1238 (binop_maker_ftype): New typedef.
1239 (maker_map): New global.
1240 (rust_parser::convert_ast_to_expression): Change return type.
1241 (rust_language::parser): Update.
1242 (_initialize_rust_exp): Initialize maker_map.
1244 2021-03-08 Tom Tromey <tom@tromey.com>
1246 * stap-probe.c (binop_maker_ftype): New typedef.
1247 (stap_maker_map): New global.
1248 (stap_make_binop): New function.
1249 (stap_parse_register_operand): Return operation_up.
1250 (stap_parse_single_operand, stap_parse_argument_conditionally)
1251 (stap_parse_argument_1): Likewise.
1252 (stap_parse_argument): Create operations.
1253 (stap_probe::parse_arguments): Update.
1254 (_initialize_stap_probe): Initialize stap_maker_map.
1255 * ppc-linux-tdep.c (ppc_stap_parse_special_token): Change return
1257 * i386-tdep.h (i386_stap_parse_special_token): Change return
1259 * i386-tdep.c (i386_stap_parse_special_token_triplet)
1260 (i386_stap_parse_special_token_three_arg_disp)
1261 (i386_stap_parse_special_token): Change return type.
1262 * gdbarch.sh (stap_parse_special_token): Change return type.
1263 * gdbarch.c: Rebuild.
1264 * gdbarch.h: Rebuild.
1265 * arm-linux-tdep.c (arm_stap_parse_special_token): Change return
1267 * aarch64-linux-tdep.c (aarch64_stap_parse_special_token): Change
1270 2021-03-08 Tom Tromey <tom@tromey.com>
1272 * gdbarch.sh (dtrace_parse_probe_argument): Change return type.
1273 * gdbarch.h: Rebuild.
1274 * gdbarch.c: Rebuild.
1275 * dtrace-probe.c (dtrace_probe::build_arg_exprs): Update.
1276 * amd64-linux-tdep.c (amd64_dtrace_parse_probe_argument): Change
1278 (amd64_dtrace_parse_probe_argument): Update.
1280 2021-03-08 Tom Tromey <tom@tromey.com>
1282 * parser-defs.h (struct parser_state) <push, push_new,
1283 push_c_string, push_symbol, push_dollar, pop, pop_vector, wrap,
1284 wrap2>: New methods.
1285 <m_operations>: New member.
1286 * parse.c (parser_state::push_c_string)
1287 (parser_state::push_symbol, parser_state::push_dollar): New
1290 2021-03-08 Tom Tromey <tom@tromey.com>
1292 * parser-defs.h (struct expr_completion_state) <expout_last_op>:
1294 (struct parser_state) <mark_struct_expression>: New method.
1295 * parse.c (parser_state::mark_struct_expression): Update assert.
1296 (parser_state::mark_struct_expression): New method.
1297 (parser_state::mark_completion_tag): Update assert.
1298 (parse_expression_for_completion): Handle expout_last_op.
1300 2021-03-08 Tom Tromey <tom@tromey.com>
1302 * ada-exp.h (class ada_var_value_operation) <get_symbol>: Remove;
1304 * value.h (fetch_subexp_value): Add "op" parameter.
1305 * value.c (init_if_undefined_command): Update.
1306 * tracepoint.c (validate_actionline, encode_actions_1): Update.
1307 * stap-probe.c (stap_probe::compile_to_ax): Update.
1308 * printcmd.c (set_command): Update.
1309 * ppc-linux-nat.c (ppc_linux_nat_target::check_condition):
1311 * parser-defs.h (struct expr_builder) <set_operation>: New
1313 * parse.c (parse_exp_in_context, exp_uses_objfile): Update.
1314 * expression.h (struct expression) <first_opcode>: Update.
1316 * expprint.c (dump_raw_expression, dump_prefix_expression):
1318 * expop.h (class var_value_operation) <get_symbol>: New method.
1319 (class register_operation) <get_name>: New method.
1320 (class equal_operation): No longer a typedef, now a subclass.
1321 (class unop_memval_operation) <get_type>: New method.
1322 (class assign_operation) <get_lhs>: New method.
1323 (class unop_cast_operation) <get_type>: New method.
1324 * eval.c (evaluate_expression, evaluate_type)
1325 (evaluate_subexpression_type): Update.
1326 (fetch_subexp_value): Add "op" parameter.
1327 (parse_and_eval_type): Update.
1328 * dtrace-probe.c (dtrace_probe::compile_to_ax): Update.
1329 * breakpoint.c (update_watchpoint, watchpoint_check)
1330 (watchpoint_exp_is_const, watch_command_1): Update.
1331 * ax-gdb.c (gen_trace_for_expr, gen_eval_for_expr, gen_printf):
1334 2021-03-08 Tom Tromey <tom@tromey.com>
1336 * ada-lang.c (ada_value_binop): Do not use op_string.
1338 2021-03-08 Tom Tromey <tom@tromey.com>
1340 * expprint.c (dump_for_expression): New overload.
1341 * expop.h (check_objfile, dump_for_expression): Declare new
1343 * ada-lang.c (check_objfile): New overload.
1344 (assign_component, ada_aggregate_component::uses_objfile)
1345 (ada_aggregate_component::dump, ada_aggregate_component::assign)
1346 (ada_aggregate_component::assign_aggregate)
1347 (ada_positional_component::uses_objfile)
1348 (ada_positional_component::dump, ada_positional_component::assign)
1349 (ada_discrete_range_association::uses_objfile)
1350 (ada_discrete_range_association::dump)
1351 (ada_discrete_range_association::assign)
1352 (ada_name_association::uses_objfile, ada_name_association::dump)
1353 (ada_name_association::assign)
1354 (ada_choices_component::uses_objfile, ada_choices_component::dump)
1355 (ada_choices_component::assign)
1356 (ada_others_component::uses_objfile, ada_others_component::dump)
1357 (ada_others_component::assign, ada_assign_operation::evaluate):
1359 * ada-exp.h (ada_string_operation) <get_name>: New method.
1360 (class ada_assign_operation): New.
1361 (class ada_component): New.
1362 (ada_component_up): New typedef.
1363 (class ada_aggregate_operation, class ada_aggregate_component)
1364 (class ada_positional_component, class ada_others_component)
1365 (class ada_association): New.
1366 (ada_association_up): New typedef.
1367 (class ada_choices_component)
1368 (class ada_discrete_range_association)
1369 (class ada_name_association): New.
1371 2021-03-08 Tom Tromey <tom@tromey.com>
1373 * ada-lang.c (ada_var_value_operation::resolve)
1374 (ada_funcall_operation::resolve)
1375 (ada_ternop_slice_operation::resolve): New methods.
1376 * ada-exp.h (struct ada_resolvable): New.
1377 (class ada_var_value_operation): Derive from ada_resolvable.
1378 <get_block, resolve>: New methods.
1379 (class ada_funcall_operation): Derive from ada_resolvable.
1380 <resolve>: New method.
1381 (class ada_ternop_slice_operation): Derive from ada_resolvable.
1382 <resolve>: New method.
1384 2021-03-08 Tom Tromey <tom@tromey.com>
1386 * ada-lang.c (ada_funcall_operation::evaluate): New method.
1387 * ada-exp.h (class ada_var_msym_value_operation) <get_symbol>: New
1389 (class ada_funcall_operation): New.
1391 2021-03-08 Tom Tromey <tom@tromey.com>
1393 * ada-lang.c (ada_structop_operation::evaluate): New method.
1394 * ada-exp.h (class ada_structop_operation): New.
1396 2021-03-08 Tom Tromey <tom@tromey.com>
1398 * ada-lang.c (ada_unop_ind_operation::evaluate): New method.
1399 * ada-exp.h (class ada_unop_ind_operation): New.
1401 2021-03-08 Tom Tromey <tom@tromey.com>
1403 * ada-lang.c (ada_binop_exp): No longer static.
1404 * ada-exp.h (ada_binop_exp_operation): New typedef.
1406 2021-03-08 Tom Tromey <tom@tromey.com>
1408 * ada-lang.c (ada_val_atr): No longer static.
1409 (ada_atr_val_operation::evaluate): New method.
1410 * ada-exp.h (class ada_atr_val_operation): New.
1412 2021-03-08 Tom Tromey <tom@tromey.com>
1414 * ada-lang.c (ada_pos_atr): No longer static.
1415 * ada-exp.h (ada_pos_operation): New typedef.
1417 2021-03-08 Tom Tromey <tom@tromey.com>
1419 * ada-lang.c (ada_pos_atr): Rename from value_pos_atr. Change
1421 (ada_evaluate_subexp): Use it.
1423 2021-03-08 Tom Tromey <tom@tromey.com>
1425 * ada-lang.c (ada_binop_minmax): No longer static.
1426 * ada-exp.h (ada_binop_min_operation, ada_binop_max_operation):
1429 2021-03-08 Tom Tromey <tom@tromey.com>
1431 * ada-lang.c (ada_var_msym_value_operation::evaluate_for_cast):
1433 * ada-exp.h (class ada_var_msym_value_operation): New.
1435 2021-03-08 Tom Tromey <tom@tromey.com>
1437 * ada-lang.c (ada_var_value_operation::evaluate_for_cast)
1438 (ada_var_value_operation::evaluate): New methods.
1439 * ada-exp.h (class ada_var_value_operation): New.
1441 2021-03-08 Tom Tromey <tom@tromey.com>
1443 * ada-lang.c (ada_unop_atr_operation::evaluate): New method.
1444 * ada-exp.h (class ada_unop_atr_operation): New.
1446 2021-03-08 Tom Tromey <tom@tromey.com>
1448 * ada-lang.c (ada_binop_in_bounds): No longer static.
1449 * ada-exp.h (class ada_binop_in_bounds_operation): New.
1451 2021-03-08 Tom Tromey <tom@tromey.com>
1453 * ada-lang.c (ada_ternop_slice): No longer static.
1454 * ada-exp.h (class ada_ternop_slice_operation): New.
1456 2021-03-08 Tom Tromey <tom@tromey.com>
1458 * ada-exp.h (ada_bitwise_operation): New template class.
1459 (ada_bitwise_and_operation, ada_bitwise_ior_operation)
1460 (ada_bitwise_xor_operation): New typedefs.
1462 2021-03-08 Tom Tromey <tom@tromey.com>
1464 * ada-lang.c (ada_equal_binop): No longer static.
1465 * ada-exp.h (class ada_binop_equal_operation): New.
1467 2021-03-08 Tom Tromey <tom@tromey.com>
1469 * ada-lang.c (ada_mult_binop): No longer static.
1470 * ada-exp.h (ada_binop_mul_operation ada_binop_div_operation)
1471 (ada_binop_rem_operation, ada_binop_mod_operation): New typedefs.
1473 2021-03-08 Tom Tromey <tom@tromey.com>
1475 * ada-lang.c (ada_binop_addsub_operation::evaluate): New method.
1476 * ada-exp.h (class ada_binop_addsub_operation): New.
1478 2021-03-08 Tom Tromey <tom@tromey.com>
1480 * ada-lang.h (ada_find_operator_symbol, ada_resolve_funcall)
1481 (ada_resolve_variable): Declare.
1482 * ada-lang.c (ada_find_operator_symbol, ada_resolve_funcall)
1483 (ada_resolve_variable): New functions.
1484 (resolve_subexp): Update.
1486 2021-03-08 Tom Tromey <tom@tromey.com>
1488 * opencl-lang.c (opencl_ternop_cond_operation::evaluate): New
1490 * c-exp.h (class opencl_ternop_cond_operation): New.
1492 2021-03-08 Tom Tromey <tom@tromey.com>
1494 * opencl-lang.c (opencl_logical_binop_operation::evaluate): New
1496 * c-exp.h (class opencl_logical_binop_operation): New.
1498 2021-03-08 Tom Tromey <tom@tromey.com>
1500 * opencl-lang.c (opencl_structop_operation::evaluate): New
1502 * c-exp.h (class opencl_structop_operation): New.
1504 2021-03-08 Tom Tromey <tom@tromey.com>
1506 * opencl-lang.c (opencl_logical_not): No longer static. Change
1508 (evaluate_subexp_opencl): Update.
1509 * c-exp.h (opencl_notequal_operation): New typedef.
1511 2021-03-08 Tom Tromey <tom@tromey.com>
1513 * opencl-lang.c (opencl_relop, eval_opencl_assign): No longer
1514 static. Change parameters.
1515 (eval_opencl_assign): No longer static. Add "op" parameter.
1516 (evaluate_subexp_opencl): Update.
1517 * c-exp.h (opencl_binop_operation): New template class.
1518 (opencl_assign_operation, opencl_equal_operation)
1519 (opencl_notequal_operation, opencl_less_operation)
1520 (opencl_gtr_operation, opencl_geq_operation)
1521 (opencl_leq_operation): New typedefs.
1523 2021-03-08 Tom Tromey <tom@tromey.com>
1525 * opencl-lang.c (opencl_value_cast): No longer static.
1526 * c-exp.h (opencl_cast_type_operation): New typedef.
1528 2021-03-08 Tom Tromey <tom@tromey.com>
1530 * f-exp.h (eval_op_f_allocated): Declare.
1531 (fortran_allocated_operation): New typedef.
1532 * f-lang.c (eval_op_f_allocated): No longer static.
1534 2021-03-08 Tom Tromey <tom@tromey.com>
1536 * f-lang.c (eval_op_f_associated): New functions.
1537 * f-exp.h (fortran_associated_1arg, fortran_associated_2arg): New
1540 2021-03-08 Tom Tromey <tom@tromey.com>
1542 * f-lang.c (fortran_bound_1arg::evaluate)
1543 (fortran_bound_2arg::evaluate): New methods.
1544 * f-exp.h (class fortran_bound_1arg, class fortran_bound_2arg):
1547 2021-03-08 Tom Tromey <tom@tromey.com>
1549 * expop.h (class unop_addr_operation) <get_expression>: New
1551 * f-lang.c (fortran_undetermined::value_subarray)
1552 (fortran_undetermined::evaluate): New methods.
1553 (fortran_prepare_argument): New overload.
1554 * f-exp.h (class fortran_range_operation)
1555 (class fortran_undetermined): New classes.
1557 2021-03-08 Tom Tromey <tom@tromey.com>
1559 * rust-lang.c (rust_structop::evaluate_funcall): New method.
1560 * rust-exp.h (class rust_structop) <evaluate_funcall>: Declare
1563 2021-03-08 Tom Tromey <tom@tromey.com>
1565 * expression.h (class operation) <evaluate_funcall>: New methods.
1566 * expop.h (class scope_operation) <evaluate_funcall>: New method.
1567 (class var_value_operation) <evaluate_funcall>: New method.
1568 (class structop_base_operation) <evaluate_funcall>: New method.
1569 (class var_msym_value_operation) <evaluate_funcall>: New method.
1570 (class structop_member_base): New class.
1571 (class structop_member_operation): Derive from
1572 structop_member_base.
1573 (class structop_mptr_operation): Derive from
1574 structop_member_base.
1575 (class funcall_operation): New class.
1576 * eval.c (operation::evaluate_funcall)
1577 (var_value_operation::evaluate_funcall)
1578 (scope_operation::evaluate_funcall)
1579 (structop_member_base::evaluate_funcall)
1580 (structop_base_operation::evaluate_funcall): New methods.
1582 2021-03-08 Tom Tromey <tom@tromey.com>
1584 * expop.h (class array_operation): New.
1585 * eval.c (array_operation::evaluate_struct_tuple)
1586 (array_operation::evaluate): New methods.
1588 2021-03-08 Tom Tromey <tom@tromey.com>
1590 * expop.h (class adl_func_operation): New.
1591 * eval.c (adl_func_operation::evaluate): New method.
1593 2021-03-08 Tom Tromey <tom@tromey.com>
1595 * ada-lang.c (ada_unop_in_range): No longer static.
1596 * ada-exp.h (class ada_unop_range_operation): New.
1598 2021-03-08 Tom Tromey <tom@tromey.com>
1600 * ada-lang.c (ada_unop_neg, ada_atr_tag, ada_atr_size, ada_abs):
1602 * ada-exp.h (ada_neg_operation, ada_atr_tag_operation)
1603 (ada_atr_size_operation, ada_abs_operation): New typedefs.
1605 2021-03-08 Tom Tromey <tom@tromey.com>
1607 * expop.h (class logical_and_operation)
1608 (class logical_or_operation): New.
1609 * eval.c (logical_and_operation::evaluate)
1610 (logical_or_operation::evaluate): New methods.
1611 * ax-gdb.c (logical_and_operation::do_generate_ax)
1612 (logical_or_operation::do_generate_ax): New methods.
1614 2021-03-08 Tom Tromey <tom@tromey.com>
1616 * m2-lang.c (eval_op_m2_high, eval_op_m2_subscript): No longer
1618 * m2-exp.h: New file.
1620 2021-03-08 Tom Tromey <tom@tromey.com>
1622 * rust-lang.c (rust_aggregate_operation::evaluate): New method.
1623 * rust-exp.h (class rust_aggregate_operation): New.
1625 2021-03-08 Tom Tromey <tom@tromey.com>
1627 * rust-lang.c (eval_op_rust_struct_anon, eval_op_rust_structop):
1629 * rust-exp.h (class rust_struct_anon): New.
1630 (class rust_structop): New.
1632 2021-03-08 Tom Tromey <tom@tromey.com>
1634 * rust-lang.c (rust_range): No longer static.
1635 * rust-exp.h (class rust_range_operation): New.
1637 2021-03-08 Tom Tromey <tom@tromey.com>
1639 * rust-lang.c (rust_subscript): No longer static.
1640 * rust-exp.h (class rust_subscript_operation): New.
1642 2021-03-08 Tom Tromey <tom@tromey.com>
1644 * rust-lang.c (eval_op_rust_ind): No longer static. Add "opcode"
1646 (rust_evaluate_subexp): Update.
1647 * rust-exp.h (class rust_unop_ind_operation): New.
1649 2021-03-08 Tom Tromey <tom@tromey.com>
1651 * rust-lang.c (eval_op_rust_complement, eval_op_rust_array): No
1652 longer static. Add "opcode" parameter.
1653 (rust_evaluate_subexp): Update.
1654 * rust-exp.h: New file.
1656 2021-03-08 Tom Tromey <tom@tromey.com>
1658 * f-lang.c (eval_op_f_abs, eval_op_f_mod, eval_op_f_ceil)
1659 (eval_op_f_floor, eval_op_f_modulo, eval_op_f_cmplx)
1660 (eval_op_f_kind): No longer static. Add "opcode" parameter.
1661 (evaluate_subexp_f): Update.
1662 * f-exp.h: New file.
1664 2021-03-08 Tom Tromey <tom@tromey.com>
1666 * ada-lang.c (ada_ternop_range_operation::evaluate): New method.
1667 * ada-exp.h (class ada_ternop_range_operation): New.
1669 2021-03-08 Tom Tromey <tom@tromey.com>
1671 * ada-lang.c (ada_qual_operation::evaluate): New method.
1672 * ada-exp.h (class ada_qual_operation): New.
1674 2021-03-08 Tom Tromey <tom@tromey.com>
1676 * ada-lang.c (ada_string_operation::evaluate): New method.
1677 * ada-exp.h (class ada_string_operation): New.
1679 2021-03-08 Tom Tromey <tom@tromey.com>
1681 * ada-lang.c (ada_wrapped_operation::evaluate): New method.
1682 * ada-exp.h: New file.
1684 2021-03-08 Tom Tromey <tom@tromey.com>
1686 * expop.h (class multi_subscript_operation): New.
1687 * eval.c (multi_subscript_operation::evaluate): New method.
1689 2021-03-08 Tom Tromey <tom@tromey.com>
1691 * eval.c (objc_msgcall_operation::evaluate): New method.
1692 * c-exp.h (class objc_msgcall_operation): New.
1694 2021-03-08 Tom Tromey <tom@tromey.com>
1696 * expop.h (class var_value_operation): New.
1697 * eval.c (var_value_operation::evaluate)
1698 (var_value_operation::evaluate_for_address)
1699 (var_value_operation::evaluate_with_coercion)
1700 (var_value_operation::evaluate_for_sizeof)
1701 (var_value_operation::evaluate_for_cast): New methods.
1702 * ax-gdb.c (var_value_operation::do_generate_ax): New method.
1704 2021-03-08 Tom Tromey <tom@tromey.com>
1706 * expop.h (cxx_cast_ftype): New typedef.
1707 (cxx_cast_operation): New template.
1708 (dynamic_cast_operation, reinterpret_cast_operation): New
1711 2021-03-08 Tom Tromey <tom@tromey.com>
1713 * expop.h (class unop_cast_type_operation): New.
1714 * ax-gdb.c (unop_cast_type_operation::do_generate_ax): New
1717 2021-03-08 Tom Tromey <tom@tromey.com>
1719 * expop.h (class unop_cast_operation): New.
1720 * ax-gdb.c (unop_cast_operation::do_generate_ax): New method.
1722 2021-03-08 Tom Tromey <tom@tromey.com>
1724 * expop.h (class assign_modify_operation): New.
1725 * eval.c (eval_binop_assign_modify): No longer static.
1726 * ax-gdb.c (assign_modify_operation::do_generate_ax): New method.
1728 2021-03-08 Tom Tromey <tom@tromey.com>
1730 * expop.h (class assign_operation): New.
1731 * ax-gdb.c (assign_operation::do_generate_ax): New method.
1733 2021-03-08 Tom Tromey <tom@tromey.com>
1735 * expop.h (class type_instance_operation): New.
1736 * eval.c (type_instance_operation::evaluate): New method.
1738 2021-03-08 Tom Tromey <tom@tromey.com>
1740 * expop.h (class op_this_operation): New.
1741 * ax-gdb.c (op_this_operation::do_generate_ax): New method.
1743 2021-03-08 Tom Tromey <tom@tromey.com>
1745 * expop.h (class unop_memval_operation)
1746 (class unop_memval_type_operation): New.
1747 * eval.c (eval_op_memval): No longer static.
1748 (unop_memval_operation::evaluate_for_address)
1749 (unop_memval_type_operation::evaluate_for_address)
1750 (unop_memval_operation::evaluate_for_sizeof)
1751 (unop_memval_type_operation::evaluate_for_sizeof): New methods.
1752 * ax-gdb.c (unop_memval_operation::do_generate_ax)
1753 (unop_memval_type_operation::do_generate_ax): New methods.
1755 2021-03-08 Tom Tromey <tom@tromey.com>
1757 * expop.h (class unop_alignof_operation): New.
1758 * eval.c (eval_op_alignof): No longer static.
1760 2021-03-08 Tom Tromey <tom@tromey.com>
1762 * expop.h (class unop_sizeof_operation): New.
1763 * ax-gdb.c (unop_sizeof_operation::do_generate_ax): New method.
1765 2021-03-08 Tom Tromey <tom@tromey.com>
1767 * expop.h (class unop_addr_operation): New.
1768 * ax-gdb.c (gen_expr_unop) <case UNOP_ADDR>: New.
1770 2021-03-08 Tom Tromey <tom@tromey.com>
1772 * expop.h (class typeid_operation): New.
1774 2021-03-08 Tom Tromey <tom@tromey.com>
1776 * expop.h (class decltype_operation): New.
1778 2021-03-08 Tom Tromey <tom@tromey.com>
1780 * expop.h (class typeof_operation): New.
1782 2021-03-08 Tom Tromey <tom@tromey.com>
1784 * expop.h (class type_operation): New.
1785 * eval.c (eval_op_type): No longer static.
1787 2021-03-08 Tom Tromey <tom@tromey.com>
1789 * expop.h (class unop_ind_base_operation)
1790 (class unop_ind_operation): New.
1791 * eval.c (eval_op_ind): No longer static. Remove "op" parameter.
1792 (unop_ind_base_operation::evaluate_for_address)
1793 (unop_ind_base_operation::evaluate_for_sizeof): New method.
1794 * ax-gdb.c (gen_expr_unop) <case UNOP_IND>: New.
1796 2021-03-08 Tom Tromey <tom@tromey.com>
1798 * expop.h (unop_incr_operation): New template.
1799 (preinc_operation, predec_operation, postinc_operation)
1800 (postdec_operation): New typedefs.
1801 * eval.c (eval_op_preinc, eval_op_predec, eval_op_postinc)
1802 (eval_op_postdec): No longer static.
1804 2021-03-08 Tom Tromey <tom@tromey.com>
1806 * expop.h (unary_ftype): New typedef.
1807 (unop_operation, usual_ax_binop_operation): New templates.
1808 (unary_plus_operation, unary_neg_operation)
1809 (unary_complement_operation, unary_logical_not_operation): New
1811 * eval.c (eval_op_plus, eval_op_neg, eval_op_complement)
1812 (eval_op_lognot): No longer static.
1813 * ax-gdb.c (gen_expr_unop): New function.
1815 2021-03-08 Tom Tromey <tom@tromey.com>
1817 * ax-gdb.c (comma_operation::do_generate_ax): New method.
1819 2021-03-08 Tom Tromey <tom@tromey.com>
1821 * expop.h (class repeat_operation): New.
1822 * eval.c (eval_op_repeat): No longer static. Remove "op"
1824 (evaluate_subexp_standard): Update.
1825 * ax-gdb.c (repeat_operation::do_generate_ax): New method.
1827 2021-03-08 Tom Tromey <tom@tromey.com>
1829 * expop.h (class comparison_operation): New.
1830 (equal_operation, notequal_operation, less_operation)
1831 (gtr_operation, geq_operation, leq_operation): New typedefs.
1832 * eval.c (eval_op_equal, eval_op_notequal, eval_op_less)
1833 (eval_op_gtr, eval_op_geq, eval_op_leq): No longer static.
1835 2021-03-08 Tom Tromey <tom@tromey.com>
1837 * expop.h (class subscript_operation): New.
1838 * eval.c (eval_op_subscript): No longer static.
1840 2021-03-08 Tom Tromey <tom@tromey.com>
1842 * expop.h (class binop_operation, class usual_ax_binop_operation):
1844 (exp_operation, intdiv_operation, mod_operation, mul_operation)
1845 (div_operation, rem_operation, lsh_operation, rsh_operation)
1846 (bitwise_and_operation, bitwise_ior_operation)
1847 (bitwise_xor_operation): New typedefs.
1848 * eval.c (eval_op_binary): No longer static.
1850 2021-03-08 Tom Tromey <tom@tromey.com>
1852 * expop.h (class sub_operation): New.
1853 * eval.c (eval_op_sub): No longer static. Remove "op" parameter.
1854 (evaluate_subexp_standard): Update.
1856 2021-03-08 Tom Tromey <tom@tromey.com>
1858 * expop.h (class add_operation): New.
1859 * eval.c (eval_op_add): No longer static. Remove "op" parameter.
1860 (evaluate_subexp_standard): Update.
1862 2021-03-08 Tom Tromey <tom@tromey.com>
1864 * expop.h (class concat_operation): New.
1865 * eval.c (eval_op_concat): No longer static. Remove "op"
1867 (evaluate_subexp_standard): Update.
1869 2021-03-08 Tom Tromey <tom@tromey.com>
1871 * expop.h (class structop_member_operation)
1872 (class structop_mptr_operation): New.
1873 * eval.c (eval_op_member): No longer static.
1875 2021-03-08 Tom Tromey <tom@tromey.com>
1877 * expop.h (class structop_ptr_operation): New.
1878 * eval.c (eval_op_structop_ptr): No longer static. Remove "op"
1881 2021-03-08 Tom Tromey <tom@tromey.com>
1883 * expop.h (class structop_base_operation)
1884 (class structop_operation): New.
1885 * eval.c (eval_op_structop_struct): No longer static.
1887 2021-03-08 Tom Tromey <tom@tromey.com>
1889 * expop.h (class complex_operation): New.
1891 2021-03-08 Tom Tromey <tom@tromey.com>
1893 * eval.c (eval_op_objc_selector): No longer static.
1894 * c-exp.h (class objc_selector_operation): New.
1896 2021-03-08 Tom Tromey <tom@tromey.com>
1898 * eval.c: Include c-exp.h.
1899 * c-exp.h (class objc_nsstring_operation): New.
1901 2021-03-08 Tom Tromey <tom@tromey.com>
1903 * c-lang.c (c_string_operation::evaluate): New method.
1904 * c-exp.h: New file.
1906 2021-03-08 Tom Tromey <tom@tromey.com>
1908 * expop.h (class ternop_cond_operation): New.
1909 * ax-gdb.c (ternop_cond_operation::do_generate_ax): New method.
1911 2021-03-08 Tom Tromey <tom@tromey.com>
1913 * expop.h (class ternop_slice_operation): New.
1914 * eval.c (eval_op_ternop): No longer static.
1916 2021-03-08 Tom Tromey <tom@tromey.com>
1918 * expop.h (class string_operation): New.
1919 * eval.c (eval_op_string): No longer static.
1921 2021-03-08 Tom Tromey <tom@tromey.com>
1923 * expop.h (class internalvar_operation): New.
1924 * ax-gdb.c (internalvar_operation::do_generate_ax): New method.
1926 2021-03-08 Tom Tromey <tom@tromey.com>
1928 * expop.h (class bool_operation): New.
1930 2021-03-08 Tom Tromey <tom@tromey.com>
1932 * expop.h (class register_operation): New.
1933 * eval.c (eval_op_register): No longer static.
1934 * ax-gdb.c (register_operation::do_generate_ax): New method.
1936 2021-03-08 Tom Tromey <tom@tromey.com>
1938 * expop.h (class last_operation): New.
1940 2021-03-08 Tom Tromey <tom@tromey.com>
1942 * expop.h (class func_static_var_operation): New.
1943 * eval.c (eval_op_func_static_var): No longer static.
1945 2021-03-08 Tom Tromey <tom@tromey.com>
1947 * expop.h (class var_entry_value_operation): New.
1948 * eval.c (eval_op_var_entry_value): No longer static.
1950 2021-03-08 Tom Tromey <tom@tromey.com>
1952 * expression.h (class operation) <set_outermost>: New method.
1953 * expop.h (class var_msym_value_operation): New.
1954 * eval.c (eval_op_var_msym_value): No longer static.
1955 (var_msym_value_operation::evaluate_for_address)
1956 (var_msym_value_operation::evaluate_for_sizeof)
1957 (var_msym_value_operation::evaluate_for_cast): New methods.
1958 * ax-gdb.c (var_msym_value_operation::do_generate_ax): New
1961 2021-03-08 Tom Tromey <tom@tromey.com>
1963 * expop.h (class long_const_operation): New.
1964 * ax-gdb.c (long_const_operation::do_generate_ax): New method.
1966 2021-03-08 Tom Tromey <tom@tromey.com>
1968 * expop.h (class scope_operation): New.
1969 * eval.c (eval_op_scope): No longer static.
1970 (scope_operation::evaluate_for_address): New method.
1971 * ax-gdb.c (scope_operation::do_generate_ax): New method.
1973 2021-03-08 Tom Tromey <tom@tromey.com>
1975 * expprint.c (float_const_operation::dump): New method.
1976 * expop.h (float_data): New typedef.
1977 (class float_const_operation): New.
1979 2021-03-08 Tom Tromey <tom@tromey.com>
1981 * expop.h (gen_expr_binop, gen_expr_structop): Declare.
1982 * ax-gdb.c (gen_expr_binop): New function.
1983 (gen_expr_structop): Likewise.
1985 2021-03-08 Tom Tromey <tom@tromey.com>
1987 * expprint.c (expr::dump_for_expression): New functions.
1988 * expop.h (dump_for_expression): New overloads.
1989 (tuple_holding_operation::dump, tuple_holding_operation::do_dump):
1992 2021-03-08 Tom Tromey <tom@tromey.com>
1994 * expression.h (expr::operation): New class.
1995 (expr::make_operation): New function.
1996 (expr::operation_up): New typedef.
1997 * expop.h: New file.
1998 * eval.c (operation::evaluate_for_cast)
1999 (operation::evaluate_for_address, operation::evaluate_for_sizeof):
2001 * ax-gdb.c (operation::generate_ax): New method.
2003 2021-03-08 Tom Tromey <tom@tromey.com>
2005 * ax-gdb.c (gen_expr_binop_rest): Remove "pc" parameter.
2006 (gen_expr_binop_rest): New overload.
2008 2021-03-08 Tom Tromey <tom@tromey.com>
2010 * eval.c (eval_multi_subscript): New function.
2011 (evaluate_subexp_standard): Use it.
2013 2021-03-08 Tom Tromey <tom@tromey.com>
2015 * ada-lang.c (ada_binop_exp): New function.
2016 (ada_evaluate_subexp): Use it.
2018 2021-03-08 Tom Tromey <tom@tromey.com>
2020 * ada-lang.c (ada_val_atr): Rename from value_val_atr. Change
2022 (ada_evaluate_subexp): Use it.
2024 2021-03-08 Tom Tromey <tom@tromey.com>
2026 * ada-lang.c (ada_binop_minmax): New function.
2027 (ada_evaluate_subexp): Use it.
2029 2021-03-08 Tom Tromey <tom@tromey.com>
2031 * ada-lang.c (ada_unop_atr): New function.
2032 (ada_evaluate_subexp): Use it.
2034 2021-03-08 Tom Tromey <tom@tromey.com>
2036 * ada-lang.c (ada_binop_in_bounds): New function.
2037 (ada_evaluate_subexp): Use it.
2039 2021-03-08 Tom Tromey <tom@tromey.com>
2041 * ada-lang.c (ada_ternop_slice): New function.
2042 (ada_evaluate_subexp): Use it.
2044 2021-03-08 Tom Tromey <tom@tromey.com>
2046 * ada-lang.c (ada_equal_binop): New function.
2047 (ada_evaluate_subexp): Use it.
2049 2021-03-08 Tom Tromey <tom@tromey.com>
2051 * ada-lang.c (ada_mult_binop): New function.
2052 (ada_evaluate_subexp): Use it.
2054 2021-03-08 Tom Tromey <tom@tromey.com>
2056 * ada-lang.c (ada_abs): New function.
2057 (ada_evaluate_subexp): Use it.
2059 2021-03-08 Tom Tromey <tom@tromey.com>
2061 * ada-lang.c (ada_atr_size): New function.
2062 (ada_evaluate_subexp): Use it.
2064 2021-03-08 Tom Tromey <tom@tromey.com>
2066 * ada-lang.c (ada_atr_tag): New function.
2067 (ada_evaluate_subexp): Use it.
2069 2021-03-08 Tom Tromey <tom@tromey.com>
2071 * ada-lang.c (ada_unop_in_range): New function.
2072 (ada_evaluate_subexp): Use it.
2074 2021-03-08 Tom Tromey <tom@tromey.com>
2076 * ada-lang.c (ada_unop_neg): New function.
2077 (ada_evaluate_subexp): Use it.
2079 2021-03-08 Tom Tromey <tom@tromey.com>
2081 * ada-lang.c (eval_ternop_in_range): New function.
2082 (ada_evaluate_subexp): Use it.
2084 2021-03-08 Tom Tromey <tom@tromey.com>
2086 * opencl-lang.c (eval_opencl_assign): New function.
2087 (evaluate_subexp_opencl): Use it.
2089 2021-03-08 Tom Tromey <tom@tromey.com>
2091 * eval.c (eval_op_objc_msgcall): New function.
2092 (evaluate_subexp_standard): Use it.
2094 2021-03-08 Tom Tromey <tom@tromey.com>
2096 * eval.c (eval_binop_assign_modify): New function.
2097 (evaluate_subexp_standard): Use it.
2099 2021-03-08 Tom Tromey <tom@tromey.com>
2101 * m2-lang.c (eval_op_m2_subscript): New function.
2102 (evaluate_subexp_modula2): Use it.
2104 2021-03-08 Tom Tromey <tom@tromey.com>
2106 * m2-lang.c (eval_op_m2_high): New function.
2107 (evaluate_subexp_modula2): Use it.
2109 2021-03-08 Tom Tromey <tom@tromey.com>
2111 * eval.c (evaluate_subexp_for_address_base): New function.
2112 (evaluate_subexp_for_address): Use it.
2113 (evaluate_subexp_for_sizeof_base): New function.
2114 (evaluate_subexp_for_sizeof): Use it.
2116 2021-03-08 Tom Tromey <tom@tromey.com>
2118 * rust-lang.c (eval_op_rust_structop): New function.
2119 (rust_evaluate_subexp): Use it.
2121 2021-03-08 Tom Tromey <tom@tromey.com>
2123 * rust-lang.c (eval_op_rust_struct_anon): New function.
2124 (rust_evaluate_subexp): Use it.
2126 2021-03-08 Tom Tromey <tom@tromey.com>
2128 * rust-lang.c (eval_op_rust_array): New function.
2129 (rust_evaluate_subexp): Use it.
2131 2021-03-08 Tom Tromey <tom@tromey.com>
2133 * rust-lang.c (eval_op_rust_complement): New function.
2134 (rust_evaluate_subexp): Use it.
2136 2021-03-08 Tom Tromey <tom@tromey.com>
2138 * rust-lang.c (eval_op_rust_ind): New function.
2139 (rust_evaluate_subexp): Use it.
2141 2021-03-08 Tom Tromey <tom@tromey.com>
2143 * rust-lang.c (rust_subscript): Change parameters.
2144 (rust_evaluate_subexp): Update.
2146 2021-03-08 Tom Tromey <tom@tromey.com>
2148 * rust-lang.c (rust_range): Change parameters.
2149 (rust_evaluate_subexp): Update.
2151 2021-03-08 Tom Tromey <tom@tromey.com>
2153 * f-lang.c (eval_op_f_allocated): New function.
2154 (evaluate_subexp_f): Use it.
2156 2021-03-08 Tom Tromey <tom@tromey.com>
2158 * f-lang.c (fortran_require_array): New function.
2159 (evaluate_subexp_f): Use it.
2161 2021-03-08 Tom Tromey <tom@tromey.com>
2163 * f-lang.c (eval_op_f_kind): New function.
2164 (evaluate_subexp_f): Use it.
2166 2021-03-08 Tom Tromey <tom@tromey.com>
2168 * f-lang.c (eval_op_f_cmplx): New function.
2169 (evaluate_subexp_f): Use it.
2171 2021-03-08 Tom Tromey <tom@tromey.com>
2173 * f-lang.c (eval_op_f_modulo): New function.
2174 (evaluate_subexp_f): Use it.
2176 2021-03-08 Tom Tromey <tom@tromey.com>
2178 * f-lang.c (eval_op_f_floor): New function.
2179 (evaluate_subexp_f): Use it.
2181 2021-03-08 Tom Tromey <tom@tromey.com>
2183 * f-lang.c (eval_op_f_ceil): New function.
2184 (evaluate_subexp_f): Use it.
2186 2021-03-08 Tom Tromey <tom@tromey.com>
2188 * f-lang.c (eval_op_f_mod): New function.
2189 (evaluate_subexp_f): Use it.
2191 2021-03-08 Tom Tromey <tom@tromey.com>
2193 * f-lang.c (eval_op_f_abs): New function.
2194 (evaluate_subexp_f): Use it.
2196 2021-03-08 Tom Tromey <tom@tromey.com>
2198 * eval.c (eval_op_type): New function.
2199 (evaluate_subexp_standard): Use it.
2201 2021-03-08 Tom Tromey <tom@tromey.com>
2203 * eval.c (eval_op_postdec): New function.
2204 (evaluate_subexp_standard): Use it.
2206 2021-03-08 Tom Tromey <tom@tromey.com>
2208 * eval.c (eval_op_postinc): New function.
2209 (evaluate_subexp_standard): Use it.
2211 2021-03-08 Tom Tromey <tom@tromey.com>
2213 * eval.c (eval_op_predec): New file.
2214 (evaluate_subexp_standard): Use it.
2216 2021-03-08 Tom Tromey <tom@tromey.com>
2218 * eval.c (eval_op_preinc): New function.
2219 (evaluate_subexp_standard): Use it.
2221 2021-03-08 Tom Tromey <tom@tromey.com>
2223 * eval.c (eval_op_memval): New function.
2224 (evaluate_subexp_standard): Use it.
2226 2021-03-08 Tom Tromey <tom@tromey.com>
2228 * eval.c (eval_op_alignof): New function.
2229 (evaluate_subexp_standard): Use it.
2231 2021-03-08 Tom Tromey <tom@tromey.com>
2233 * eval.c (eval_op_ind): New function.
2234 (evaluate_subexp_standard): Use it.
2236 2021-03-08 Tom Tromey <tom@tromey.com>
2238 * eval.c (eval_op_lognot): New function.
2239 (evaluate_subexp_standard): Use it.
2241 2021-03-08 Tom Tromey <tom@tromey.com>
2243 * eval.c (eval_op_complement): New function.
2244 (evaluate_subexp_standard): Use it.
2246 2021-03-08 Tom Tromey <tom@tromey.com>
2248 * eval.c (eval_op_neg): New function.
2249 (evaluate_subexp_standard): Use it.
2251 2021-03-08 Tom Tromey <tom@tromey.com>
2253 * eval.c (eval_op_plus): New function.
2254 (evaluate_subexp_standard): Use it.
2256 2021-03-08 Tom Tromey <tom@tromey.com>
2258 * eval.c (eval_op_repeat): New function.
2259 (evaluate_subexp_standard): Use it.
2261 2021-03-08 Tom Tromey <tom@tromey.com>
2263 * eval.c (eval_op_leq): New function.
2264 (evaluate_subexp_standard): Use it.
2266 2021-03-08 Tom Tromey <tom@tromey.com>
2268 * eval.c (eval_op_geq): New function.
2269 (evaluate_subexp_standard): Use it.
2271 2021-03-08 Tom Tromey <tom@tromey.com>
2273 * eval.c (eval_op_gtr): New function.
2274 (evaluate_subexp_standard): Use it.
2276 2021-03-08 Tom Tromey <tom@tromey.com>
2278 * eval.c (eval_op_less): New function.
2279 (evaluate_subexp_standard): Use it.
2281 2021-03-08 Tom Tromey <tom@tromey.com>
2283 * eval.c (eval_op_notequal): New function.
2284 (evaluate_subexp_standard): Use it.
2286 2021-03-08 Tom Tromey <tom@tromey.com>
2288 * eval.c (eval_op_equal): New function.
2289 (evaluate_subexp_standard): Use it.
2291 2021-03-08 Tom Tromey <tom@tromey.com>
2293 * eval.c (eval_op_subscript): New function.
2294 (evaluate_subexp_standard): Use it.
2296 2021-03-08 Tom Tromey <tom@tromey.com>
2298 * eval.c (eval_op_binary): New function.
2299 (evaluate_subexp_standard): Use it.
2301 2021-03-08 Tom Tromey <tom@tromey.com>
2303 * eval.c (eval_op_sub): New function.
2304 (evaluate_subexp_standard): Use it.
2306 2021-03-08 Tom Tromey <tom@tromey.com>
2308 * eval.c (eval_op_add): New function.
2309 (evaluate_subexp_standard): Use it.
2311 2021-03-08 Tom Tromey <tom@tromey.com>
2313 * eval.c (eval_op_member): New function.
2314 (evaluate_subexp_standard): Use it.
2316 2021-03-08 Tom Tromey <tom@tromey.com>
2318 * eval.c (eval_op_structop_ptr): New function.
2319 (evaluate_subexp_standard): Use it.
2321 2021-03-08 Tom Tromey <tom@tromey.com>
2323 * eval.c (eval_op_structop_struct): New function.
2324 (evaluate_subexp_standard): Use it.
2326 2021-03-08 Tom Tromey <tom@tromey.com>
2328 * eval.c (eval_op_ternop): New function.
2329 (evaluate_subexp_standard): Use it.
2331 2021-03-08 Tom Tromey <tom@tromey.com>
2333 * eval.c (eval_op_concat): New function.
2334 (evaluate_subexp_standard): Use it.
2336 2021-03-08 Tom Tromey <tom@tromey.com>
2338 * eval.c (eval_op_objc_selector): New function.
2339 (evaluate_subexp_standard): Use it.
2341 2021-03-08 Tom Tromey <tom@tromey.com>
2343 * eval.c (eval_op_string): New function.
2344 (evaluate_subexp_standard): Use it.
2346 2021-03-08 Tom Tromey <tom@tromey.com>
2348 * eval.c (eval_op_register): New function.
2349 (evaluate_subexp_standard): Use it.
2351 2021-03-08 Tom Tromey <tom@tromey.com>
2353 * eval.c (eval_op_func_static_var): New function.
2354 (evaluate_subexp_standard): Use it.
2356 2021-03-08 Tom Tromey <tom@tromey.com>
2358 * eval.c (eval_op_var_msym_value): New function.
2359 (evaluate_subexp_standard): Use it.
2361 2021-03-08 Tom Tromey <tom@tromey.com>
2363 * eval.c (eval_op_var_entry_value): New function.
2364 (evaluate_subexp_standard): Use it.
2366 2021-03-08 Tom Tromey <tom@tromey.com>
2368 * eval.c (eval_op_scope): New function.
2369 (evaluate_subexp_standard): Use it.
2371 2021-03-06 Chernov Sergey <klen_s@mail.ru>
2374 * ada-lang.c (ada_fold_name): Use gdb::to_string.
2376 2021-03-06 Tom Tromey <tom@tromey.com>
2378 * dwarf2/sect-names.h (dwarf2_elf_names): Declare.
2379 * dwarf2/read.h (dwarf2_get_dwz_file): Move to dwz.h.
2380 * dwarf2/read.c (dwarf2_elf_names): No longer static.
2381 (locate_dwz_sections, dwz_search_other_debugdirs)
2382 (dwarf2_get_dwz_file): Move to dwz.c.
2383 * dwarf2/dwz.h (dwarf2_get_dwz_file): Move declaration from
2385 * dwarf2/dwz.c (locate_dwz_sections, dwz_search_other_debugdirs)
2386 (dwarf2_get_dwz_file): Move from read.c.
2388 2021-03-06 Tom Tromey <tom@tromey.com>
2390 * debuginfod-support.h: Include scoped_fd.h.
2392 2021-03-06 Tom Tromey <tom@tromey.com>
2394 * dwarf2/read.h (dwarf2_get_dwz_file): Add 'require' parameter.
2395 * dwarf2/read.c (dwarf2_get_dwz_file): Add 'require' parameter.
2396 (get_abbrev_section_for_cu, read_attribute_value)
2397 (get_debug_line_section): Update.
2398 * dwarf2/macro.c (dwarf_decode_macro_bytes): Update.
2400 2021-03-06 Tom Tromey <tom@tromey.com>
2402 * dwarf2/sect-names.h (struct dwarf2_section_names) <matches>: New
2404 * dwarf2/read.c (section_is_p): Remove.
2405 (dwarf2_per_bfd::locate_sections)
2406 (dwarf2_per_bfd::locate_sections, locate_dwz_sections)
2407 (locate_v1_virtual_dwo_sections, dwarf2_locate_dwo_sections)
2408 (dwarf2_locate_common_dwp_sections)
2409 (dwarf2_locate_v2_dwp_sections, dwarf2_locate_v5_dwp_sections):
2412 2021-03-06 Tom Tromey <tom@tromey.com>
2414 * xcoffread.c: Include sect-names.h.
2415 * symfile.h (struct dwarf2_section_names, struct
2416 dwarf2_debug_sections): Move to dwarf2/sect-names.h.
2417 * dwarf2/sect-names.h: New file, from symfile.h.
2418 * dwarf2/read.c: Include sect-names.h.
2420 2021-03-06 Tom Tromey <tom@tromey.com>
2422 * dwarf2/read.c (read_attribute): Make 'abbrev' const.
2423 * dwarf2/abbrev.c (abbrev_table::alloc_abbrev): Remove.
2424 (abbrev_table::read): Update.
2425 * dwarf2/abbrev.h (struct attr_abbrev): Move earlier.
2426 (struct abbrev_info): Reformat.
2427 <attrs>: Now an array.
2428 (struct abbrev_table) <alloc_abbrev>: Remove.
2430 2021-03-06 Weimin Pan <weimin.pan@oracle.com>
2432 * ctfread.c (ctf_psymtab_add_enums): New function.
2433 (ctf_psymtab_type_cb): call ctf_psymtab_add_enums.
2435 2021-03-06 Weimin Pan <weimin.pan@oracle.com>
2437 * ctfread.c (read_func_kind_type): Set up function arguments.
2439 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
2440 Andrew Burgess <andrew.burgess@embecosm.com>
2442 * riscv-none-tdep.c: Add 'user-regs.h' and 'target-description.h'
2444 (riscv_csrset): New static global.
2445 (riscv_update_csrmap): New function.
2446 (riscv_iterate_over_regset_sections): Process CSRs.
2448 2021-03-05 Andrew Burgess <andrew.burgess@embecosm.com>
2450 * riscv-tdep.c (riscv_feature_name_csr): Define.
2451 (riscv_feature_name_cpu): Define.
2452 (riscv_feature_name_fpu): Define.
2453 (riscv_feature_name_virtual): Define.
2454 (riscv_xreg_feature): Use riscv_feature_name_cpu.
2455 (riscv_freg_feature): Use riscv_feature_name_fpu.
2456 (riscv_virtual_feature): Use riscv_feature_name_virtual.
2457 (riscv_csr_feature): Use riscv_feature_name_csr.
2458 * riscv-tdep.h (riscv_feature_name_csr): Declare.
2460 2021-03-05 Andrew Burgess <andrew.burgess@embecosm.com>
2461 Craig Blackmore <craig.blackmore@embecosm.com>
2463 * Makefile.in (ALL_TARGET_OBS): Add riscv-none-tdep.o.
2464 (ALLDEPFILES): Add riscv-none-tdep.c.
2465 * configure: Regenerate.
2466 * configure.ac (CONFIG_OBS): Add elf-none-tdep.o when BFD has ELF
2468 * configure.tgt (riscv*-*-*): Include riscv-none-tdep.c.
2469 * elf-none-tdep.c: New file.
2470 * elf-none-tdep.h: New file.
2471 * riscv-none-tdep.c: New file.
2473 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
2474 Andrew Burgess <andrew.burgess@embecosm.com>
2476 * corelow.c: Add 'xml-tdesc.h' include.
2477 (core_target::read_description): Load the target description from
2478 the core file when possible.
2479 * fbsd-tdep.c (fbsd_make_corefile_notes): Add target description
2481 * gcore-elf.c: Add 'gdbsupport/tdesc.h' include.
2482 (gcore_elf_make_tdesc_note): New function.
2483 * gcore-elf.h (gcore_elf_make_tdesc_note): Declare.
2484 * linux-tdep.c (linux_make_corefile_notes): Add target description
2487 2021-03-05 Andrew Burgess <andrew.burgess@embecosm.com>
2489 * Makefile.in (SFILES): Add gcore-elf.c.
2490 (HFILES_NO_SRCDIR): Add gcore-elf.h
2491 * configure: Regenerate.
2492 * configure.ac: Add gcore-elf.o to CONFIG_OBS if we have ELF
2494 * fbsd-tdep.c: Add 'gcore-elf.h' include.
2495 (struct fbsd_collect_regset_section_cb_data): Delete.
2496 (fbsd_collect_regset_section_cb): Delete.
2497 (fbsd_collect_thread_registers): Delete.
2498 (struct fbsd_corefile_thread_data): Delete.
2499 (fbsd_corefile_thread): Delete.
2500 (fbsd_make_corefile_notes): Call
2501 gcore_elf_build_thread_register_notes instead of the now deleted
2503 * gcore-elf.c: New file, the content was moved here from
2504 linux-tdep.c, functions were renamed and given minor cleanup.
2505 * gcore-elf.h: New file.
2506 * gcore.c (gcore_find_signalled_thread): Moved here from
2507 linux-tdep.c and given a new name. Minor cleanups.
2508 * gcore.h (gcore_find_signalled_thread): Declare.
2509 * linux-tdep.c: Add 'gcore.h' and 'gcore-elf.h' includes.
2510 (struct linux_collect_regset_section_cb_data): Delete.
2511 (linux_collect_regset_section_cb): Delete.
2512 (linux_collect_thread_registers): Delete.
2513 (linux_corefile_thread): Call
2514 gcore_elf_build_thread_register_notes.
2515 (find_signalled_thread): Delete.
2516 (linux_make_corefile_notes): Call gcore_find_signalled_thread.
2518 2021-03-04 Simon Marchi <simon.marchi@polymtl.ca>
2521 * sparc-nat.h (sparc_fetch_inferior_registers): Add
2522 process_stratum_target parameter,
2523 sparc_store_inferior_registers): update callers.
2524 * sparc-nat.c (sparc_fetch_inferior_registers,
2525 sparc_store_inferior_registers): Add process_stratum_target
2526 parameter. Switch current thread before calling
2527 sparc_supply_gregset / sparc_collect_rwindow.
2528 (sparc_store_inferior_registers): Likewise.
2529 * sparc-obsd-tdep.c (sparc32obsd_supply_uthread): Add assertion.
2530 (sparc32obsd_collect_uthread): Likewise.
2531 * sparc-tdep.c (sparc_supply_rwindow, sparc_collect_rwindow):
2533 * sparc64-obsd-tdep.c (sparc64obsd_collect_uthread,
2534 sparc64obsd_supply_uthread): Add assertion.
2536 2021-03-04 Tom Tromey <tromey@adacore.com>
2538 * ada-lang.c (struct match_data) <found_sym>: Now bool.
2539 (aux_add_nonlocal_symbols): Update.
2540 (ada_add_block_symbols): Change "found_sym" to bool.
2542 2021-03-03 Tom Tromey <tromey@adacore.com>
2544 * ada-lang.c (ada_resolve_function): Update comment.
2545 (is_nonfunction, add_symbols_from_enclosing_procs)
2546 (remove_extra_symbols): Likewise.
2547 (struct match_data): Add constructor, initializers.
2548 (add_nonlocal_symbols): Remove memset.
2549 (aux_add_nonlocal_symbols): Update comment.
2550 (ada_add_block_renamings, add_nonlocal_symbols)
2551 (ada_add_all_symbols): Likewise.
2552 * ada-exp.y (write_var_or_type): Clean up trailing whitespace.
2554 2021-03-02 Tom Tromey <tromey@adacore.com>
2556 * ada-lang.c (cast_from_gnat_encoded_fixed_point_type)
2557 (cast_to_gnat_encoded_fixed_point_type): Remove.
2558 (ada_value_cast, ada_evaluate_subexp): Update.
2559 (gnat_encoded_fixed_point_type_info)
2560 (ada_is_gnat_encoded_fixed_point_type)
2561 (gnat_encoded_fixed_point_delta)
2562 (gnat_encoded_fixed_point_scaling_factor): Remove.
2563 * ada-lang.h (ada_is_gnat_encoded_fixed_point_type)
2564 (gnat_encoded_fixed_point_delta)
2565 (gnat_encoded_fixed_point_scaling_factor): Don't declare.
2566 * ada-typeprint.c (print_gnat_encoded_fixed_point_type): Remove.
2567 (ada_print_type): Update.
2568 * ada-valprint.c (ada_value_print_num): Update.
2569 * dwarf2/read.c (ada_get_gnat_encoded_number)
2570 (ada_get_gnat_encoded_ratio): New functions.
2571 (finish_fixed_point_type): Use them. Add parameters.
2572 (GNAT_FIXED_POINT_SUFFIX): New define.
2573 (gnat_encoded_fixed_point_type_info): New function.
2574 (read_base_type): Handle gnat encodings.
2576 2021-03-02 Tom Tromey <tromey@adacore.com>
2578 * ada-lang.c (ada_fold_name, ada_variant_discrim_name)
2579 (ada_enum_name, scan_discrim_bound, to_fixed_range_type): Use
2581 (GROW_VECT): Remove.
2582 (grow_vect): Remove.
2584 2021-03-02 Tom Tromey <tromey@adacore.com>
2586 * ada-lang.h (ada_lookup_symbol_list): Return a vector.
2587 * ada-lang.c (resolve_subexp): Update.
2588 (ada_resolve_function): Accept a vector.
2589 (is_nonfunction, add_defn_to_vec)
2590 (add_symbols_from_enclosing_procs): Likewise.
2591 (num_defns_collected, defns_collected): Remove.
2592 (remove_extra_symbols): Return a vector.
2593 (remove_irrelevant_renamings): Return void.
2594 (ada_add_local_symbols): Accept a vector.
2595 (struct match_data) <obstackp>: Remove.
2596 <resultp>: New member.
2597 (aux_add_nonlocal_symbols): Update.
2598 (ada_add_block_renamings, add_nonlocal_symbols)
2599 (ada_add_all_symbols): Accept a vector.
2600 (ada_lookup_symbol_list_worker, ada_lookup_symbol_list): Return a
2602 (ada_lookup_symbol): Update.
2603 (ada_add_block_symbols): Accept a vector.
2604 (get_var_value, iterate_over_symbols): Update.
2605 * ada-exp.y (block_lookup, write_var_or_type, write_name_assoc):
2608 2021-03-02 Tom Tromey <tromey@adacore.com>
2610 * ada-lang.c (resolve_subexp): Use any_of and erase-remove idiom.
2612 2021-03-02 Tom Tromey <tromey@adacore.com>
2614 * ada-lang.c (struct ada_symbol_cache) <cache_space>: Now an
2617 (ada_pspace_data): Remove destructor.
2618 <sym_cache>: Now a unique_ptr.
2619 (ada_init_symbol_cache, ada_free_symbol_cache): Remove.
2620 (ada_get_symbol_cache): Use 'new'.
2621 (ada_clear_symbol_cache): Rewrite.
2623 2021-03-02 Tom Tromey <tromey@adacore.com>
2625 * ada-lang.c (add_nonlocal_symbols): Handle case where objfile->sf
2628 2021-02-27 Lancelot Six <lsix@lancelotsix.com>
2631 * source.c (add_path): Skip empty dirnames.
2633 2021-02-25 Kevin Buettner <kevinb@redhat.com>
2635 * nat/aarch64-sve-linux-ptrace.h: Add comment regarding
2636 include order for <sys/ptrace.h> and <asm/ptrace.h>.
2638 2021-02-25 Simon Marchi <simon.marchi@polymtl.ca>
2641 * target.c (target_mourn_inferior): Only compare pids in
2642 target_mourn_inferior.
2644 2021-02-25 Jan Matyas <jmatyas@codasip.com>
2647 * remote.c (remote_target::start_remote): Ensure the single
2648 thread, automatically added for remote targets without the
2649 concept of threading, is initially in set to the "resumed"
2651 * remote.c (remote_target::add_current_inferior_and_thread):
2652 Add return value - return the main thread.
2654 2021-02-25 Jan Vrany <jan.vrany@labware.com>
2656 * gdb/mi/mi-interp.c (mi_traceframe_changed): Remove trailing \n from output.
2657 (mi_tsv_created): Likewise.
2658 (mi_tsv_deleted): Likewise.
2660 2021-02-25 Tom de Vries <tdevries@suse.de>
2663 * dwarf2/read.c (open_and_init_dwo_file): Use rcuh_kind::COMPILE as
2664 section_kind for &dwo_file->sections.info.
2666 2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2669 * f-lang.c (fortran_argument_convert): Delete declaration.
2670 (fortran_prepare_argument): New function.
2671 (evaluate_subexp_f): Move logic to new function
2672 fortran_prepare_argument.
2674 2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2676 * f-exp.y (f77_keywords): Add 'associated'.
2677 * f-lang.c (fortran_associated): New function.
2678 (evaluate_subexp_f): Handle FORTRAN_ASSOCIATED.
2679 (operator_length_f): Likewise.
2680 (print_unop_or_binop_subexp_f): New function.
2681 (print_subexp_f): Make use of print_unop_or_binop_subexp_f for
2682 FORTRAN_ASSOCIATED, FORTRAN_LBOUND, and FORTRAN_UBOUND.
2683 (dump_subexp_body_f): Handle FORTRAN_ASSOCIATED.
2684 (operator_check_f): Likewise.
2685 * std-operator.def: Add FORTRAN_ASSOCIATED.
2687 2021-02-25 Andrew Burgess <andrew.burgess@embecosm.com>
2689 * f-exp.y (fortran_operators): Add ".xor.".
2691 2021-02-24 Tom de Vries <tdevries@suse.de>
2694 * dwarf2/attribute.c (attribute::form_is_signed): New function
2696 * dwarf2/attribute.h (attribute::as_signed): ... here.
2697 (attribute::is_nonnegative, attribute::as_nonnegative): New function.
2698 (attribute::form_is_signed): Declare.
2699 * dwarf2/read.c (new_symbol): Use is_nonnegative and as_nonnegative
2700 for DW_AT_decl_file.
2702 2021-02-24 Kevin Buettner <kevinb@redhat.com>
2704 * nat/aarch64-linux-hw-point.c: Add comment regarding include
2705 order for <sys/ptrace.h> and <asm/ptrace.h>.
2707 2021-02-24 Kevin Buettner <kevinb@redhat.com>
2709 * nat/aarch64-linux-hw-point.c: Include <asm/ptrace.h> after
2712 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
2714 * exec.c (set_section_command): Move variable declarations into
2715 the function body, and use std::string instead of a fixed size
2718 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
2720 * exec.c (exec_target::get_section_table): Delete member function.
2721 (section_table_read_available_memory): Use current_top_target, not
2722 just the exec_ops target.
2723 * target-delegates.c: Regenerate.
2724 * target.c (default_get_section_table): New function.
2725 * target.h (target_ops::get_section_table): Change default
2726 behaviour to call default_get_section_table.
2727 (default_get_section_table): Declare.
2729 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
2731 * exec.c (exec_target::close): Call new clear_target_sections
2733 (program_space::add_target_sections): Update name of member
2735 (program_space::add_target_sections): Update name of member
2737 (program_space::remove_target_sections): Likewise.
2738 (exec_one_fork): Use new target_sections member function.
2739 (exec_target::get_section_table): Likewise.
2740 (exec_target::files_info): Likewise.
2741 (set_section_command): Likewise.
2742 (exec_set_section_address): Likewise.
2743 (exec_target::has_memory): Use new target_sections member
2745 * progspace.h (program_space::clear_target_sections): New member
2747 (program_space::target_sections): Rename member variable to
2748 m_target_sections, replace with a new member function.
2749 (program_space::m_target_sections): New member variable.
2750 * solib-dsbt.c (scan_dyntag): Use new member function.
2751 * solib-svr4.c (scan_dyntag): Likewise.
2753 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
2755 * gdb/bfd-target.c (class target_bfd) <get_section_table>: Make
2757 * gdb/exec.c (struct exec_target) <get_section_table>: Likewise.
2758 (section_table_read_available_memory): Make local const.
2759 (exec_target::xfer_partial): Make local const.
2760 (print_section_info): Make parameter const.
2761 * gdb/exec.h (print_section_info): Likewise.
2762 * gdb/ppc64-tdep.c (ppc64_convert_from_func_ptr_addr): Make local
2764 * gdb/record-btrace.c (record_btrace_target::xfer_partial):
2766 * gdb/remote.c (remote_target::remote_xfer_live_readonly_partial):
2768 * gdb/s390-tdep.c (s390_load): Likewise.
2769 * gdb/solib-dsbt.c (scan_dyntag): Likewise.
2770 * gdb/solib-svr4.c (scan_dyntag): Likewise.
2771 * gdb/target-debug.h (target_debug_print_target_section_table_p):
2773 (target_debug_print_const_target_section_table_p): ...this.
2774 * gdb/target-delegates.c: Regenerate.
2775 * gdb/target.c (target_get_section_table): Make return type const.
2776 (target_section_by_addr): Likewise. Also make some locals const.
2777 (memory_xfer_partial_1): Make some locals const.
2778 * gdb/target.h (struct target_ops) <get_section_table>: Make
2780 (target_section_by_addr): Likewise.
2781 (target_get_section_table): Likewise.
2783 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
2785 * NEWS: Mention new 'maint info target-sections' command.
2786 * maint.c (maintenance_info_target_sections): New function.
2787 (_initialize_maint_cmds): Register new command.
2789 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
2791 * riscv-tdep.c (riscv_features_from_gdbarch_info): Rename to...
2792 (riscv_features_from_bfd): ...this. Change parameter type to
2793 'bfd*', and update as required.
2794 (riscv_find_default_target_description): Update call to
2795 riscv_features_from_bfd. Select a default xlen based on
2797 (riscv_gdbarch_init): Update call to riscv_features_from_bfd.
2799 2021-02-24 Andrew Burgess <andrew.burgess@embecosm.com>
2801 * eval.c (evaluate_subexp_standard): Call value_ind for points to
2802 dynamic types in UNOP_IND.
2804 2021-02-23 Simon Marchi <simon.marchi@polymtl.ca>
2807 * dwarf2/read.c (dwarf2_queue_guard) <dwarf2_queue_guard>:
2809 (~dwarf2_queue_guard): Clear queue.
2810 (queue_comp_unit): Assert that queue is
2812 (process_queue): Adjust.
2813 * dwarf2/read.h (struct dwarf2_per_bfd) <queue>: Make optional.
2815 2021-02-23 Simon Marchi <simon.marchi@polymtl.ca>
2818 * dwarf2/read.c (maybe_queue_comp_unit): Check if CU is expanded
2819 to decide whether or not to enqueue it for expansion.
2820 (follow_die_offset, follow_die_sig_1): Ensure we load the DIEs
2821 after calling maybe_queue_comp_unit.
2823 2021-02-23 Simon Marchi <simon.marchi@polymtl.ca>
2825 * linux-nat.c (linux_nat_filter_event): Return void.
2827 2021-02-22 Tom Tromey <tromey@adacore.com>
2829 * solib-svr4.c (enable_break): Update.
2830 * bfd-target.c (class target_bfd) <target_bfd>: Change parameter
2832 (target_bfd_reopen): Change parameter type.
2833 * bfd-target.h (target_bfd_reopen): Change parameter type.
2835 2021-02-22 Simon Marchi <simon.marchi@polymtl.ca>
2837 * thread.c (add_thread_silent): Add assert.
2838 (find_thread_ptid): Add assert.
2840 2021-02-22 Simon Marchi <simon.marchi@polymtl.ca>
2843 * inf-ptrace.c (struct target_unpusher): Move to target.h.
2844 (target_unpush_up): Likewise.
2845 * procfs.c (procfs_target::attach): Push target early. Use
2846 target_unpush_up to unpush target in case of error.
2847 * target.h (struct target_unpusher): Move here.
2848 (target_unpush_up): Likewise.
2850 2021-02-19 Kevin Buettner <kevinb@redhat.com>
2852 * nat/amd64-linux-siginfo.c: Include "gdbsupport/common-defs.h"
2853 (which in turn includes <gnulib/config.h>) before include
2856 2021-02-19 Nelson Chu <nelson.chu@sifive.com>
2859 * riscv-tdep.c (decode_ci_type_insn): Updated encoding macros.
2860 (decode_j_type_insn): Likewise.
2861 (decode_cj_type_insn): Likewise.
2862 (decode_b_type_insn): Likewise.
2865 2021-02-18 Tom Tromey <tom@tromey.com>
2867 * expression.h (struct expression) <evaluate>: Declare method.
2868 * eval.c (evaluate_subexp): Simplify.
2869 (expression::evaluate): New method.
2870 (evaluate_expression, evaluate_type): Use expression::evaluate.
2872 2021-02-17 Kevin Buettner <kevinb@redhat.com>
2874 * ada-lang.c (ada_fold_name): Check for non-empty string prior
2876 (ada_lookup_name_info): Likewise.
2878 2021-02-13 Mike Frysinger <vapier@gentoo.org>
2880 * aclocal.m4: Regenerate.
2882 2021-02-12 Tom de Vries <tdevries@suse.de>
2885 * linux-nat.c (lin_thread_get_thread_signals): Remove.
2886 (lin_thread_signals): New static var.
2887 (lin_thread_get_thread_signal_num, lin_thread_get_thread_signal):
2889 * linux-nat.h (lin_thread_get_thread_signals): Remove.
2890 (lin_thread_get_thread_signal_num, lin_thread_get_thread_signal):
2892 * linux-thread-db.c (check_thread_signals): Use
2893 lin_thread_get_thread_signal_num and lin_thread_get_thread_signal.
2895 2021-02-12 Andrew Burgess <andrew.burgess@embecosm.com>
2897 * f-exp.y (f77_keywords): Add allocated.
2898 * f-lang.c (evaluate_subexp_f): Handle UNOP_FORTRAN_ALLOCATED.
2899 (operator_length_f): Likewise.
2900 (print_subexp_f): Likewise.
2901 (dump_subexp_body_f): Likewise.
2902 (operator_check_f): Likewise.
2903 * std-operator.def (UNOP_FORTRAN_ALLOCATED): New operator.
2905 2021-02-11 Tom de Vries <tdevries@suse.de>
2908 * dwarf2/attribute.c (attribute::form_requires_reprocessing):
2909 Return true for DW_FORM_strx.
2911 2021-02-11 Tom Tromey <tromey@adacore.com>
2914 * parse.c (write_exp_symbol_reference): Write sym.block.
2916 2021-02-11 Andrew Burgess <andrew.burgess@embecosm.com>
2918 * NEWS: Mention changes to 'maint info sections'.
2919 * maint.c (match_substring): Return a bool, fix whitespace issue.
2920 (struct single_bfd_flag_info): New struct.
2921 (bfd_flag_info): New static global.
2922 (match_bfd_flags): Return a bool, use bfd_flag_info.
2923 (print_bfd_flags): Use bfd_flag_info.
2924 (maint_print_section_info): Delete trailing whitespace.
2925 (struct maint_info_sections_opts): New struct.
2926 (maint_info_sections_option_defs): New static global.
2927 (maint_info_sections_completer): New function.
2928 (maintenance_info_sections): Use option parsing mechanism.
2929 (_initialize_maint_cmds): Update command help text for 'maint info
2930 sections' and register a command completer.
2932 2021-02-11 Andrew Burgess <andrew.burgess@embecosm.com>
2934 * maint.c (print_bfd_section_info_maybe_relocated): Delete,
2935 functionality merged into...
2936 (maint_print_all_sections): ...this new function.
2937 (maintenance_info_sections): Make use of maint_print_all_sections,
2938 allow all objects to be printed even where there's no executable.
2940 2021-02-11 Andrew Burgess <andrew.burgess@embecosm.com>
2942 * breakpoint.c (resolve_sal_pc): Make use of
2943 bound_minimal_symbol::obj_section.
2944 * maint.c (maintenance_translate_address): Likewise.
2945 * minsyms.c (minimal_symbol_upper_bound): Likewise.
2946 * minsyms.h (struct bound_minimal_symbol) <obj_section>: New
2948 * printcmd.c (info_address_command): Make use of
2949 bound_minimal_symbol::obj_section.
2951 2021-02-11 Alan Modra <amodra@gmail.com>
2953 * arm-symbian-tdep.c: Delete.
2954 * NEWS: Mention arm-symbian removal.
2955 * Makefile.in: Remove arm-symbian-tdep entries.
2956 * configure.tgt: Remove arm*-*-symbianelf*.
2957 * doc/gdb.texinfo: Remove mention of SymbianOS.
2958 * osabi.c (gdb_osabi_names): Remove "Symbian".
2959 * osabi.h (enum gdb_osabi): Remove GDB_OSABI_SYMBIAN.
2960 * testsuite/gdb.base/ending-run.exp: Remove E32Main handling.
2961 * testsuite/gdb.ada/catch_ex_std.exp: Remove arm*-*-symbianelf*
2963 * testsuite/gdb.base/dup-sect.exp: Likewise.
2964 * testsuite/gdb.base/long_long.exp: Likewise.
2965 * testsuite/gdb.base/solib-weak.exp: Likewise.
2966 * testsuite/gdb.guile/scm-section-script.exp: Likewise.
2967 * testsuite/gdb.python/py-section-script.exp: Likewise.
2968 * testsuite/lib/dwarf.exp: Likewise.
2969 * testsuite/lib/gdb.exp: Likewise.
2971 2021-02-10 Andrew Burgess <andrew.burgess@embecosm.com>
2973 * f-exp.y (UNOP_OR_BINOP_INTRINSIC): New token.
2974 (exp): New pattern using UNOP_OR_BINOP_INTRINSIC.
2975 (one_or_two_args): New pattern.
2976 (f77_keywords): Add lbound and ubound.
2977 * f-lang.c (fortran_bounds_all_dims): New function.
2978 (fortran_bounds_for_dimension): New function.
2979 (evaluate_subexp_f): Handle FORTRAN_LBOUND and FORTRAN_UBOUND.
2980 (operator_length_f): Likewise.
2981 (print_subexp_f): Likewise.
2982 (dump_subexp_body_f): Likewise.
2983 (operator_check_f): Likewise.
2984 * std-operator.def (FORTRAN_LBOUND): Define.
2985 (FORTRAN_UBOUND): Define.
2987 2021-02-10 Andrew Burgess <andrew.burgess@embecosm.com>
2989 * coff-pe-read.c (add_pe_forwarded_sym): Make use of section_index
2990 and set_section_index member functions where appropriate.
2991 * coffread.c (coff_symtab_read): Likewise.
2992 (process_coff_symbol): Likewise.
2993 * ctfread.c (set_symbol_address): Likewise.
2994 * dwarf2/read.c (add_partial_symbol): Likewise.
2995 (var_decode_location): Likewise.
2996 * language.c: Likewise.
2997 * minsyms.c (minimal_symbol_reader::record_full): Likewise.
2998 (compact_minimal_symbols): Likewise.
2999 (minimal_symbol_upper_bound): Likewise.
3000 * objfiles.c (relocate_one_symbol): Likewise.
3001 * psympriv.h (partial_symbol::obj_section): Likewise.
3002 (partial_symbol::address): Likewise.
3003 * psymtab.c (partial_symtab::add_psymbol): Likewise.
3004 * stabsread.c (scan_file_globals): Likewise.
3005 * symmisc.c (dump_msymbols): Likewise.
3006 * symtab.c (general_symbol_info::obj_section): Likewise.
3007 (fixup_section): Likewise.
3008 (get_msymbol_address): Likewise.
3009 * symtab.h (general_symbol_info::section): Rename to...
3010 (general_symbol_info::m_section): ...this.
3011 (general_symbol_info::set_section_index): New member function.
3012 (general_symbol_info::section_index): Likewise.
3013 (SYMBOL_SECTION): Delete.
3014 (MSYMBOL_VALUE_ADDRESS): Make use of section_index and
3015 set_section_index member functions where appropriate.
3016 (MSYMBOL_SECTION): Delete.
3017 (symbol::symbol): Update to initialize 'm_section'.
3018 * xcoffread.c (read_xcoff_symtab): Make use of set_section_index.
3019 (process_xcoff_symbol): Likewise.
3021 2021-02-10 Andrew Burgess <andrew.burgess@embecosm.com>
3023 * breakpoint.c (resolve_sal_pc): Replace SYMBOL_OBJ_SECTION and
3024 MSYMBOL_OBJ_SECTION.
3025 * findvar.c (language_defn::read_var_value): Likewise.
3026 * infcmd.c (jump_command): Likewise.
3027 * linespec.c (minsym_found): Likewise.
3028 * maint.c (maintenance_translate_address): Likewise.
3029 * minsyms.c (lookup_minimal_symbol_by_pc_section): Likewise.
3030 (minimal_symbol_upper_bound): Likewise.
3031 * parse.c (find_minsym_type_and_address): Likewise.
3032 (operator_check_standard): Likewise.
3033 * printcmd.c (info_address_command): Likewise.
3034 * symmisc.c (dump_msymbols): Likewise.
3035 (print_symbol): Likewise.
3036 * symtab.c (general_symbol_info::obj_section): Define new
3038 (fixup_symbol_section): Replace SYMBOL_OBJ_SECTION.
3039 (find_pc_sect_compunit_symtab): Likewise.
3040 (find_function_start_sal): Likewise.
3041 (skip_prologue_sal): Replace SYMBOL_OBJ_SECTION and
3042 MSYMBOL_OBJ_SECTION.
3043 * symtab.h (struct general_symbol_info) <obj_section>: Declare new
3045 (SYMBOL_OBJ_SECTION): Delete.
3046 (MSYMBOL_OBJ_SECTION): Delete.
3048 2021-02-09 Tom Tromey <tom@tromey.com>
3050 * stap-probe.c (stap_parse_argument_conditionally): Fix typo.
3052 2021-02-09 Tom de Vries <tdevries@suse.de>
3055 * dwarf2/read.c (read_array_type): Return NULL when not being able to
3056 construct an array type. Add assert to ensure that element_type is
3059 2021-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
3061 * gcore.c (struct gcore_collect_regset_section_cb_data): Delete.
3062 (gcore_collect_regset_section_cb): Delete.
3063 (gcore_collect_thread_registers): Delete.
3064 (gcore_build_thread_register_notes): Delete.
3065 (gcore_find_signalled_thread): Delete.
3066 * gcore.h: Remove 'gdbsupport/gdb_signals.h' include and delete
3067 'gdbarch' and 'thread_info' declarations.
3068 (gcore_build_thread_register_notes): Delete declaration.
3069 (gcore_find_signalled_thread): Likewise.
3070 * fbsd-tdep.c: Remove 'gcore.h' include.
3071 (struct fbsd_collect_regset_section_cb_data): New struct.
3072 (fbsd_collect_regset_section_cb): New function.
3073 (fbsd_collect_thread_registers): New function.
3074 (struct fbsd_corefile_thread_data): New struct.
3075 (fbsd_corefile_thread): New function.
3076 (fbsd_make_corefile_notes): Call FreeBSD specific code.
3077 * linux-tdep.c: Remove 'gcore.h' include.
3078 (struct linux_collect_regset_section_cb_data): New struct.
3079 (linux_collect_regset_section_cb): New function.
3080 (linux_collect_thread_registers): New function.
3081 (linux_corefile_thread): Call Linux specific code.
3082 (find_signalled_thread): New function.
3083 (linux_make_corefile_notes): Call find_signalled_thread.
3085 2021-02-09 Tom Tromey <tromey@adacore.com>
3087 * ada-lang.c (coerce_unspec_val_to_type): Avoid making lazy
3089 * value.c (value_contents_copy_raw): Now static.
3090 * value.h (value_contents_copy_raw): Don't declare.
3092 2021-02-09 Tom Tromey <tromey@adacore.com>
3094 * gdbtypes.c (resolve_dynamic_struct): Handle structure with no
3097 2021-02-08 Shahab Vahedi <shahab@synopsys.com>
3100 * arc-linux-tdep.c (handle_atomic_sequence): New.
3101 (arc_linux_software_single_step): Call handle_atomic_sequence().
3103 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
3105 * python/py-tui.c (gdbpy_tui_window) <is_valid>: New member
3107 (REQUIRE_WINDOW): Call is_valid member function.
3108 (REQUIRE_WINDOW_FOR_SETTER): New define.
3109 (gdbpy_tui_is_valid): Call is_valid member function.
3110 (gdbpy_tui_set_title): Call REQUIRE_WINDOW_FOR_SETTER instead.
3111 * tui/tui-data.h (struct tui_win_info) <is_visible>: Check
3113 * tui/tui-layout.c (tui_apply_current_layout): Add an assert.
3114 * tui/tui.c (tui_enable): Move setting of tui_active earlier in
3117 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
3119 * python/py-tui.c (gdbpy_tui_set_title): Check that the new value
3120 for the title is not nullptr.
3122 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
3124 * tui-layout.c (saved_tui_windows): Delete.
3125 (tui_apply_current_layout): Don't make use of saved_tui_windows,
3126 call new get_windows member function instead.
3127 (tui_get_window_by_name): Check in tui_windows.
3128 (tui_layout_window::apply): Don't add to tui_windows.
3129 * tui-layout.h (tui_layout_base::get_windows): New member function.
3130 (tui_layout_window::get_windows): Likewise.
3131 (tui_layout_split::get_windows): Likewise.
3133 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
3135 * tui/tui-layout.c (tui_apply_current_layout): Restore the delete
3136 of the window objects.
3138 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
3140 * python/python.c (gdbpy_print_stack): Reformat an error message.
3142 2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
3144 * tui/tui-interp.c (tui_command_line_handler): New function.
3145 (tui_interp::resume): Register tui_command_line_handler as the
3147 * tui/tui-io.c (tui_inject_newline_into_command_window): New
3149 (tui_getc_1): Delete handling of '\n' and '\r'.
3150 * tui-io.h (tui_inject_newline_into_command_window): Declare.
3152 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
3154 * tui/tui-regs.c (tui_data_window::display_registers_from):
3155 Mark invisible register sub windows.
3156 (tui_data_window::check_register_values): Ignore invisible
3157 register sub windows.
3159 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
3161 * tui/tui-regs.c (tui_data_item_window::rerender): Don't call
3162 n_spaces with a negative value.
3164 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
3166 * tui/tui-regs.c (tui_data_window::display_registers_from):
3167 Add refresh_window call.
3169 2021-02-07 Hannes Domani <ssbssa@yahoo.de>
3171 * python/py-frame.c (frapy_richcompare): Compare frame_id_is_next.
3173 2021-02-05 Simon Marchi <simon.marchi@polymtl.ca>
3175 * symmisc.c (std_in, std_out, std_err): Remove.
3176 (_initialize_symmisc): Don't set std_in, std_out and std_err.
3178 2021-02-05 Tom de Vries <tdevries@suse.de>
3180 PR breakpoints/27330
3181 * breakpoint.c (create_exception_master_breakpoint): Handle case that
3182 glibc object file has debug info.
3184 2021-02-05 Tom de Vries <tdevries@suse.de>
3187 * dwarf2/read.c (process_psymtab_comp_unit): Handle DW_TAG_type_unit.
3189 2021-02-05 Tom de Vries <tdevries@suse.de>
3191 PR breakpoints/27313
3192 * break-catch-syscall.c (catch_syscall_split_args): Reject negative
3195 2021-02-05 Tom Tromey <tom@tromey.com>
3197 * compile/compile-c-support.c (get_compile_context)
3198 (c_get_compile_context, cplus_get_compile_context): Change return
3200 * language.c (language_defn::get_compile_instance): New method.
3201 * language.h (language_defn::get_compile_instance): Change return
3202 type. No longer inline.
3203 * c-lang.c (c_language::get_compile_instance): Change return type.
3204 (cplus_language::get_compile_instance): Change return type.
3205 * c-lang.h (c_get_compile_context, cplus_get_compile_context):
3207 * compile/compile.c (compile_to_object): Update.
3209 2021-02-05 Tom Tromey <tom@tromey.com>
3211 * parser-defs.h (write_exp_symbol_reference): Declare.
3212 * parse.c (write_exp_symbol_reference): New function.
3213 * p-exp.y (variable): Use write_exp_symbol_reference.
3214 * m2-exp.y (variable): Use write_exp_symbol_reference.
3215 * f-exp.y (variable): Use write_exp_symbol_reference.
3216 * d-exp.y (PrimaryExpression): Use write_exp_symbol_reference.
3217 * c-exp.y (variable): Use write_exp_symbol_reference.
3219 2021-02-05 Tom de Vries <tdevries@suse.de>
3222 * valarith.c (complex_binop): Throw an error if complex type can't
3225 2021-02-05 Tom de Vries <tdevries@suse.de>
3228 * dwarf2/read.c (create_cus_from_debug_names_list): Add missing
3231 2021-02-05 Tom de Vries <tdevries@suse.de>
3233 * dwarf2/read.c (create_cus_from_debug_names_list): Fix indentation.
3235 2021-02-04 Mike Frysinger <vapier@gentoo.org>
3237 * configure.tgt (riscv*-*-*): Set gdb_sim.
3239 2021-02-04 Simon Marchi <simon.marchi@polymtl.ca>
3241 * target.c (target_is_non_stop_p): Return bool.
3242 * target.h (target_is_non_stop_p): Return bool.
3244 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
3246 * record-full.c (record_full_async_inferior_event_handler):
3247 Don't clear async event handler.
3248 (record_full_base_target::wait): Clear async event handler at
3251 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
3253 * record-btrace.c (record_btrace_handle_async_inferior_event):
3254 Don't clear async event handler.
3255 (record_btrace_target::wait): Clear async event handler at
3258 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
3260 * remote.c (remote_target::wait): Clear async event handler at
3261 beginning, mark if needed at the end.
3262 (remote_async_inferior_event_handler): Don't set or clear async
3265 2021-02-04 Simon Marchi <simon.marchi@efficios.com>
3267 * async-event.h (async_event_handler_func): Add documentation.
3268 * async-event.c (check_async_event_handlers): Don't clear
3269 async_event_handler ready flag.
3270 * infrun.c (infrun_async_inferior_event_handler): Clear ready
3272 * record-btrace.c (record_btrace_handle_async_inferior_event):
3274 * record-full.c (record_full_async_inferior_event_handler):
3276 * remote-notif.c (remote_async_get_pending_events_handler):
3278 * remote.c (remote_async_inferior_event_handler): Likewise.
3280 2021-02-03 Simon Marchi <simon.marchi@polymtl.ca>
3282 * infrun.c (handle_inferior_event): Move stop_soon variable to
3285 2021-02-03 Pedro Alves <pedro@palves.net>
3287 * infcmd.c (detach_command): Hold strong reference to target, and
3288 if all-stop on entry, restart threads on exit.
3289 * infrun.c (switch_back_to_stepped_thread): Factor out bits to ...
3290 (restart_stepped_thread): ... this new function. Also handle
3292 (restart_after_all_stop_detach): New function.
3293 * infrun.h (restart_after_all_stop_detach): Declare.
3295 2021-02-03 Pedro Alves <pedro@palves.net>
3297 * infrun.c (struct step_over_info): Initialize fields.
3298 (prepare_for_detach): Handle ongoing in-line step over.
3300 2021-02-03 Pedro Alves <pedro@palves.net>
3302 * linux-nat.c (linux_nat_target::detach): Remove breakpoints
3304 * remote.c (remote_target::remote_detach_1): ... and here ...
3305 * target.c (target_detach): ... instead of here.
3306 * target.h (target_ops::detach): Add comment.
3308 2021-02-03 Pedro Alves <pedro@palves.net>
3310 * infrun.c (struct wait_one_event): Move higher up.
3311 (prepare_for_detach): Abort in-progress displaced steps instead of
3312 letting them complete.
3313 (handle_one): If the inferior is detaching, don't add the thread
3314 back to the global step-over chain.
3315 (restart_threads): Don't restart threads if detaching.
3316 (handle_signal_stop): Remove inferior::detaching reference.
3318 2021-02-03 Pedro Alves <pedro@palves.net>
3320 * infrun.c (prepare_for_detach): Don't release scoped_restore
3323 2021-02-03 Pedro Alves <pedro@palves.net>
3325 * infrun.c (handle_one): New function, factored out from ...
3326 (stop_all_threads): ... here.
3328 2021-02-03 Pedro Alves <pedro@palves.net>
3330 * remote.c (remote_notif_stop_ack): Don't error out on
3331 TARGET_WAITKIND_IGNORE; instead, just ignore the notification.
3332 (remote_target::discard_pending_stop_replies): Don't delete
3333 in-flight notification; instead, clear its contents.
3335 2021-02-03 Pedro Alves <pedro@palves.net>
3337 * remote.c (extended_remote_target::attach): Set target async in
3338 the target-non-stop path too.
3340 2021-02-03 Pedro Alves <pedro@palves.net>
3343 * infrun.c (handle_signal_stop): Move main context_switch call
3344 earlier, before STOP_QUIETLY_NO_SIGSTOP.
3346 2021-02-02 Lancelot SIX <lsix@lancelotsix.com>
3348 * NEWS (Changed commands): Add entry for the behavior change of
3349 the inferior command.
3350 * inferior.c (inferior_command): When no argument is given to the
3351 inferior command, display info about the currently selected
3354 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3356 * dwarf2/read.c (read_loclist_index, read_rnglist_index): Return
3358 (read_attribute_reprocess): Adjust.
3360 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3362 * dwarf2/die.h (struct die_info) <ranges_base>: Split in...
3363 <gnu_ranges_base>: ... this...
3364 <rnglists_base>: ... and this.
3365 * dwarf2/read.c (struct dwarf2_cu) <ranges_base>: Split in...
3366 <gnu_ranges_base>: ... this...
3367 <rnglists_base>: ... and this.
3368 (read_cutu_die_from_dwo): Adjust
3369 (dwarf2_get_pc_bounds): Adjust
3370 (dwarf2_record_block_ranges): Adjust.
3371 (read_full_die_1): Adjust
3372 (partial_die_info::read): Adjust.
3373 (read_rnglist_index): Adjust.
3375 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3378 * dwarf2/read.c (read_loclists_rnglists_header): Add
3379 header_offset parameter and use it.
3380 (read_loclist_index): Read header of the current contribution,
3381 not the one at the beginning of the section.
3382 (read_rnglist_index): Likewise.
3384 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3387 * dwarf2/attribute.h (struct attribute) <set_unsigned>: Clear
3388 requires_reprocessing flag.
3389 * dwarf2/attribute.c (attribute::form_is_unsigned): Handle
3391 (attribute::form_requires_reprocessing): Handle DW_FORM_rnglistx
3392 and DW_FORM_loclistx.
3393 * dwarf2/read.c (read_attribute_reprocess): Use set_unsigned
3394 instead of set_address for DW_FORM_loclistx and
3397 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3399 * dwarf2/read.c (read_loclist_index): Remove bound check for
3401 (read_rnglist_index): Likewise.
3403 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3405 * dwarf2/read.c (read_loclist_index): Add bound check for the end
3408 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3410 * dwarf2/read.c (read_rnglist_index): Fix bound check.
3412 2021-02-02 Simon Marchi <simon.marchi@efficios.com>
3414 * dwarf2/read.c (read_loclist_index): Change complaints into
3417 2021-02-02 Tom de Vries <tdevries@suse.de>
3420 * dwarf2/index-write.c (write_one_signatured_type): Skip if
3423 2021-02-01 Andrew Burgess <andrew.burgess@embecosm.com>
3425 * Makefile.in (HFILES_NO_SRCDIR): Add corefile.h.
3426 * gcore.c (struct gcore_collect_regset_section_cb_data): Moved
3427 here from linux-tdep.c and given a new name. Minor cleanups.
3428 (gcore_collect_regset_section_cb): Likewise.
3429 (gcore_collect_thread_registers): Likewise.
3430 (gcore_build_thread_register_notes): Likewise.
3431 (gcore_find_signalled_thread): Likewise.
3432 * gcore.h (gcore_build_thread_register_notes): Declare.
3433 (gcore_find_signalled_thread): Declare.
3434 * fbsd-tdep.c: Add 'gcore.h' include.
3435 (struct fbsd_collect_regset_section_cb_data): Delete.
3436 (fbsd_collect_regset_section_cb): Delete.
3437 (fbsd_collect_thread_registers): Delete.
3438 (struct fbsd_corefile_thread_data): Delete.
3439 (fbsd_corefile_thread): Delete.
3440 (fbsd_make_corefile_notes): Call
3441 gcore_build_thread_register_notes instead of the now deleted
3443 * linux-tdep.c: Add 'gcore.h' include.
3444 (struct linux_collect_regset_section_cb_data): Delete.
3445 (linux_collect_regset_section_cb): Delete.
3446 (linux_collect_thread_registers): Delete.
3447 (linux_corefile_thread): Call
3448 gcore_build_thread_register_notes.
3449 (find_signalled_thread): Delete.
3450 (linux_make_corefile_notes): Call gcore_find_signalled_thread.
3452 2021-01-29 Tom de Vries <tdevries@suse.de>
3454 PR breakpoints/26063
3455 * infrun.c (process_event_stop_test): Reset
3456 ecs->event_thread->current_line to 0 if is-stmt=n and frame has
3459 2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
3461 * thread.c (thr_try_catch_cmd): Replace swith_to_thread with an
3462 assert. Extend the header comment.
3464 2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
3466 * Makefile.in (SUBDIR_TUI_SRCS): Add tui/tui-location.c.
3467 (HFILES_NO_SRCDIR): Add tui/tui-location.h.
3468 * tui/tui-data.h (TUI_STATUS_WIN): Define.
3469 (tui_locator_win_info_ptr): Delete declaration.
3470 * tui/tui-disasm.c: Add 'tui/tui-location.h' include.
3471 (tui_disasm_window::set_contents): Fetch state from tui_location
3473 (tui_get_begin_asm_address): Likewise.
3474 * tui/tui-layout.c (tui_apply_current_layout): Remove special case
3476 (get_locator_window): Delete.
3477 (initialize_known_windows): Treat locator window just like all the
3479 * tui/tui-source.c: Add 'tui/tui-location.h' include.
3480 (tui_source_window::set_contents): Fetch state from tui_location
3482 (tui_source_window::showing_source_p): Likewise.
3483 * tui/tui-stack.c: Add 'tui/tui-location.h' include.
3485 (tui_locator_win_info_ptr): Delete.
3486 (tui_locator_window::make_status_line): Fetch state from
3487 tui_location global.
3488 (tui_locator_window::rerender): Remove check of 'handle',
3489 reindent function body.
3490 (tui_locator_window::set_locator_fullname): Delete.
3491 (tui_locator_window::set_locator_info): Delete.
3492 (tui_update_locator_fullname): Delete.
3493 (tui_show_frame_info): Likewise.
3494 (tui_show_locator_content): Access window through TUI_STATUS_WIN.
3495 * tui/tui-stack.h (tui_locator_window::set_locator_info): Moved to
3496 tui/tui-location.h and renamed to
3497 tui_location_tracker::set_location.
3498 (tui_locator_window::set_locator_fullname): Moved to
3499 tui/tui-location.h and renamed to
3500 tui_location_tracker::set_fullname.
3501 (tui_locator_window::full_name): Delete.
3502 (tui_locator_window::proc_name): Delete.
3503 (tui_locator_window::line_no): Delete.
3504 (tui_locator_window::addr): Delete.
3505 (tui_locator_window::gdbarch): Delete.
3506 (tui_update_locator_fullname): Delete declaration.
3507 * tui/tui-wingeneral.c (tui_refresh_all): Removed special handling
3509 * tui/tui-winsource.c: Add 'tui/tui-location.h' include.
3510 (tui_display_main): Call function on tui_location directly.
3511 * tui/tui.h (enum tui_win_type): Add STATUS_WIN.
3512 * tui/tui-location.c: New file.
3513 * tui/tui-location.h: New file.
3515 2021-01-28 Simon Marchi <simon.marchi@polymtl.ca>
3517 * gdbtypes.h (get_type_arch): Rename to...
3518 (struct type) <arch>: ... this, update all users.
3520 2021-01-28 Simon Marchi <simon.marchi@polymtl.ca>
3522 * gdbtypes.h (struct type) <arch>: Rename to...
3523 <arch_owner>: ... this, update all users.
3524 <objfile>: Rename to...
3525 <objfile_owner>: ... this, update all users.
3527 2021-01-28 Andrew Burgess <andrew.burgess@embecosm.com>
3529 * gdbcmd.h (execute_command_to_string): Update comment.
3530 * top.c (execute_command_to_string): Update header comment.
3532 2021-01-28 Tom de Vries <tdevries@suse.de>
3534 PR breakpoints/27205
3535 * breakpoint.c (create_longjmp_master_breakpoint_probe)
3536 (create_longjmp_master_breakpoint_names): New function, factored out
3538 (create_longjmp_master_breakpoint): ... here. Only try to install
3539 longjmp_names breakpoints in libc.so/libc.so.debug if installing probe
3540 breakpoint in libc.so failed.
3542 2021-01-27 Lancelot SIX <lsix@lancelotsix.com>
3545 * cli/cli-interp.c (cli_interp_base::set_logging): Ensure the
3546 unique_ptr is released when the wrapped pointer is kept for later
3549 2021-01-27 Matthew Malcomson <matthew.malcomson@arm.com>
3551 * aarch64-tdep.c (aarch64_displaced_step_others): Account for
3552 BLR and BR instructions.
3553 * arch/aarch64-insn.h (enum aarch64_opcodes): Add BR opcode.
3554 (enum aarch64_masks): New.
3556 2021-01-26 Tom Tromey <tromey@adacore.com>
3558 * windows-nat.c (DEBUG_EXEC, DEBUG_EVENTS, DEBUG_MEM)
3559 (DEBUG_EXCEPT): Use debug_prefixed_printf_cond.
3560 (windows_init_thread_list, windows_nat::handle_load_dll)
3561 (windows_nat::handle_unload_dll, windows_nat_target::resume)
3562 (windows_nat_target::resume)
3563 (windows_nat_target::get_windows_debug_event)
3564 (windows_nat_target::interrupt, windows_xfer_memory)
3565 (windows_nat_target::close): Update.
3566 * nat/windows-nat.c (DEBUG_EVENTS): Use
3567 debug_prefixed_printf_cond.
3568 (matching_pending_stop, fetch_pending_stop)
3569 (continue_last_debug_event): Update.
3571 2020-12-17 Mihails Strasuns <mihails.strasuns@intel.com>
3573 * linux-tdep.c (linux_make_mappings_corefile_notes): Start using
3574 elfcore_write_file_note.
3576 2021-01-26 Shahab Vahedi <shahab@synopsys.com>
3578 * arc-tdep.c (arc_add_reggroups): New function.
3579 (arc_gdbarch_init): Call arc_add_reggroups.
3581 2021-01-26 Anton Kolesov <anton.kolesov@synopsys.com>
3583 * arc-tdep.c (arc_skip_prologue): Log "pc" address.
3585 2021-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3586 Simon Marchi <simon.marchi@polymtl.ca>
3587 Tom de Vries <tdevries@suse.de>
3589 * dwarf2/read.c (partial_die_info::read): Use as_unsigned () for
3592 2021-01-25 Tom Tromey <tromey@adacore.com>
3594 * dwarf2/read.c (get_mpz): New function.
3595 (get_dwarf2_rational_constant): Use it.
3597 2021-01-25 Tom Tromey <tromey@adacore.com>
3599 * ada-lang.c (resolve_subexp): Handle array context.
3601 2021-01-23 Tom Tromey <tom@tromey.com>
3604 * compile/compile-loc2c.c (note_register): New function.
3605 (pushf_register_address, pushf_register): Use it.
3607 2021-01-23 Tom Tromey <tom@tromey.com>
3609 * symtab.h (struct symbol_computed_ops) <generate_c_location>:
3610 Change type of "registers_used".
3611 * dwarf2/loc.h (dwarf2_compile_property_to_c): Update.
3612 * dwarf2/loc.c (dwarf2_compile_property_to_c)
3613 (locexpr_generate_c_location, loclist_generate_c_location): Change
3614 type of "registers_used".
3615 * compile/compile.h (compile_dwarf_expr_to_c)
3616 (compile_dwarf_bounds_to_c): Update.
3617 * compile/compile-loc2c.c (pushf_register_address)
3618 (pushf_register, do_compile_dwarf_expr_to_c)
3619 (compile_dwarf_expr_to_c, compile_dwarf_bounds_to_c): Change type
3620 of "registers_used".
3621 * compile/compile-c.h (generate_c_for_variable_locations):
3623 * compile/compile-c-symbols.c (generate_vla_size)
3624 (generate_c_for_for_one_variable): Change type of
3626 (generate_c_for_variable_locations): Return std::vector.
3627 * compile/compile-c-support.c (generate_register_struct): Change
3628 type of "registers_used".
3631 2021-01-23 Tom Tromey <tom@tromey.com>
3633 * compile/compile-internal.h (class compile_instance)
3634 <set_arguments>: Change return type.
3635 * compile/compile.c (compile_to_object): Remove call to reset.
3636 (compile_instance::set_arguments): Change return type.
3638 2021-01-23 Simon Marchi <simon.marchi@polymtl.ca>
3640 * gdbtypes.c (copy_type_recursive): Use get_type_arch.
3641 * gdbtypes.h (struct type) <set_owner>: Add asserts.
3643 2021-01-23 Lancelot SIX <lsix@lancelotsix.com>
3645 * Makefile.in (SELFTESTS_SRCS): Add
3646 unittests/gdb_tilde_expand-selftests.c.
3647 * unittests/gdb_tilde_expand-selftests.c: New file.
3649 2021-01-22 Andrew Burgess <andrew.burgess@embecosm.com>
3652 * NEWS: Mention new command.
3653 * cli/cli-style.c: Add 'cli/cli-setshow.h' include.
3654 (version_style): Define.
3655 (cli_style_option::cli_style_option): Add intensity parameter, and
3657 (_initialize_cli_style): Register version style set/show commands.
3658 * cli/cli-style.h (cli_style_option): Add intensity parameter.
3659 (version_style): Declare.
3660 * top.c (print_gdb_version): Use version_stype, and styled_string
3661 to print the GDB version string.
3663 2021-01-22 Andrew Burgess <andrew.burgess@embecosm.com>
3665 * utils.c (emit_style_escape): Only emit an escape sequence if the
3666 requested style is different than the current applied style.
3667 (fputs_maybe_filtered): Adjust the juggling of the wrap_style, and
3668 current applied_style.
3669 (fputs_styled): Remove is_default check.
3670 (fputs_styled_unfiltered): Likewise.
3671 (vfprintf_styled_no_gdbfmt): Likewise.
3673 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
3675 * remote.h (remote_debug_printf): New.
3676 (remote_debug_printf_nofunc): New.
3677 (REMOTE_SCOPED_DEBUG_ENTER_EXIT): New.
3678 * remote.c: Use above macros throughout file.
3680 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
3682 * remote.h (remote_debug): Change to bool.
3683 * remote.c (remote_debug): Change to bool.
3684 (_initialize_remote): Adjust.
3686 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
3688 * target.h (remote_debug): Move to...
3689 * remote.h (remote_debug): ... here.
3690 * top.c (remote_debug): Move to...
3691 * remote.c (remote_debug): ... here.
3692 * remote-sim.c: Include remote.h.
3694 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
3696 * cli/cli-cmds.c (show_remote_debug): Remove.
3697 (show_remote_timeout): Remove.
3698 (_initialize_cli_cmds): Don't register commands.
3699 * remote.c (show_remote_debug): Move here.
3700 (show_remote_timeout): Move here.
3701 (_initialize_remote): Register commands.
3703 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
3705 * gdbtypes.h (TYPE_OBJFILE): Remove, change all users to use the
3706 type::objfile method instead.
3708 2021-01-22 Simon Marchi <simon.marchi@polymtl.ca>
3710 * gdbtypes.h (TYPE_OBJFILE_OWNED): Remove, update all users to
3711 use the type::is_objfile_owned method.
3713 2021-01-22 Simon Marchi <simon.marchi@efficios.com>
3715 * gdbtypes.h (TYPE_OBJFILE_OWNED): Adjust.
3716 (TYPE_OWNER): Remove.
3717 (TYPE_OBJFILE): Adjust.
3718 (struct main_type) <flag_objfile_owned>: Rename to...
3719 <m_flag_objfile_owned>: ... this.
3720 <owner>: Rename to...
3721 <m_owner>: ... this.
3722 (struct type) <is_objfile_owned, set_owner, objfile, arch>: New
3724 (TYPE_ALLOC): Adjust.
3725 * gdbtypes.c (alloc_type): Adjust.
3726 (alloc_type_arch): Adjust.
3727 (alloc_type_copy): Adjust.
3728 (get_type_arch): Adjust.
3729 (smash_type): Adjust.
3730 (lookup_array_range_type): Adjust.
3731 (recursive_dump_type): Adjust.
3732 (copy_type_recursive): Adjust.
3733 * compile/compile-c-types.c (convert_func): Adjust.
3734 (convert_type_basic): Adjust.
3735 * compile/compile-cplus-types.c (compile_cplus_convert_func):
3738 (language_arch_info::type_and_symbol::alloc_type_symbol):
3741 2021-01-21 Luis Machado <luis.machado@linaro.org>
3743 * coffread.c (enter_linenos): Passing string to complaint.
3744 * valops.c (value_assign): Make array view.
3746 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
3748 * auto-load.h (debug_auto_load): Move here.
3749 (auto_load_debug_printf): New.
3750 * auto-load.c: Use auto_load_debug_printf.
3751 (debug_auto_load): Move to header.
3752 * linux-thread-db.c (try_thread_db_load): Use
3753 auto_load_debug_printf.
3754 * main.c (captured_main_1): Likewise.
3756 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
3758 * f-valprint.c (f77_array_offset_tbl): Remove.
3760 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
3762 * gdb_bfd.c (bfd_cache_debug_printf): New, use throughout file.
3764 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
3766 * ser-tcp.c (wait_for_connect): Use interruptible_select instead
3769 2021-01-21 Hannes Domani <ssbssa@yahoo.de>
3772 * python/py-breakpoint.c (bppy_get_location): Handle
3773 bp_hardware_breakpoint.
3774 (bppy_init): Likewise.
3775 (gdbpy_breakpoint_created): Likewise.
3777 2021-01-21 Simon Marchi <simon.marchi@polymtl.ca>
3779 * arm-tdep.c (arm_debug_printf): Add and use throughout file.
3781 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
3783 * gdb_bfd.c (debug_bfd_cache): Change type to bool.
3784 (_initialize_gdb_bfd): Adjust.
3786 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
3789 * dwarf2/read.c (maybe_queue_comp_unit): Add assertion.
3791 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
3793 * dwarf2/read.c (follow_die_offset): Add logging.
3794 (dwarf2_per_objfile::age_comp_units): Add logging.
3796 2021-01-20 Simon Marchi <simon.marchi@polymtl.ca>
3798 * aarch64-linux-tdep.c (aarch64_linux_record_tdep): Make static.
3799 * aarch64-tdep.c (tdesc_aarch64_list, aarch64_prologue_unwind,
3800 aarch64_stub_unwind, aarch64_normal_base, ): Make static.
3801 * arm-linux-tdep.c (arm_prologue_unwind): Make static.
3802 * arm-tdep.c (struct frame_unwind): Make static.
3803 * auto-load.c (auto_load_safe_path_vec): Make static.
3804 * csky-tdep.c (csky_stub_unwind): Make static.
3805 * gdbarch.c (gdbarch_data_registry): Make static.
3806 * gnu-v2-abi.c (gnu_v2_abi_ops): Make static.
3807 * i386-netbsd-tdep.c (i386nbsd_mc_reg_offset): Make static.
3808 * i386-tdep.c (i386_frame_setup_skip_insns,
3809 i386_tramp_chain_in_reg_insns, i386_tramp_chain_on_stack_insns):
3811 * infrun.c (observer_mode): Make static.
3812 * linux-nat.c (sigchld_action): Make static.
3813 * linux-thread-db.c (thread_db_list): Make static.
3814 * maint-test-options.c (maintenance_test_options_list):
3815 * mep-tdep.c (mep_csr_registers): Make static.
3816 * mi/mi-cmds.c (struct mi_cmd_stats): Remove struct type name.
3817 (stats): Make static.
3818 * nat/linux-osdata.c (struct osdata_type): Make static.
3819 * ppc-netbsd-tdep.c (ppcnbsd_reg_offsets): Make static.
3820 * progspace.c (last_program_space_num): Make static.
3821 * python/py-param.c (struct parm_constant): Remove struct type
3823 (parm_constants): Make static.
3824 * python/py-record-btrace.c (btpy_list_methods): Make static.
3825 * python/py-record.c (recpy_gap_type): Make static.
3826 * record.c (record_goto_cmdlist): Make static.
3827 * regcache.c (regcache_descr_handle): Make static.
3828 * registry.h (DEFINE_REGISTRY): Make definition static.
3829 * symmisc.c (std_in, std_out, std_err): Make static.
3830 * top.c (previous_saved_command_line): Make static.
3831 * tracepoint.c (trace_user, trace_notes, trace_stop_notes): Make
3833 * unittests/command-def-selftests.c (nr_duplicates,
3834 nr_invalid_prefixcmd, lists): Make static.
3835 * unittests/observable-selftests.c (test_notification): Make
3837 * unittests/optional/assignment/1.cc (counter): Make static.
3838 * unittests/optional/assignment/2.cc (counter): Make static.
3839 * unittests/optional/assignment/3.cc (counter): Make static.
3840 * unittests/optional/assignment/4.cc (counter): Make static.
3841 * unittests/optional/assignment/5.cc (counter): Make static.
3842 * unittests/optional/assignment/6.cc (counter): Make static.
3844 2021-01-20 Joel Sherrill <joel@rtems.org>
3847 * remote.c (struct remote_thread_info) <resume_state>: Rename
3849 <get_resume_state>: ... this.
3850 (remote_target::resume): Adjust.
3851 (remote_target::commit_resume): Adjust.
3852 (remote_target::select_thread_for_ambiguous_stop_reply): Adjust.
3854 2021-01-20 Sergio Durigan Junior <sergiodj@sergiodj.net>
3855 Tom Tromey <tom@tromey.com>
3857 * stap-probe.c (stap_parse_single_operand): Handle '!'
3859 (stap_parse_argument_conditionally): Likewise.
3860 Skip spaces after processing open-parenthesis sub-expression.
3861 (stap_parse_argument_1): Skip spaces after call to
3862 stap_parse_argument_conditionally.
3863 Handle case when right-side expression is a parenthesized
3865 Skip spaces after call to stap_parse_argument_1.
3867 2021-01-19 Lancelot SIX <lsix@lancelotsix.com>
3869 * top.h (switch_thru_all_uis): Use DISABLE_COPY_AND_ASSIGN.
3871 2021-01-19 Luis Machado <luis.machado@linaro.org>
3873 * trad-frame.h (trad_frame_saved_reg) <set_value_bytes>: Allocate
3874 memory and save data.
3875 (trad_frame_set_value, trad_frame_set_realreg, trad_frame_set_addr)
3876 (trad_frame_set_unknown, trad_frame_set_value_bytes)
3877 (trad_frame_value_p, trad_frame_addr_p, trad_frame_realreg_p)
3878 (trad_frame_value_bytes_p): Remove.
3879 (trad_frame_reset_saved_regs): Adjust documentation.
3880 * trad-frame.c (trad_frame_alloc_saved_regs): Initialize via a
3881 constructor and reset the state of the registers.
3882 (trad_frame_value_p, trad_frame_addr_p, trad_frame_realreg_p)
3883 (trad_frame_value_bytes_p, trad_frame_set_value)
3884 (trad_frame_set_realreg, trad_frame_set_addr)
3885 (trad_frame_set_unknown, trad_frame_set_value_bytes): Remove.
3886 (trad_frame_set_reg_realreg): Update to call member function.
3887 (trad_frame_set_reg_addr, trad_frame_set_reg_value_bytes): Likewise.
3888 (trad_frame_get_prev_register): Likewise.
3890 * aarch64-tdep.c (aarch64_analyze_prologue)
3891 (aarch64_analyze_prologue_test, aarch64_make_prologue_cache_1)
3892 (aarch64_prologue_prev_register): Update to use member functions.
3893 * alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind_cache): Likewise.
3894 * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Likewise.
3895 * arc-tdep.c (arc_print_frame_cache, arc_make_frame_cache): Likewise.
3896 * arm-tdep.c (arm_make_prologue_cache, arm_exidx_fill_cache)
3897 (arm_make_epilogue_frame_cache): Likewise.
3898 * avr-tdep.c (avr_frame_unwind_cache)
3899 (avr_frame_prev_register): Likewise.
3900 * cris-tdep.c (cris_scan_prologue): Likewise.
3901 * csky-tdep.c (csky_frame_unwind_cache): Likewise.
3902 * frv-tdep.c (frv_analyze_prologue): Likewise.
3903 * hppa-tdep.c (hppa_frame_cache, hppa_fallback_frame_cache): Likewise.
3904 * lm32-tdep.c (lm32_frame_cache): Likewise.
3905 * m32r-tdep.c (m32r_frame_unwind_cache): Likewise.
3906 * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise.
3907 * mips-tdep.c (set_reg_offset, mips_insn16_frame_cache)
3908 (mips_micro_frame_cache, mips_insn32_frame_cache): Likewise.
3909 (reset_saved_regs): Adjust to set realreg.
3910 * riscv-tdep.c (riscv_scan_prologue, riscv_frame_cache): Adjust to
3911 call member functions.
3912 * rs6000-tdep.c (rs6000_frame_cache, rs6000_epilogue_frame_cache)
3913 * s390-tdep.c (s390_prologue_frame_unwind_cache)
3914 (s390_backchain_frame_unwind_cache): Likewise.
3915 * score-tdep.c (score7_analyze_prologue)
3916 (score3_analyze_prologue, score_make_prologue_cache): Likewise.
3917 * sparc-netbsd-tdep.c (sparc32nbsd_sigcontext_saved_regs): Likewise.
3918 * sparc-sol2-tdep.c (sparc32_sol2_sigtramp_frame_cache): Likewise.
3919 * sparc64-netbsd-tdep.c (sparc64nbsd_sigcontext_saved_regs): Likewise.
3920 * sparc64-sol2-tdep.c (sparc64_sol2_sigtramp_frame_cache): Likewise.
3921 * tilegx-tdep.c (tilegx_analyze_prologue)
3922 (tilegx_frame_cache): Likewise.
3923 * v850-tdep.c (v850_frame_cache): Likewise.
3924 * vax-tdep.c (vax_frame_cache): Likewise.
3926 2021-01-19 Luis Machado <luis.machado@linaro.org>
3928 * frame.h (get_frame_register_bytes): Pass a gdb::array_view instead
3930 (put_frame_register_bytes): Likewise.
3931 Adjust documentation.
3932 (get_frame_memory): Pass a gdb::array_view instead of buffer + length.
3933 (safe_frame_unwind_memory): Likewise.
3934 * frame.c (get_frame_register_bytes, put_frame_register_bytes)
3935 (get_frame_memory, safe_frame_unwind_memory): Adjust to use
3937 * amd64-fbsd-tdep.c (amd64fbsd_sigtramp_p): Likewise.
3938 * amd64-linux-tdep.c (amd64_linux_sigtramp_start): Likewise.
3939 * amd64-obsd-tdep.c (amd64obsd_sigtramp_p): Likewise.
3940 * arc-linux-tdep.c (arc_linux_is_sigtramp): Likewise.
3941 * cris-tdep.c (cris_sigtramp_start, cris_rt_sigtramp_start): Likewise.
3942 * dwarf2/loc.c (rw_pieced_value): Likewise.
3943 * hppa-tdep.c (hppa_frame_cache): Likewise.
3944 * i386-fbsd-tdep.c (i386fbsd_sigtramp_p): Likewise.
3945 * i386-gnu-tdep.c (i386_gnu_sigtramp_start): Likewise.
3946 * i386-linux-tdep.c (i386_linux_sigtramp_start)
3947 (i386_linux_rt_sigtramp_start): Likewise.
3948 * i386-obsd-tdep.c (i386obsd_sigtramp_p): Likewise.
3949 * i386-tdep.c (i386_register_to_value): Likewise.
3950 * i387-tdep.c (i387_register_to_value): Likewise.
3951 * ia64-tdep.c (ia64_register_to_value): Likewise.
3952 * m32r-linux-tdep.c (m32r_linux_sigtramp_start)
3953 (m32r_linux_rt_sigtramp_start): Likewise.
3954 * m68k-linux-tdep.c (m68k_linux_pc_in_sigtramp): Likewise.
3955 * m68k-tdep.c (m68k_register_to_value): Likewise.
3956 * mips-tdep.c (mips_register_to_value)
3957 (mips_value_to_register): Likewise.
3958 * ppc-fbsd-tdep.c (ppcfbsd_sigtramp_frame_sniffer)
3959 (ppcfbsd_sigtramp_frame_cache): Likewise.
3960 * ppc-obsd-tdep.c (ppcobsd_sigtramp_frame_sniffer)
3961 (ppcobsd_sigtramp_frame_cache): Likewise.
3962 * rs6000-tdep.c (rs6000_in_function_epilogue_frame_p)
3963 (rs6000_register_to_value): Likewise.
3964 * tilegx-tdep.c (tilegx_analyze_prologue): Likewise.
3965 * tramp-frame.c (tramp_frame_start): Likewise.
3966 * valops.c (value_assign): Likewise.
3968 2021-01-19 Luis Machado <luis.machado@linaro.org>
3970 * aarch64-linux-tdep.c (aarch64_linux_restore_vreg): Pass in an
3972 * trad-frame.c (trad_frame_set_value_bytes): Use gdb::array_view
3973 instead of buffer and size.
3974 (trad_frame_set_reg_value_bytes): Likewise.
3975 * trad-frame.h (trad_frame_set_reg_value_bytes): Likewise.
3976 (trad_frame_set_value_bytes): Likewise.
3978 2021-01-18 Mike Frysinger <vapier@gentoo.org>
3980 * copyright.py (NOT_FSF_LIST): Delete sim/testsuite/sim/bfin/s21.s.
3982 2021-01-18 Andrew Burgess <andrew.burgess@embecosm.com>
3984 * riscv-fbsd-tdep.c (riscv_fbsd_supply_gregset): Delete.
3985 (riscv_fbsd_gregset): Use riscv_supply_regset.
3986 (riscv_fbsd_fpregset): Likewise.
3987 * riscv-linux-tdep.c (riscv_linux_gregset): Likewise.
3988 (riscv_linux_fregset): Likewise.
3989 * riscv-tdep.c (riscv_supply_regset): Define new function.
3990 * riscv-tdep.h (riscv_supply_regset): Declare new function.
3992 2021-01-18 Tom de Vries <tdevries@suse.de>
3995 * nat/amd64-linux-siginfo.c (cpt_si_lower, cpt_si_upper, SEGV_BNDERR):
3997 (compat_siginfo_from_siginfo): Copy cpt_si_lower and cpt_si_upper
4000 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
4002 * remote.c (class remote_target) <remote_hostio_send_command,
4003 remote_hostio_parse_result>: Constify parameter.
4004 (remote_hostio_parse_result): Likewise.
4005 (remote_target::remote_hostio_send_command): Adjust.
4006 (remote_target::remote_hostio_pread_vFile): Adjust.
4007 (remote_target::fileio_readlink): Adjust.
4008 (remote_target::fileio_fstat): Adjust.
4010 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
4012 * remote.c (remote_target::start_remote): Move wait_status to
4015 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
4017 * remote.c (class remote_target):
4018 <add_current_inferior_and_thread>: Constify parameter.
4019 (stop_reply_extract_thread): Likewise.
4020 (remote_target::get_current_thread): Likewise.
4021 (remote_target::add_current_inferior_and_thread): Likewise.
4023 2021-01-18 Simon Marchi <simon.marchi@polymtl.ca>
4025 * remote.c (class remote_target)
4026 <remote_unpack_thread_info_response,
4027 parse_threadlist_response>: Constify parameter and/or return
4028 value and or local variable.
4029 (stub_unpack_int): Likewise.
4030 (unpack_nibble): Likewise.
4031 (unpack_byte): Likewise.
4032 (unpack_int): Likewise.
4033 (unpack_string): Likewise.
4034 (unpack_threadid): Likewise.
4035 (remote_target::remote_unpack_thread_info_response): Likewise.
4036 (remote_target::parse_threadlist_response): Likewise.
4038 2021-01-15 Andrew Burgess <andrew.burgess@embecosm.com>
4040 * tui/tui.c (tui_is_window_visible): Compare to nullptr, not 0.
4042 2021-01-14 Lancelot Six <lsix@lancelotsix.com>
4044 * MAINTAINERS (Write After Approval): Add myself.
4046 2021-01-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
4048 * trad-frame.c (trad_frame_alloc_saved_regs): Avoid compile-error
4049 because is_trivially_default_constructible was first implemented with
4052 2021-01-14 Tom de Vries <tdevries@suse.de>
4054 PR breakpoints/27151
4055 * objfiles.h (in_plt_section): Handle .plt.sec.
4057 2021-01-13 Andrew Burgess <andrew.burgess@embecosm.com>
4061 (remote_target::select_thread_for_ambiguous_stop_reply): New
4063 (remote_target::process_stop_reply): Call
4064 select_thread_for_ambiguous_stop_reply.
4066 2021-01-13 Simon Marchi <simon.marchi@efficios.com>
4068 * record-btrace.c (class record_btrace_target): Remove.
4069 (record_btrace_target::commit_resume): Remove.
4070 * record-full.c (class record_full_target): Remove.
4071 (record_full_target::commit_resume): Remove.
4073 2021-01-13 Simon Marchi <simon.marchi@efficios.com>
4075 * remote.c (enum class resume_state): New.
4076 (struct resumed_pending_vcont_info): New.
4077 (struct remote_thread_info) <resume_state, set_not_resumed,
4078 set_resumed_pending_vcont, resumed_pending_vcont_info,
4079 set_resumed, m_resume_state, m_resumed_pending_vcont_info>:
4081 <last_resume_step, last_resume_sig, vcont_resumed>: Remove.
4082 (remote_target::remote_add_thread): Adjust.
4083 (remote_target::process_initial_stop_replies): Adjust.
4084 (remote_target::resume): Adjust.
4085 (remote_target::commit_resume): Rely on state in
4086 remote_thread_info and not on tp->executing.
4087 (remote_target::process_stop_reply): Adjust.
4089 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
4091 * arc-tdep.h (arc_debug_printf): New.
4092 * arc-tdep.c: Use arc_debug_printf.
4093 * arc-linux-nat.c (arc_linux_nat_debug_printf): Add and use.
4094 * arc-linux-tdep.c (arc_linux_debug_printf): Add and use.
4095 * arc-newlib-tdep.c (arc_newlib_debug_printf): Add and use.
4097 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
4099 * arc-tdep.h (arc_debug): Change type to bool.
4100 * arc-tdep.c (arc_debug): Change type to bool.
4101 (arc_analyze_prologue): Adjust.
4102 (_initialize_arc_tdep): Use add_setshow_boolean_cmd.
4103 * arc-linux-nat.c (ps_get_thread_area): Adjust.
4105 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
4107 * auto-load.c (auto_load_objfile_script_1): Use bool.
4108 (execute_script_contents): Use bool.
4110 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
4112 * auto-load.h (auto_load_gdb_scripts_enabled): Return bool, move
4114 * auto-load.c (auto_load_gdb_scripts_enabled): Return bool, move
4116 * extension-priv.h (struct extension_language_script_ops)
4117 <auto_load_enabled>: Return bool.
4118 * extension.h (ext_lang_auto_load_enabled): Return bool, move
4120 * extension.c (ext_lang_auto_load_enabled): Return bool, move
4122 * guile/guile-header.h (gdbscm_auto_load_enabled): Return bool,
4124 * guile/scm-auto-load.c (gdbscm_auto_load_enabled): Return bool,
4125 move comment to header.
4126 * python/python-header.h (gdbpy_auto_load_enabled): Return bool,
4128 * python/py-auto-load.c (gdbpy_auto_load_enabled): Return bool,
4129 move comment to header.
4131 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
4133 * auto-load.h (file_is_auto_load_safe): Change return type to
4134 bool, move comment here.
4135 * auto-load.c (file_is_auto_load_safe): Change return type and
4136 advice_printed to bool. Move comment to header.
4138 2021-01-13 Simon Marchi <simon.marchi@polymtl.ca>
4140 * jit.c (jit_debug_printf): New, use throughout file.
4142 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
4144 * infrun.c (normal_stop): Fix indentation.
4146 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
4148 * top.h (readnow_symbol_files, readnever_symbol_files): Move
4150 * symfile.h: ... here.
4151 * symfile.c: Update doc.
4153 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
4155 * target.h (baud_rate, serial_parity): Move declarations...
4156 * serial.h: ... here.
4157 * main.c: Include serial.h.
4158 * serial.c (baud_rate, serial_parity): Update doc.
4160 2021-01-12 Simon Marchi <simon.marchi@polymtl.ca>
4162 * top.c (pre_init_ui_hook): Remove.
4164 2021-01-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
4166 * aarch64-tdep.c (aarch64_vnh_type): Add "bf" field in h registers.
4167 (aarch64_vnv_type): Add "bf" type in h field of v registers.
4168 * features/aarch64-fpu.c (create_feature_aarch64_fpu): Regenerated.
4169 * features/aarch64-fpu.xml: Add bfloat16 type.
4171 2021-01-12 Andrew Burgess <andrew.burgess@embecosm.com>
4173 * expprint.c (dump_subexp_body_standard): Handle OP_BOOL.
4175 2021-01-12 Andrew Burgess <andrew.burgess@embecosm.com>
4177 * f-exp.y (dot_ops): Rename to...
4178 (fortran_operators): ...this. Add a header comment. Add symbol
4180 (yylex): Update to use fortran_operators not dot_ops. Remove
4181 special handling for '**', this is now included in
4184 2021-01-11 Simon Marchi <simon.marchi@polymtl.ca>
4186 * arch/aarch64-insn.h (aarch64_debug_printf): New.
4187 * arch/aarch64-insn.c: Use aarch64_debug_printf.
4188 * aarch64-tdep.c: Use aarch64_debug_printf.
4190 2021-01-11 Simon Marchi <simon.marchi@polymtl.ca>
4192 * solib-aix.c (solib_aix_debug_printf): New, use throughout
4195 2021-01-11 Simon Marchi <simon.marchi@polymtl.ca>
4197 * jit.c (jit_debug): Change type to bool.
4198 (_initialize_jit): Adjust.
4200 2021-01-09 Tom Tromey <tom@tromey.com>
4203 * compile/compile.c (compile_to_object): Avoid crash when
4204 osabi_triplet_regexp returns NULL.
4206 2021-01-09 Tom Tromey <tom@tromey.com>
4208 * tracepoint.h (class collection_list) <append_exp>: Take a
4210 * tracepoint.c (collection_list::append_exp): Take a std::string.
4211 (encode_actions_1): Update.
4213 2021-01-08 Tom Tromey <tromey@adacore.com>
4215 * parse.c (parse_expression): Add void_context_p parameter. Use
4216 parse_exp_in_context.
4217 * printcmd.c (print_command_1): Change voidprint to bool. Pass to
4219 (print_command, call_command): Update.
4220 * expression.h (parse_expression): Add void_context_p parameter.
4222 2021-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
4224 * value.c (set_value_component_location): Adjust the VALUE_LVAL
4225 for internalvar components that have a dynamic location.
4227 2021-01-08 Tom de Vries <tdevries@suse.de>
4230 * breakpoint.c (create_exception_master_breakpoint_probe)
4231 (create_exception_master_breakpoint_hook): Factor out
4233 (create_exception_master_breakpoint): ... here. Only try to install
4234 the master exception breakpoint in objfile.debug using the
4235 _Unwind_DebugHook method, if the install using probes in objfile
4238 2021-01-08 Andrew Burgess <andrew.burgess@embecosm.com>
4240 * f-lang.c (fortran_value_subarray): Call value_from_component.
4242 2021-01-07 Mike Frysinger <vapier@gentoo.org>
4244 * remote-sim.c: Include memory-map.h.
4245 (gdbsim_target): Define memory_map override.
4246 (gdbsim_target::memory_map): Define.
4248 2021-01-07 Tom Tromey <tromey@adacore.com>
4250 * ada-lang.c (do_full_match): Conditionally skip "_ada_" prefix.
4252 2021-01-07 Tom Tromey <tromey@adacore.com>
4254 * ada-lang.c (add_component_interval): Start loop using vector's
4257 2021-01-06 Tom Tromey <tromey@adacore.com>
4259 * ada-lang.c (ada_evaluate_subexp) <BINOP_ADD, BINOP_SUB>:
4261 * valarith.c (fixed_point_binop): Handle multiplication
4262 and division specially.
4263 * valops.c (value_to_gdb_mpq): New function.
4264 (value_cast_to_fixed_point): Use it.
4266 2021-01-05 Hannes Domani <ssbssa@yahoo.de>
4268 * tui/tui-winsource.c (tui_source_window_base::refresh_window):
4269 Call wnoutrefresh instead of tui_win_info::refresh_window.
4271 2021-01-05 Hannes Domani <ssbssa@yahoo.de>
4273 * tui/tui-source.c (tui_source_window::show_line_number):
4274 Redraw second space after line number.
4276 2021-01-05 Hannes Domani <ssbssa@yahoo.de>
4279 * tui/tui-winsource.c (tui_source_window_base::refresh_window):
4280 Fix source pad size in prefresh.
4281 (tui_source_window_base::show_source_content): Grow source pad
4284 2021-01-04 Mike Frysinger <vapier@gentoo.org>
4286 * bfin-tdep.c (bfin_push_dummy_call): Use align_up.
4287 (bfin_frame_align): Use align_down.
4289 2021-01-04 Tom de Vries <tdevries@suse.de>
4291 * buildsym.c (buildsym_compunit::record_line): Filter out end-of-seq
4292 terminators that do not terminate anything.
4294 2021-01-04 Simon Marchi <simon.marchi@efficios.com>
4296 * debug.c (debug_print_depth): New.
4297 * infrun.h (INFRUN_SCOPED_DEBUG_START_END): New.
4298 (INFRUN_SCOPED_DEBUG_ENTER_EXIT): New.
4299 * infrun.c (start_step_over): Use
4300 INFRUN_SCOPED_DEBUG_ENTER_EXIT.
4301 (proceed): Use INFRUN_SCOPED_DEBUG_ENTER_EXIT and
4302 INFRUN_SCOPED_DEBUG_START_END.
4303 (fetch_inferior_event): Use INFRUN_SCOPED_DEBUG_ENTER_EXIT.
4305 2021-01-04 Simon Marchi <simon.marchi@efficios.com>
4307 * infrun.c (print_target_wait_results): Use infrun_debug_printf.
4309 2021-01-04 Simon Marchi <simon.marchi@efficios.com>
4311 * utils.c (vfprintf_unfiltered): Print timestamp only when
4312 previous debug output ended with a newline.
4314 2021-01-04 Luis Machado <luis.machado@linaro.org>
4316 Update all users of trad_frame_saved_reg to use the new member
4319 Remote all struct keywords from declarations of trad_frame_saved_reg
4320 types, except on forward declarations.
4322 * aarch64-tdep.c: Update.
4323 * alpha-mdebug-tdep.c: Update.
4324 * alpha-tdep.c: Update.
4325 * arc-tdep.c: Update.
4326 * arm-tdep.c: Update.
4327 * avr-tdep.c: Update.
4328 * cris-tdep.c: Update.
4329 * csky-tdep.c: Update.
4330 * frv-tdep.c: Update.
4331 * hppa-linux-tdep.c: Update.
4332 * hppa-tdep.c: Update.
4333 * hppa-tdep.h: Update.
4334 * lm32-tdep.c: Update.
4335 * m32r-linux-tdep.c: Update.
4336 * m32r-tdep.c: Update.
4337 * m68hc11-tdep.c: Update.
4338 * mips-tdep.c: Update.
4339 * moxie-tdep.c: Update.
4340 * riscv-tdep.c: Update.
4341 * rs6000-tdep.c: Update.
4342 * s390-linux-tdep.c: Update.
4343 * s390-tdep.c: Update.
4344 * score-tdep.c: Update.
4345 * sparc-netbsd-tdep.c: Update.
4346 * sparc-sol2-tdep.c: Update.
4347 * sparc64-fbsd-tdep.c: Update.
4348 * sparc64-netbsd-tdep.c: Update.
4349 * sparc64-obsd-tdep.c: Update.
4350 * sparc64-sol2-tdep.c: Update.
4351 * tilegx-tdep.c: Update.
4352 * v850-tdep.c: Update.
4353 * vax-tdep.c: Update.
4355 * frame-unwind.c (frame_unwind_got_bytes): Make parameter const.
4356 * frame-unwind.h (frame_unwind_got_bytes): Likewise.
4358 * trad-frame.c: Update.
4359 Remove TF_REG_* enum.
4360 (trad_frame_alloc_saved_regs): Add a static assertion to check for
4361 a trivially-constructible struct.
4362 (trad_frame_reset_saved_regs): Adjust to use member function.
4363 (trad_frame_value_p): Likewise.
4364 (trad_frame_addr_p): Likewise.
4365 (trad_frame_realreg_p): Likewise.
4366 (trad_frame_value_bytes_p): Likewise.
4367 (trad_frame_set_value): Likewise.
4368 (trad_frame_set_realreg): Likewise.
4369 (trad_frame_set_addr): Likewise.
4370 (trad_frame_set_unknown): Likewise.
4371 (trad_frame_set_value_bytes): Likewise.
4372 (trad_frame_get_prev_register): Likewise.
4373 * trad-frame.h: Update.
4374 (trad_frame_saved_reg_kind): New enum.
4375 (struct trad_frame_saved_reg) <addr, realreg, data>: Remove.
4376 <m_kind, m_reg>: New member fields.
4377 <set_value, set_realreg, set_addr, set_unknown, set_value_bytes>
4378 <kind, value, realreg, addr, value_bytes, is_value, is_realreg>
4379 <is_addr, is_unknown, is_value_bytes>: New member functions.
4381 2021-01-02 Simon Marchi <simon.marchi@polymtl.ca>
4383 * target-float.c: Fix typos.
4385 2021-01-02 Hannes Domani <ssbssa@yahoo.de>
4387 * gdb-gdb.py.in: Fix main_type.flds_bnds.bounds pretty printer.
4389 2021-01-01 Joel Brobecker <brobecker@adacore.com>
4391 * gdbarch.sh: Update copyright year range.
4393 2021-01-01 Joel Brobecker <brobecker@adacore.com>
4395 Update copyright year range in copyright header of all GDB files.
4397 2021-01-01 Joel Brobecker <brobecker@adacore.com>
4399 * copyright.py (get_update_list): Add "gdbserver" and "gdbsupport"
4400 to the list of directories to update.
4402 2021-01-01 Joel Brobecker <brobecker@adacore.com>
4404 * top.c (print_gdb_version): Update copyright year.
4406 2021-01-01 Joel Brobecker <brobecker@adacore.com>
4408 * config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2020.
4410 For older changes see ChangeLog-2020.
4416 version-control: never