3 * i386-tdep.c (i386_process_record): Change "addr" to "tmpu64".
7 * utils.c (fputs_maybe_filtered): Always disable pagination if the
8 top level interpreter is MI.
12 * remote.c (remote_download_tracepoint): Iterate over locations.
13 * tracepoint.c (validate_actionline): Ditto.
14 (encode_actions): Add location argument.
15 (trace_dump_command): Check all locations to see if stepping
21 * NEWS: Add X86 general purpose registers section.
26 * varobj.c (install_new_value): Handle case where new print_value
32 * printcmd.c (printf_command): Print end of format string using
37 * mi/mi-cmd-break.c (mi_read_next_line): Add missing 'void'.
38 * defs.h (read_command_lines_1): Add missing 'void'.
39 * cli/cli-script.c (recurse_read_control_structure): Add missing
41 (read_next_line): Likewise.
42 (read_command_lines_1): Likewise.
46 * spu-tdep.c (spu_analyze_prologue): Track instruction to
47 store backchain as part of prologue.
51 * progspace.c (update_address_spaces): Update inferior address spaces
56 * dwarf2read.c (add_partial_subprogram): Add missing baseaddr to
57 lowpc,highpc args to addrmap_set_empty.
61 * amd64-tdep.c (amd64_byte_names): New.
62 (amd64_word_names): Likewise.
63 (amd64_dword_names): Likewise.
64 (amd64_pseudo_register_name): Likewise.
65 (amd64_pseudo_register_read): Likewise.
66 (amd64_pseudo_register_write): Likewise.
67 (amd64_init_abi): Set num_byte_regs, num_word_regs, num_dword_regs
68 and num_mmx_regs. Call set_gdbarch_pseudo_register_read,
69 set_gdbarch_pseudo_register_write and
70 set_tdesc_pseudo_register_name. Don't call
71 set_gdbarch_num_pseudo_regs. Don't set mm0_regnum.
73 * i386-tdep.c (i386_num_mmx_regs): Removed.
74 (i386_num_pseudo_regs): Likewise.
75 (i386_byte_names): New.
76 (i386_word_names): Likewise.
77 (i386_byte_regnum_p): Likewise.
78 (i386_word_regnum_p): Likewise.
79 (i386_mmx_regnum_p): Updated.
80 (i386_pseudo_register_name): Make it global. Handle byte and
81 word pseudo-registers.
82 (i386_pseudo_register_read): Likewise.
83 (i386_pseudo_register_write): Likewise.
84 (i386_pseudo_register_type): Handle byte, word and dword
86 (i386_register_reggroup_p): Don't include pseudo
87 registers, except for MXX, in any register groups. Don't
88 include pseudo byte, word, dword registers in general_reggroup.
89 (i386_gdbarch_init): Set num_byte_regs, num_word_regs,
90 num_dword_regs, al_regnum, ax_regnum and eax_regnum. Put MMX
91 pseudo-registers after word pseudo-registers. Call
92 set_gdbarch_num_pseudo_regs after calling gdbarch_init_osabi.
94 * i386-tdep.h (gdbarch_tdep): Add num_mmx_regs, num_byte_regs,
95 al_regnum, num_word_regs, ax_regnum, num_dword_regs and
97 (i386_byte_regnum_p): New.
98 (i386_word_regnum_p): Likewise.
99 (i386_dword_regnum_p): Likewise.
100 (i386_pseudo_register_name): Likewise.
101 (i386_pseudo_register_read): Likewise.
102 (i386_pseudo_register_write): Likewise.
106 * target-descriptions.c (tdesc_type): Remove
107 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
108 (tdesc_predefined_types): Likewise.
109 (tdesc_gdb_type): Likewise. Pass NULL to append_flags_type_flag
110 if flag name is empty.
111 (maint_print_c_tdesc_cmd): Handle TDESC_TYPE_FLAGS.
113 * features/i386/32bit-core.xml: Define i386_eflags.
114 * features/i386/64bit-core.xml: Likewise.
116 * features/i386/32bit-sse.xml: Define i386_mxcsr.
117 * features/i386/64bit-sse.xml: Likewise.
119 * features/i386/amd64-linux.c: Regenerated.
120 * features/i386/amd64.c: Likewise.
121 * features/i386/i386-linux.c: Likewise.
122 * features/i386/i386.c: Likewise.
126 * gdbtypes.c (append_composite_type_field_raw): New.
127 (append_composite_type_field_aligned): Use the new function.
128 * gdbtypes.h (append_composite_type_field_raw): Declare.
129 * target-descriptions.c (struct tdesc_type_field): Add start and end.
130 (struct tdesc_type_flag): New type.
131 (struct tdesc_type): Add TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS to
132 kind. Add size to u.u. Add u.f for flags.
133 (tdesc_gdb_type): Handle TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS.
134 (tdesc_free_type): Likewise.
135 (tdesc_create_struct, tdesc_set_struct_size, tdesc_create_flags): New.
136 (tdesc_add_field): Handle TDESC_TYPE_STRUCT.
137 (tdesc_add_bitfield, tdesc_add_flag): New.
138 * target-descriptions.h (tdesc_create_struct, tdesc_set_struct_size)
139 (tdesc_create_flags, tdesc_add_bitfield, tdesc_add_flag): Declare.
140 * xml-tdesc.c (struct tdesc_parsing_data): Rename current_union to
141 current_type. Add current_type_size and current_type_is_flags.
142 (tdesc_start_union): Clear the new fields.
143 (tdesc_start_struct, tdesc_start_flags): New.
144 (tdesc_start_field): Handle struct fields, including bitfields.
145 (field_attributes): Make type optional. Add start and end.
146 (union_children): Rename to struct_union_children.
147 (union_attributes): Rename to struct_union_attributes. Add optional
149 (flags_attributes): New.
150 (feature_children): Add struct and flags.
151 * features/gdb-target.dtd: Add flags and struct to features.
152 Make field type optional. Add field start and end.
156 * amd64-linux-nat.c (AMD64_LINUX_USER64_CS): New.
157 (amd64_linux_read_description): Likewise.
158 (_initialize_amd64_linux_nat): Set to_read_description to
159 amd64_linux_read_description.
161 * amd64-linux-tdep.c: Include "features/i386/amd64-linux.c".
162 (amd64_linux_register_name): Removed.
163 (amd64_linux_register_type): Likewise.
164 (amd64_linux_core_read_description): New.
165 (amd64_linux_init_abi): Set target description to
166 tdesc_amd64_linux if needed. Support orig_rax in target
167 description. Don't call set_gdbarch_register_name nor
168 set_gdbarch_register_type. Call
169 set_gdbarch_core_read_description.
170 (_initialize_amd64_linux_tdep): Call
171 initialize_tdesc_amd64_linux.
173 * amd64-linux-tdep.h (tdesc_amd64_linux): New.
175 * amd64-tdep.c: Include "features/i386/amd64.c".
176 (amd64_register_names): Removed.
177 (amd64_register_name): Likewise.
178 (amd64_register_type): Likewise.
179 (amd64_init_abi): Set num_core_regs and register_names. Set
180 target description to tdesc_amd64 if needed. Don't call
181 set_gdbarch_register_name nor set_gdbarch_register_type.
182 (_initialize_amd64_tdep): New.
184 * i386-linux-nat.c (i386_linux_read_description): New.
185 (_initialize_i386_linux_nat): Set to_read_description to
186 i386_linux_read_description.
188 * i386-linux-tdep.c: Include "features/i386/i386-linux.c".
189 (i386_linux_register_name): Removed.
190 (i386_linux_core_read_description): New.
191 (i386_linux_read_description): Likewise.
192 (i386_linux_init_abi): Don't call set_gdbarch_register_name.
193 Set target description to tdesc_i386_linux if needed. Support
194 orig_eax. Set register_reggroup_p. Call
195 set_gdbarch_core_read_description.
196 (_initialize_i386_linux_tdep): Call initialize_tdesc_i386_linux.
198 * i386-linux-tdep.h (tdesc_i386_linux): New.
200 * i386-nto-tdep.c (i386nto_regset_id): Replace I386_NUM_FREGS
203 * i386-tdep.c: Include "features/i386/i386.c".
204 (i386_register_names): Make it const.
205 (i386_mmx_names): Likewise.
206 (i386_num_register_names): Removed.
207 (i386_register_name): Likewise.
208 (i386_eflags_type): Likewise.
209 (i386_mxcsr_type): Likewise.
210 (i386_sse_type): Likewise.
211 (i386_register_type): Likewise.
212 (i387_ext_type): Call tdesc_find_type instead of arch_float_type.
213 (i386_pseudo_register_name): New.
214 (i386_pseudo_register_type): Likewise.
215 (i386_mmx_type): Make it static.
216 (i386_gdbarch_init): Check arch. Replace I386_NUM_FREGS with
217 I387_NUM_REGS. Set num_core_regs and register_names. Don't
218 call set_gdbarch_register_name nor set_gdbarch_register_type.
219 Set register_reggroup_p. Set target description to tdesc_i386
220 if needed. Call set_tdesc_pseudo_register_type,
221 set_tdesc_pseudo_register_name and tdesc_use_registers.
222 (_initialize_i386_tdep): Call initialize_tdesc_i386.
223 initialize_tdesc_x86_64.
225 * i386-tdep.h (gdbarch_tdep): Remove i386_eflags_type,
226 i386_mxcsr_type and i386_sse_type. Add num_core_regs,
227 register_names, tdesc and register_reggroup_p.
228 (I386_NUM_FREGS): Removed.
229 (i386_eflags_type): Likewise.
230 (i386_mxcsr_type): Likewise.
231 (i386_mmx_type): Likewise.
232 (i386_sse_type): Likewise.
233 (i386_register_name): Likewise.
234 (i386_regnum): Add I386_MXCSR_REGNUM.
235 (I386_SSE_NUM_REGS): Defined with I386_MXCSR_REGNUM.
237 * i387-tdep.h (I387_NUM_REGS): New.
239 * regformats/i386/i386-linux.dat: Generated.
240 * regformats/i386/i386.dat: Likewise.
241 * regformats/i386/amd64-linux.dat: Likewise.
242 * regformats/i386/amd64.dat: Likewise.
244 * regformats/reg-i386-linux.dat: Removed.
245 * regformats/reg-i386.dat: Likewise.
246 * regformats/reg-x86-64-linux.dat: Likewise.
247 * regformats/reg-x86-64.dat: Likewise.
251 * remote-fileio.c (remote_fileio_func_rename): Use Cygwin 1.7
252 cygwin_conv_path API rather than the deprecated
253 cygwin_conv_to_full_posix_path.
255 (GetModuleFileNameExA): Undefine for Cygwin.
256 (GetModuleFileNameExW): Define for Cygwin.
257 (get_module_name): Change size of pathbuf to PATH_MAX for Cygwin.
258 Call GetModuleFileNameExW and convert path to POSIX using
260 (windows_make_so): Always define p. Drop unused variable m.
261 Don't use Win32 functions to check file existance, rather use
262 access on Cygwin. Fetch system directory using GetSystemDirectoryW.
263 Use canonicalize_file_name to get full path.
264 (get_image_name): Use wcstombs, rather than WideCharToMultiByte
265 to convert Unicode pathname to multibyte on Cygwin. Otherwise,
266 use correct target buffer size in call to WideCharToMultiByte.
267 (handle_load_dll): Change size of dll_buf to PATH_MAX for Cygwin.
268 (windows_pid_to_exec_file): Change size of path to PATH_MAX for Cygwin.
269 (windows_create_inferior): Convert all paths and arguments to wchar_t
270 and use CreateProcessW on Cygwin.
271 (_initialize_windows_nat): Disable DOS-style path warning on Cygwin.
272 (bad_GetModuleFileNameExA): Undefine for Cygwin.
273 (bad_GetModuleFileNameExW): Define for Cygwin.
274 (_initialize_loadable): Load GetModuleFileNameExW into
275 dyn_GetModuleFileNameExW on Cygwin. Don't load ANSI function on Cygwin.
280 * python/py-frame.c (frapy_read_var): Add block argument and logic
281 to cope with user provided blocks.
285 * infcall.c (call_function_by_hand): Remove gdb_assert on sp and old_sp.
290 * Makefile.in (SUBDIR_MI_OBS): Move mi-common.o from here...
291 (COMMON_OBS): ... to here since it's used unconditionally.
292 (SUBDIR_MI_SRCS): Move mi/mi-common.c from here...
297 * mips-linux-tdep.c: Update struct sigframe comments.
298 (SIGFRAME_CODE_OFFSET): Delete macro.
299 (mips_linux_o32_sigframe_init): Calculate sigcontext_base using
301 (mips_linux_n32n64_sigframe_init): Same.
305 * remote-mips.c (mips_load): Don't use pseudo-register when
306 invalidating regcache.
310 * arm-tdep.c (thumb_get_next_pc): Correct conditional branch opcode.
314 * NEWS: Add "New targets" section, and mention ARM Symbian
319 * dwarf2loc.c (struct piece_closure): Remove ARCH member,
320 add ADDR_SIZE member.
321 (allocate_piece_closure): Update.
322 (copy_pieced_value_closure): Likewise.
323 (dwarf2_evaluate_loc_desc): Likewise.
324 (read_pieced_value): Use DWARF address size instead of
325 GDB's gdbarch_addr_bit as size of values on the DWARF stack.
330 * python/py-type.c (typy_lookup_typename): Add in block argument.
331 If provided restrict lookup to specified blocks.
332 (gdbpy_lookup_type): Likewise.
333 (typy_lookup_type): Likewise.
340 * arm-symbian-tdep.c: New.
341 * configure.tgt (arm*-*-symbianelf*): New target.
342 (*-*-symbianelf*): New OS.
343 * osabi.c (gdb_osabi_names): Add Symbian.
344 * defs.h (gdb_osabi): Add GDB_OSABI_SYMBIAN.
345 * Makefile.in (ALL_TARGET_OBJS): Add arm-symbian-tdep.o.
346 (ALLDEPFILES): Add arm-symbian-tdep.c.
350 * symfile.c (find_lowest_section): Include SEC_ALLOC sections.
354 * mi/mi-main.c (mi_cmd_execute): Fix typo.
360 * python/python.c (_initialize_python): Call
361 gdbpy_initialize_symtabs, gdbpy_initialize_symbols and
362 gdbpy_initialize_blocks.
363 * python/python-internal.h: Declare struct symbol, block and
364 symtab_and_line. Declare block_object_type and
366 (gdbpy_lookup_symbol gdbpy_block_for_pc)
367 (symtab_and_line_to_sal_object, symtab_to_symtab_object)
368 (symbol_to_symbol_object, block_to_block_object)
369 (gdbpy_initialize_symtabs,gdbpy_initialize_symbols)
370 (gdbpy_initialize_blocks ): Declare.
371 * python/py-frame.c (frapy_block, frapy_function, frapy_find_sal)
372 (frapy_select): Add methods.
373 (frapy_read_var): Add symbol branch.
374 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-symbol, py-symtab,
376 (SUBDIR_PYTHON_SRCS): Likewise.
377 (py-symbol.o): New rule.
378 (py-symtab.o): Likewise.
379 (py-block.o): Likewise.
380 * python/py-symbol.c: New file.
381 * python/py-symtab.c: Likewise.
382 * python/py-block.c: Likewise.
388 * inferior.h (prepare_for_detach): Declare.
389 (struct inferior) <detaching>: New field.
390 * infrun.c (prepare_for_detach): New.
391 (handle_inferior_event) <random signal>: Don't stop if detaching.
392 * target.c (target_detach): Call prepare_for_detach.
396 Per-process displaced stepping queue.
398 * infrun.c (displaced_step_ptid, displaced_step_request_queue)
399 (displaced_step_gdbarch, displaced_step_closure,
400 (displaced_step_original, displaced_step_copy): Move globals to
402 (struct displaced_step_inferior_state): ... new structure.
403 (displaced_step_inferior_states): New global.
404 (get_displaced_stepping_state, add_displaced_stepping_state)
405 (remove_displaced_stepping_state, infrun_inferior_exit): New
407 (displaced_step_clear): Add displaced_step_inferior_state
408 parameter, and adjust to handle it.
409 (displaced_step_clear_cleanup): Parameter is now a
410 displaced_step_inferior_state. Adjust.
411 (displaced_step_prepare): Adjust.
412 (displaced_step_fixup, displaced_step_fixup)
413 (infrun_thread_ptid_changed, resume): Adjust.
414 (init_wait_for_inferior): Don't call displaced_step_clear.
415 (infrun_thread_stop_requested): Rewrite.
416 (_initialize_infrun): Install infrun_inferior_exit as
417 inferior_exit observer.
421 * inferior.h (ptid_match): Declare.
422 * infrun.c (ptid_match): New.
423 * remote.c (queued_stop_reply): Rewrite and use ptid_match.
424 (handle_notification): Add debug output.
425 * linux-nat.c (ptid_match): Delete.
429 * gdb_ptrace.h (PT_SYSCALL): If PTRACE_SYSCALL is available, use it.
430 * syscalls/sparc-linux.xml: New.
431 * syscalls/sparc64-linux.xml: New.
432 * Makefile.in (XML_SYSCALL_FILES): Add new syscall XML files.
433 * sparc-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC32): Define.
434 (sparc32_linux_get_syscall_number): New function.
435 (sparc32_linux_init_abi): Set syscall XML file name and hook up
436 syscall number fetcher.
437 * sparc64-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC64): Define.
438 (sparc64_linux_get_syscall_number): New function.
439 (sparc64_linux_init_abi): Set syscall XML file name and hook up
440 syscall number fetcher.
446 * breakpoint.c (clear_syscall_counts): Take struct inferior*.
447 * inferior.c (add_inferior_silent): Notify inferior_added
449 (delete_inferior_1): Notify inferior_removed observer.
450 (exit_inferior_1): Pass inferior, not pid, to observer.
451 (inferior_appeared): Likewise.
452 (add_inferior_with_spaces): New.
453 (add_inferior_command): Use the above.
454 * inferior.h (delete_inferior_1, add_inferior_with_spaces):
457 * inflow.c (inflow_inferior_exit): Likewise.
458 * jit.c (jit_inferior_exit_hook): Likewise.
460 * mi/mi-cmds.c (mi_cmds): Register add-inferior and
462 * mi/mi-cmds.h (mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
463 * mi/mi-interp.c (mi_inferior_added, mi_inferior_removed): New.
464 (report_initial_inferior): New.
465 (mi_inferior_removed): Register the above. Make sure
466 inferior_added observer is called on the first inferior.
467 (mi_new_thread, mi_thread_exit): Thread group is now identified by
468 inferior number, not pid.
469 (mi_solib_loaded, mi_solib_unloaded): Report which inferiors are
471 * mi/mi-main.c (current_context): New.
472 (proceed_thread_callback): Use typed closure.
473 Proceed everything if pid is 0. Most implementation split into
474 (proceed_thread): ... this.
475 (run_one_inferior): New.
476 (mi_cmd_exec_continue, mi_cmd_exec_interrupt, mi_cmd_exec_run):
477 Adjust for multiexec behaviour.
478 (mi_cmd_add_inferior, mi_cmd_remove_inferior): New.
479 (mi_cmd_execute): Handle the 'thread-group' option here.
480 Do some extra checks.
481 * mi-parse.c (mi_parse): Handle the --all and --thread-group
483 * mi-parse.h (struct mi_parse): New fields all and thread_group.
487 Make -exec-run a proper MI commands.
489 * mi/mi-cmds.h (mi_cmd_exec_run): Declare.
490 * mi/mi-cmds.c (mi_cmds): Adjust.
491 * mi/mi-main.c (mi_cmd_exec_run): New.
496 * tracepoint.h (set_traceframe_number)
497 (cleanup_restore_current_traceframe): Declare.
498 * tracepoint.c (set_traceframe_number): New.
499 (struct current_traceframe_cleanup): New.
500 (do_restore_current_traceframe_cleanup)
501 (restore_current_traceframe_cleanup_dtor)
502 (make_cleanup_restore_current_traceframe): New.
503 * infrun.c: Include tracepoint.h.
504 (fetch_inferior_event): Switch out and in of tfind mode.
508 * breakpoint.c (breakpoint_init_inferior): Also delete
509 bp_shlib_event breakpoints.
510 * solib-frv.c (enable_break): Remove call to
511 remove_solib_event_breakpoints.
512 * solib-svr4.c (enable_break): Ditto.
513 * solib-darwin.c (darwin_solib_create_inferior_hook): Ditto.
514 * solib-pa64.c (pa64_solib_create_inferior_hook): Ditto.
515 * solib-som.c (som_solib_create_inferior_hook): Ditto.
516 * solib-spu.c (spu_enable_break): Ditto.
520 * c-exp.y (token_and_value): s/union YYSTYPE/YYSTYPE.
524 * varobj.c (varobj_update): Avoid non-constants in initializers.
528 * dwarf2loc.c (read_pieced_value) <DWARF_VALUE_STACK>: Correctly
529 handle big-endian values.
530 (dwarf2_evaluate_loc_desc) <DWARF_VALUE_STACK>: Likewise.
537 * breakpoint.c (insert_bp_location): If inserting the read
538 watchpoint failed, fallback to an access watchpoint.
539 (bpstat_check_watchpoint): Stop for read watchpoint triggers even
540 if the value changed, if not watching the same memory for writes.
541 (watchpoint_locations_match): Add comment.
542 (update_global_location_list): Copy the location's watchpoint type.
543 * i386-nat.c (i386_length_and_rw_bits): It's an internal error to
544 handle read watchpoints here.
545 (i386_insert_watchpoint): Read watchpoints aren't supported.
546 * remote.c (remote_insert_watchpoint): Return 1 for unsupported
548 * target.h (target_insert_watchpoint): Update description.
552 * p-typeprint.c (pascal_type_print_varspec_prefix): Update.
553 * m2-typeprint.c (m2_print_type): Update.
554 * gdbtypes.c (recursive_dump_type): Update.
555 (copy_type_recursive): Update.
556 * c-typeprint.c (c_type_print_varspec_prefix): Update.
557 (c_type_print_base): Update.
558 * gdbtypes.h (TYPE_CODE_TEMPLATE, TYPE_CODE_TEMPLATE_ARG):
560 (struct cplus_struct_type) <ntemplate_args>: Remove.
561 <struct template_arg>: Remove.
562 <is_dynamic>: Move earlier.
563 (TYPE_TEMPLATE_ARGS): Remove.
564 (TYPE_NTEMPLATE_ARGS): Remove.
565 (TYPE_TEMPLATE_ARG): Remove.
569 PR c++/8693, PR c++/9496:
570 * cp-namespace.c (cp_lookup_nested_type): Handle TYPE_CODE_UNION.
571 * c-exp.y (lex_one_token): Rename from yylex. Don't call
572 write_dollar_variable. Don't try to classify NAME tokens.
573 (token_and_value): New type.
574 (token_fifo, popping, name_obstack): New globals.
575 (classify_name): New function.
576 (classify_inner_name): Likewise.
578 (VARIABLE): Now has type sval.
579 (exp : VARIABLE): Call write_dollar_variable.
580 (qualified_name): Use TYPENAME, not typebase. Add production for
581 multiple "::" instances.
582 (variable): Use name_not_typename.
583 (qualified_type): Remove.
588 * symfile.c (addr_info_make_relative): Extend comment. Move SECT to
589 a more inner block. Initialize ADDR by LOWER_OFFSET only if it was
590 found by bfd_get_section_by_name.
591 * symfile.h (struct section_addr_info) <sectindex>: New comment.
595 * NEWS: Add new "[...] since 7.1" section. Rename the "[...] since
596 7.0 section" into "Changes in 7.1".
600 GDB 7.1 branch created (branch timestamp: 2010-02-18 20:00 UTC)
601 * version.in: Bump version to 7.1.50.20100219-cvs.
605 * mi/mi-main.c (mi_cmd_exec_jump): Drop unneeded `return'.
606 * symfile.c (symfile_map_offsets_to_segments): Fix assertion.
610 * NEWS: Add Python API Improvements section.
614 * NEWS: Correct typo.
618 * objfiles.c (gdb_bfd_ref): Handle abfd==NULL.
622 * symfile.c (build_section_addr_info_from_objfile): Include sections
623 only if they are SEC_ALLOC or SEC_LOAD.
628 * solib-svr4.c (enable_break): Check size of CORE_ADDR instead
629 of ULONGEST for address size.
633 * NEWS: Add C++ improvements section.
637 * python/python-internal.h [!WITH_THREAD] (PyGILState_Release,
638 PyThreadState_Swap): Avoid "statement with no effect" warning.
642 * solib-svr4.c (enable_break <target_auxv_search>): New variable
643 addr_bit. Adjust LOAD_ADDR sign for cross-arch inferiors.
648 * avr-tdep.c (avr_scan_prologue): Convert an if statement to a
649 gdb_assert. Fix info->size for SIG prologue.
653 * infcmd.c (show_inferior_tty_command): Check for NULL.
654 Correct output message.
658 * linespec.c (decode_line_1): Handle FILE:FUNCTION even if
659 FUNCTION contains parentheses. Improve removal of a trailing
664 * gcore.c (do_bfd_delete_cleanup): New function.
665 (gcore_command): Use it. Discard the cleanup after success.
666 (gcore_copy_callback): Delete dead code.
670 * symfile.c (addr_info_make_relative): Always use
675 * NEWS: Added entry for namespace fixes.
679 * dwarf2read.c (guess_structure_name): Allocate name on the
684 * c-typeprint.c (c_type_print_base): Reverse order of test.
688 * solib-svr4.c (LM_ADDR_CHECK): New variable minpagesize. Optionally
689 initialize it from ELF BFD. Extend the prelink condition by it.
693 * defs.h (parse_pid_to_attach): New.
694 * utils.c (parse_pid_to_attach): New.
695 * darwin-nat.c (darwin_attach): Replace ARGS parsing by parse_pid.
696 * gnu-nat.c (gnu_attach): Likewise.
697 * nto-procfs.c (procfs_attach): Likewise.
698 * procfs.c (procfs_attach): Likewise.
699 * windows-nat.c (windows_attach): Likewise.
700 * inf-ptrace.c (inf_ptrace_attach): Likewise. Remove variable dummy.
701 * inf-ttrace.c (inf_ttrace_attach): Likewise.
702 * remote.c (extended_remote_attach_1): Likewise. New comment on getpid
707 * MAINTAINERS: Add myself for write after approval privileges.
711 * solib-svr4.c: (LM_ADDR_CHECK): Move variable align to a more inner
716 * solib-svr4.c: (LM_ADDR_CHECK): Print successful prelink adjustment
717 only if INFO_VERBOSE.
721 * mi/mi-main.c: Added the --reverse flag to the following MI
722 commands: exec-continue, exec-finish, exec-next, exec-step,
723 exec-next-instruction, exec-step-instruction. This is to
724 support reverse execution over the MI interface to gdb.
728 * tracepoint.c (_initialize_tracepoint): Specify that the address
729 range of `tfind outsize' is exclusive, and that the address range
730 of `tfind range' is inclusive, in the commands' help strings.
734 Spurious "dll not found" error messages on x64-windows.
735 * windows-nat.c: Add include of complaints.h.
736 (handle_unload_dll): Change dll-not-found error into a complaint.
740 * breakpoint.c (allocate_bp_location): Use bp_loc_other for
741 bp_tracepoint and bp_fast_tracepoint, not
742 bp_loc_software_breakpoint.
743 (update_global_location_list): Tracepoints are never duplicates of
748 * breakpoint.c (break_command_really): Change return type to int.
749 Return false if no breakpoint was created, true otherwise.
750 (trace_command): Don't set the tracepoint count if no tracepoint
752 (ftrace_command): Ditto.
753 (create_tracepoint_from_upload): Bail out if the tracepoint wasn't
754 created in the breakpoints table.
759 * solib-svr4.c (LM_ADDR_CHECK): New comment on PPC-aware condition.
763 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out if
764 the offset value isn't of integral type.
768 * breakpoint.c (delete_breakpoint) <bpt->related_breakpoint != NULL>:
773 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out on
774 non-subscriptable types.
775 * valarith.c (binop_types_user_defined_p): New, abstracted out
777 (binop_user_defined_p): ... this.
778 * value.h (binop_types_user_defined_p): Declare.
782 * tracepoint.c (tfile_open): Remove spurious discard_cleanups.
783 Merge uploaded TSVs before merging uploaded tracepoints.
787 * ax-gdb.c (gen_deref): Don't allow dereferencing void pointers.
791 * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Add extra
792 whitespace character after a dot in comment.
793 (mi_cmd_stack_list_arguments, mi_cmd_stack_list_variables):
795 (list_args_or_locals): For the 'all' (that is
796 -stack-list-variables) case, always output list of tuples.
797 Output 'arg' field if variable is argument.
801 * parser-defs.h (parser_debug): Declare.
802 * parse.c (_initialize_parse): Install "debug parser" set/show
804 (parser_debug): New global.
805 (show_parserdebug): New function.
806 * c-exp.y (c_parse): Set yydebug.
810 * target-descriptions.c (tdesc_type): Add TDESC_TYPE_I387_EXT,
811 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
812 (tdesc_predefined_types): Add i387_ext, i386_eflags and
814 (tdesc_find_type): New.
815 (tdesc_gdb_type): Use tdesc_find_type. Handle TDESC_TYPE_I387_EXT,
816 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
818 * target-descriptions.h (tdesc_find_type): New.
822 * gdb-gdb.py: Comment fix.
826 * machoread.c (macho_symfile_relocate): New function.
827 (macho_sym_fns): Use macho_symfile_relocate instead of
828 default_symfile_relocate.
829 (macho_oso_data): New type.
830 (current_oso): New variable.
831 (macho_add_oso_symfile): Do not compute section_addr_info, but
832 instead set vma of sections.
833 Do not set SYMFILE_VERBOSE to call symbol_file_add_from_bfd.
834 Set and clear current_oso.
838 Wrong type description for tagged type parameter.
839 * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: When noside is
840 EVAL_AVOID_SIDE_EFFECTS, also handle the case when type is a
841 reference to a tagged type.
845 * objfiles.c (objfile_separate_debug_iterate): Do not iterate on
846 brothers of the parent.
852 * valops.c (search_struct_field): Make 'name' const.
853 (search_struct_method): Likewise.
854 (find_method_list): Make 'method' const.
855 (value_struct_elt): Make 'name' and 'err' const.
856 (value_find_oload_method_list): Make 'method' const.
857 (find_overload_match): Make 'name' const.
858 * eval.c (evaluate_subexp_standard): New locals function,
860 <OP_FUNCALL>: Handle OP_SCOPE specially.
864 * infrun.c (handle_inferior_event): Do not look up regcache
865 for exited processes.
870 * valarith.c (value_ptrdiff): Added a test for a zero type length,
871 warn if found, and assume length = 1.
876 * cp-valprint.c (cp_print_value_fields) Fix use of obstacks.
877 cp_print_static_field) Fix use of obstacks.
881 * linux-nat.c (linux_nat_resume): In non-stop, also only tag
882 resumed LWPs as resumed.
883 (linux_nat_wait_1): If there's no resumed LWP in the set of LWPs
884 we're waiting for, bail out with TARGET_WAITKIND_IGNORE, instead
885 of throwing an internal error. If an LWP of a process we're not
886 waiting for reports a signal, don't force collecting a SIGSTOP,
887 and if it was breakpoint hit in non-stop mode, cancel it. Don't
888 go through all LWPs cancelling breakpoints in non-stop mode.
889 (resume_stopped_resumed_lwps): New.
890 (linux_nat_wait): Use it.
894 * features/Makefile (WHICH): Add i386/i386, i386/i386-linux,
895 i386/amd64 and i386/amd64-linux.
896 (i386/i386-expedite): New.
897 (i386/i386-linux-expedite): Likewise.
898 (i386/amd64-expedite):Likewise.
899 (i386/amd64-linux-expedite): Likewise.
900 ($(outdir)/i386/i386-linux.dat): Likewise.
901 ($(outdir)/i386/amd64.dat): Likewise.
902 ($(outdir)/i386/amd64-linux.dat): Likewise.
904 * features/i386/32bit-core.xml: New.
905 * features/i386/32bit-linux.xml: Likewise.
906 * features/i386/32bit-sse.xml: Likewise.
907 * features/i386/64bit-core.xml: Likewise.
908 * features/i386/64bit-linux.xml: Likewise.
909 * features/i386/64bit-sse.xml: Likewise.
910 * features/i386/i386-linux.xml: Likewise.
911 * features/i386/i386.xml: Likewise.
912 * features/i386/amd64-linux.xml: Likewise.
913 * features/i386/amd64.xml: Likewise.
914 * features/i386/i386-linux.c: Likewise.
915 * features/i386/i386.c: Likewise.
916 * features/i386/amd64-linux.c: Likewise.
917 * features/i386/amd64.c: Likewise.
922 * cp-support.h: Added char* alias element to using_direct data
924 (cp_add_using): Added char* alias argument.
925 (cp_add_using_directive): Ditto.
926 * cp-namespace.c: Updated with the above changes.
927 (cp_lookup_symbol_imports): Check for aliases.
928 * dwarf2read.c (read_import_statement): Figure out local alias
929 for the import and pass it on to cp_add_using.
930 (read_namespace): Pass alias argument to cp_add_using.
934 * defs.h (gdb_bfd_errmsg): New extern.
935 * exec.c (exec_file_attach): Change bfd_errmsg to
937 * utils.c (AMBIGUOUS_MESS1): New macro.
938 (AMBIGUOUS_MESS2): New macro.
939 (gdb_bfd_errmsg): New function.
943 * solib-svr4.c (enable_break): Add comment.
947 * moxie-tdep.c (moxie_analyze_prologue): Fail protocol analysis
952 * valops.c (search_struct_field): Account for
953 value_embedded_offset. Fix check for virtual base past the end of
954 the object. Use value_copy when making a slice of the value.
959 * tui/tui-interp.c (tui_init): Call tui_initialize_readline
960 only if gdb_stdout is a tty.
964 * target-descriptions.c: Include "osabi.h".
965 (maint_print_c_tdesc_cmd): Generate set_tdesc_osabi for valid
970 * machoread.c (macho_add_oso): Renamed to macho_register_oso.
971 (macho_symtab_read): Adjust calls to macho_add_oso.
972 (macho_oso_symfile): Renamed to macho_symfile_read_all_oso.
973 (macho_symfile_read): Adjust call to macho_oso_symfile.
974 (macho_new_init): Move this function after declarations.
975 (macho_symfile_init): Ditto.
976 * darwin-nat-info.c (darwin_lib_gdb_ports): Remove.
977 * darwin-nat.c (darwin_lookup_task): Remove unused prototype.
981 Include MI command in remotelog.
983 * mi/mi-main.c (mi_execute_command): Call target_log_command.
987 * remote.c (remote_state): Remove gdbarch.
988 (init_remote_state): Don't set gdbarch.
989 (remote_query_supported): Pass target_gdbarch instead of
990 rs->gdbarch to gdbarch_qsupported.
994 * gdbarch.sh: Add qsupported.
996 * gdbarch.c: Regenerated.
997 * gdbarch.h: Likewise.
999 * remote.c (remote_state): Add gdbarch.
1000 (init_remote_state): Set gdbarch.
1001 (remote_query_supported): Support gdbarch_qsupported.
1005 * amd64fbsd-nat.c (amd64fbsd_supply_pcb): Also check for
1006 __FreeBSD_kernel_version.
1010 * symfile.h (struct sym_fns): Add sym_relocate field.
1011 (default_symfile_relocate): New prototype.
1012 (symfile_relocate_debug_section): First argument is now an objfile.
1013 * symfile.c (default_symfile_relocate): Rename from
1014 symfile_relocate_debug_section, first argument is now an objfile.
1015 (symfile_relocate_debug_section): New function.
1016 * coffread.c (coff_sym_fns): Set sym_relocate field.
1017 * somread.c (som_sym_fns): Ditto.
1018 * mipsread.c (ecoff_sym_fns): Ditto.
1019 * machoread.c (macho_sym_fns): Ditto.
1020 * elfread.c (elf_sym_fns): Ditto.
1021 * dwarf2read.c (dwarf2_read_section): Ditto.
1022 * xcoffread.c (xcoff_sym_fns): Ditto.
1023 * dbxread.c (aout_sym_fns): Ditto.
1024 (dbx_psymtab_to_symtab): Adjust call to symfile_relocate_debug_section.
1025 (elfstab_build_psymtabs): Ditto.
1029 * defs.h (MAX_REGISTER_SIZE): Increase to 32.
1033 * valops.c (value_cast_structs): Try downcasting using the RTTI
1038 * gnu-v2-abi.c: Don't include gnu-v2-abi.h.
1039 (gnuv2_baseclass_offset): Now static.
1040 * Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h.
1041 * gnu-v2-abi.h: Remove.
1045 * m2-typeprint.c (m2_record_fields): Don't use
1047 * gdbtypes.h (TYPE_DECLARED_CLASS): New macro.
1048 (struct main_type) <flag_declared_class>: New field.
1049 (struct cplus_struct_type) <declared_type>: Remove.
1050 <ntemplate_args>: Move earlier.
1051 (DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT)
1052 (DECLARED_TYPE_TEMPLATE): Remove.
1053 (TYPE_DECLARED_TYPE): Remove.
1054 * gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE.
1055 * dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS.
1056 * c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not
1061 PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
1062 * valops.c (search_struct_field): Compute nbases after calling
1064 (check_field): Call CHECK_TYPEDEF.
1065 * cp-valprint.c (cp_print_value): Pass correct address to
1066 baseclass_offset. Fix check for virtual base past the end of the
1067 object. Don't offset address passed to cp_print_value_fields or
1068 apply_val_pretty_printer.
1069 (cp_print_value_fields): Fix call to val_print.
1070 (cp_print_value_fields_rtti): New function.
1071 * c-valprint.c (c_val_print): Use cp_print_value_fields_rtti.
1072 * p-valprint.c (pascal_object_print_value_fields): Fix call to
1074 * python/py-prettyprint.c (apply_val_pretty_printer): Add embedded
1076 * language.h (struct language_defn) <la_val_print>: Document.
1077 * c-lang.h (cp_print_value_fields_rtti): Declare.
1082 * linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New.
1083 (linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU].
1084 (linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New.
1089 * i386-tdep.c (i386_frame_cache): Assume valid anonymous
1090 functions use a frame pointer.
1094 * solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert
1095 by a conditional setting DYN_ADDR. Use DYN_ADDR.
1096 * config/djgpp/fnchange.lst: Add translations for
1097 symbol-without-target_section.exp and symbol-without-target_section.c.
1101 * gdbarch.sh: Set LANG and LC_ALL to C, not c.
1102 (remote_breakpoint_for_pc): Correct invalid_p check.
1103 * gdbarch.c: Regenerated.
1107 * arm-tdep.c (arm_find_mapping_symbol): New function, from
1109 (arm_pc_is_thumb): Use arm_find_mapping_symbol.
1110 (extend_buffer_earlier): New function.
1111 (MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants.
1112 (arm_adjust_breakpoint_address): New function.
1113 (arm_gdbarch_init): Register arm_adjust_breakpoint_address.
1117 * arm-linux-tdep.c (arm_linux_thumb2_be_breakpoint)
1118 (arm_linux_thumb2_le_breakpoint): New constants.
1119 (arm_linux_init_abi): Set thumb2_breakpoint and
1120 thumb2_breakpoint_size.
1121 * arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions.
1122 (thumb_get_next_pc): Add a comment. Rename IT to ITSTATE.
1123 Implement support for single stepping through IT blocks if
1124 a 32-bit Thumb breakpoint instruction is available.
1125 (arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction
1126 is available, use it when needed.
1127 (arm_remote_breakpoint_from_pc): New function.
1128 (arm_gdbarch_init): Register arm_remote_breakpoint_from_pc.
1129 * arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint
1130 comment. Add thumb2_breakpoint and thumb2_breakpoint_size.
1134 * arch-utils.c (default_remote_breakpoint_from_pc): New function.
1135 * arch-utils.h (default_remote_breakpoint_from_pc): Declare.
1136 * gdbarch.c, gdbarch.h: Regenerated.
1137 * gdbarch.sh (remote_breakpoint_from_pc): New architecture method.
1138 * remote.c (remote_insert_breakpoint, remote_insert_hw_breakpoint): Use
1139 gdbarch_remote_breakpoint_from_pc.
1143 * infrun.c (prepare_to_proceed): Handle other signals which might
1145 (handle_inferior_event): Move the check for unusual breakpoint
1150 amd64 - function returning record with field straddling 2 registers.
1151 * amd64-tdep.c (amd_classify_aggregate): Handle the case of
1152 a record of length <= 16 in which a field straddles the two
1157 Implement return values on amd64-windows.
1158 * amd64-windows-tdep.c: #include gdbcore.h and regcache.h.
1159 (amd64_windows_return_value): New function.
1160 (amd64_windows_init_abi): Call set_gdbarch_return_value with
1161 amd64_windows_return_value.
1165 amd64-windows: 32 bytes allocated on stack by caller for integer
1166 parameter registers.
1167 * i386-tdep.h (struct gdbarch_tdep): Add new field
1168 integer_param_regs_saved_in_caller_frame.
1169 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
1170 tdep->integer_param_regs_saved_in_caller_frame to 1.
1171 * amd64-tdep.c (amd64_push_dummy_call): Allocate some memory on
1172 stack if tdep->integer_param_regs_saved_in_caller_frame is set.
1176 amd64-windows: memory args passed by pointer during function calls.
1177 * i386-tdep.h (gdbarch_tdep): Add field memory_args_by_pointer.
1178 * amd64-tdep.c (amd64_push_arguments): Add handling of architectures
1179 where tdep->memory_args_by_pointer is non-zero.
1180 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
1181 tdep->memory_args_by_pointer to 1.
1185 amd64-windows: Integer parameters in function calls.
1186 * i386-tdep.h (enum amd64_reg_class): New, moved here from
1188 (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs,
1189 call_dummy_integer_regs, and classify.
1190 * amd64-tdep.h (amd64_classify): Add declaration.
1191 * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant.
1192 (amd64_reg_class): Delete, moved to i386-tdep.h.
1193 (amd64_classify): Make non-static. Move declaration to amd64-tdep.h.
1194 Replace call to amd64_classify by call to tdep->classify.
1195 (amd64_push_arguments): Get the list of registers to use for
1196 passing integer parameters from the gdbarch tdep structure,
1197 rather than using a hardcoded one. Replace calls to amd64_classify
1198 by calls to tdep->classify.
1199 (amd64_push_dummy_call): Get the register number used for
1200 the "hidden" argument from tdep->call_dummy_integer_regs.
1201 (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs
1202 and tdep->call_dummy_integer_regs. Set tdep->classify.
1203 * amd64-windows-tdep.c: Add include of gdbtypes.h.
1204 (amd64_windows_dummy_call_integer_regs): New static global.
1205 (amd64_windows_classify): New function.
1206 (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs
1207 tdep->call_dummy_integer_regs and tdep->classify.
1211 * regcache.c (regcache_xmalloc): Add aspace argument. Use it
1212 for the new regcache. All callers updated.
1213 (regcache_cpy, regcache_cpy_no_passthrough): Do not set aspace here.
1214 (get_thread_arch_regcache): Do not set aspace here.
1215 * regcache.h (regcache_xmalloc): Update declaration.
1217 * frame.c, infcall.c, ppc-linux-tdep.c: Calls to
1218 regcache_xmalloc updated.
1222 Another -Wunused-function error in procfs.c (sparc-solaris)
1223 * procfs.c (insert_dbx_link_breakpoint): Delete declaration. Move up.
1224 Only define if SYS_syssgi is defined.
1225 (remove_dbx_link_breakpoint): Delete declaration. Move up.
1226 (dbx_link_addr, insert_dbx_link_bpt_in_file)
1227 (insert_dbx_link_bpt_in_region): Move up. Only define if SYS_syssgi
1232 * windows-nat.c (windows_initialization_done): New variable.
1233 (get_windows_debug_event): Issue error when process dies before
1234 completely initializing.
1235 (do_initial_windows_stuff): Set flag to indicate when we are done with
1236 the initial steps of attaching to the child.
1240 * symtab.h (struct symbol <symtab>): New comment on NULL values.
1244 * solib-svr4.c (solib_break_names): Add __dl_rtld_db_dlactivity.
1246 * breakpoint.c (bpstat_stop_status): Delete useless code.
1250 * printcmd.c (display_uses_solib_p): Remove variable section. Access
1251 objfile via SYMBOL_SYMTAB.
1256 * eval.c (evaluate_subexp_for_address) <UNOP_IND>: Call
1257 coerce_array on result.
1261 * cp-namespace.c (cp_lookup_symbol_namespace): Added
1262 search_parent argument.
1263 (cp_add_using): Initialize 'searched' field.
1264 (reset_directive_searched): New function.
1265 * cp-support.h: Add 'searched' field to using_direct struct.
1266 (cp_lookup_symbol_imports): Ditto.
1267 * cp-namespace.c (cp_lookup_symbol_imports): Ditto.
1268 Perform recursive search.
1269 Implement non parent search.
1270 * valops.c (value_maybe_namespace_elt): Updated.
1275 * dwarf2read.c (read_lexical_block_scope): Create blocks for
1276 scopes which contain using directives even if they contain no
1278 * symtab.c (lookup_symbol_aux): Pass lowest level block to
1279 la_lookup_symbol_nonlocal.
1280 * cp-namespace.c (cp_lookup_symbol_nonlocal): call
1281 cp_lookup_symbol_namespace.
1282 (cp_lookup_symbol_namespace): Perform an import lookup at every
1284 (cp_lookup_symbol_imports): New function.
1285 (cp_lookup_symbol_in_namespace): New function.
1290 * c-valprint.c (c_val_print): Fix test of extract_unsigned_integer
1295 * configure.ac: Only use host_os part when disabling TUI on osf.
1296 Use test to check variables, prefix strings with x.
1297 * configure: Regenerate.
1299 * solib-osf.c (osf_current_sos): Initialize tail.
1303 * windows-nat.c (windows_continue): Use %x to print thread id.
1304 (get_windows_debug_event): Ditto.
1309 * dwarf2read.c (quirk_gcc_member_function_pointer): Change return
1310 type and arguments. Use smash_to_methodptr_type.
1311 (read_structure_type): Call quirk_gcc_member_function_pointer
1313 * gdbtypes.h (smash_to_methodptr_type): Declare.
1314 * gdbtypes.c (smash_to_methodptr_type): New function.
1315 (lookup_methodptr_type): Use it.
1320 * symtab.h (lookup_minimal_symbol_and_objfile): Declare.
1321 * minsyms.c (lookup_minimal_symbol_and_objfile): New function.
1322 * glibc-tdep.c (find_minsym_and_objfile): Remove.
1323 (glibc_skip_solib_resolver): Use
1324 lookup_minimal_symbol_and_objfile.
1328 * inflow.c (check_syscall): Guard by #if clause for GO32 and
1334 * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and
1335 BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case.
1336 * dwarf2expr.c (new_dwarf_expr_context): Allocate
1337 dwarf_stack_values, not CORE_ADDRs.
1338 (execute_stack_op): Change DW_OP_div and comparison operators to
1339 use signed operands.
1343 Per-inferior args and tty and environment.
1345 * infcmd.c (inferior_args): Rename to ...
1346 (inferior_args_scratch): ... this.
1347 (inferior_io_terminal): Rename to ...
1348 (inferior_io_terminal_scratch): ... this.
1349 (inferior_argc, inferior_argv): Remove.
1350 (set_inferior_io_terminal, get_inferior_io_terminal): Store
1351 inside current_inferior().
1352 (set_inferior_tty_command, show_inferior_tty_command): New.
1353 (get_inferior_args, set_inferior_args): Store inside
1355 (notice_args_set): Likewise and rename to...
1356 (set_args_command): ... this.
1357 (set_inferior_args_vector): Likewise.
1358 (notice_args_read): Rename to...
1359 (show_args_command): ...new.
1360 (tty_command): Remove.
1361 (run_command_1): Don't free old args, as they are freed by
1362 set_inferior_arg now.
1363 (run_no_args_command): Likewise.
1364 (inferior_environ): Remove.
1365 (run_command_1): Use environment of the current inferior.
1366 (environment_info, set_environment_command)
1367 (unset_environment_command, path_info, path_command): Likewise.
1368 (_initialize_infcmd): Adjust for function and variable renames.
1369 Do not init inferior_environ.
1370 * inferior.h (set_inferior_arg): Adjust prototype.
1371 (struct inferior): New fields args, argc, argv, terminal, environment.
1372 (inferior_environ): Remove declaration.
1373 * inferior.c (free_inferior): Free new fields.
1374 (add_inferior_silent): Initialize 'environment' field.
1375 * main.c (captured_main): Set arguments only after the initial
1376 inferior has been created. Set set_inferior_io_terminal,
1378 * mi/mi-main.c (mi_cmd_env_path): Use environment of the current
1380 (_initialize_mi_cmd_env): Adjust for disappearance of global
1382 * solib.c (solib_find): Use environment of the current inferior.
1386 * varobj.c (varobj_add_child, install_dynamic_child): Wrap into #if
1388 (instantiate_pretty_printer): Move HAVE_PYTHON outside of the function.
1392 Get rid of ada-lang.c:function_name_from_pc.
1393 * ada-lang.c: Add "stack.h" #include.
1394 (function_name_from_pc): Delete.
1395 (is_known_support_routine): Replace call to function_name_from_pc
1396 by call to find_frame_funname.
1397 (ada_unhandled_exception_name_addr_from_raise): Likewise.
1402 * dwarf2read.c (read_partial_die): Allocate partial DIE's name on
1407 * top.c (stop_sig, float_handler, do_nothing): Remove.
1411 * breakpoint.c (watchpoint_check): Check the call
1412 gdbarch_in_function_epilogue_p before calling frame_find_by_id.
1414 * config/djgpp/fnchange.lst: Add translations for
1415 watchpoint-cond-gone.exp, watchpoint-cond-gone.c and
1416 watchpoint-cond-gone-stripped.c.
1421 * dwarf2read.c (partial_die_parent_scope): Put enumeration type
1422 into parent scope, and enumerator into grandparent scope.
1426 * NEWS: Add entry for "set/show ada trust-PAD-over-XVS" commands.
1430 * configure.host: Make x86_64-*-solaris2.1[0-9]* an alias of
1431 i[34567]86-*-solaris2.1[0-9]*.
1432 * configure.tgt: Likewise.
1436 * NEWS: Document the source command enhancement allowing it
1437 to load Python scripts. Document the "set/show script-extension"
1442 Add -Wunused-function to compile flags.
1443 * configure.ac: Add -Wunused-function to build_warnings.
1444 * configure: Regenerate.
1448 "delete" ada-lex.c:input function, not used.
1449 * ada-lex.l: #define YY_NO_INPUT.
1453 Delete free_named_symtabs and associated cleanup.
1454 * symfile.h (free_named_symtabs): Delete declaration.
1455 * symfile.c: Remove some commented out code (clear_symtab_users_once).
1456 (cashier_psymtab): Comment function out.
1458 (free_named_symtabs): Delete.
1459 * coffread.c (coff_end_symtab): Remove call to free_named_symtabs.
1460 * dbxread.c (end_psymtab): Likewise.
1461 * dwarf2read.c (process_psymtab_comp_unit): Ditto.
1462 * exec.c (exec_close_1): Ditto.
1463 * xcoffread.c (xcoff_end_psymtab): Likewise.
1467 * stack.c (print_block_frame_labels): Comment function out.
1471 Delete unused or undefined functions.
1472 * breakpoint.c (ep_parse_optional_filename): Delete.
1473 * dcache.c (dcache_write_line): Remove declaration.
1474 * infrun.c (build_infrun): Remove declaration.
1475 * tracepoint.c (tracepoint_save_command): Remove declaration.
1476 * linux-nat.c (init_lwp_list): Delete. No longer used.
1477 * event-loop.c (check_async_signal_handlers): Delete declaration.
1478 * infrun.c (init_execution_control_state): Delete.
1479 (proceed): Update comment to avoid mentioning
1480 init_execution_control_state.
1481 * target.c (kill_or_be_killed, nosupport_runtime): Delete.
1482 * ada-lang.c (ada_to_static_fixed_value): Delete.
1483 * scm-lang.c (evaluate_subexp_scm): Delete declaration.
1484 * cp-namespace.c (cp_copy_usings): Delete.
1485 * xml-syscall.c (xml_number_of_syscalls): Delete.
1486 * progspace.c (find_program_space_by_num): Delete.
1487 * inflow.c (handle_sigio): Delete declaration.
1488 * hppa-tdep.c (hppa_alignof): Delete.
1489 * mipsnbsd-tdep.c (mipsnbsd_sigtramp_offset)
1490 (mipsnbsd_core_osabi_sniffer): Delete.
1495 * c-exp.y (REINTERPRET_CAST, DYNAMIC_CAST, STATIC_CAST)
1496 (CONST_CAST): New tokens.
1497 (exp): Add new productions.
1498 (ident_tokens): Add const_cast, dynamic_cast, static_cast, and
1500 (is_cast_operator): New function.
1501 (yylex): Handle cast operators specially.
1502 * eval.c (evaluate_subexp_standard) <UNOP_DYNAMIC_CAST,
1503 UNOP_REINTERPRET_CAST>: New cases.
1504 * expprint.c (print_subexp_standard): Likewise.
1505 (op_name_standard): Likewise.
1506 (dump_subexp_body_standard): Likewise.
1507 * parse.c (operator_length_standard): Likewise.
1508 * expression.h (enum exp_opcode): New constants UNOP_DYNAMIC_CAST,
1509 UNOP_REINTERPRET_CAST.
1510 * gdbtypes.c (class_types_same_p): New function.
1511 (is_ancestor): Use it.
1512 (is_public_ancestor): New function.
1513 (is_unique_ancestor_worker): Likewise.
1514 (is_unique_ancestor): Likewise.
1515 * gdbtypes.h (class_types_same_p, is_public_ancestor)
1516 (is_unique_ancestor): Declare.
1517 * valops.c (value_reinterpret_cast): New function.
1518 (dynamic_cast_check_1): Likewise.
1519 (dynamic_cast_check_2): Likewise.
1520 (value_dynamic_cast): Likewise.
1521 * value.h (value_reinterpret_cast, value_dynamic_cast): Declare.
1525 Fix build failure when building without Python support.
1526 * python/python.c: Always include exceptions.h, even when HAVE_PYTHON
1531 Use XVS field type instead of doing a parallel lookup.
1532 * ada-lang.c (ada_get_base_type): Follow the XVS field type
1533 if it is a reference type instead of doing a type lookup using
1538 Trust PAD types instead of using PAD___XVS.
1539 * ada-lang.c (trust_pad_over_xvs): New static variable.
1540 (ada_is_aligner_type): If !trust_pad_over_xvs and there is a
1541 parallel XVS type, follow the XVS type instead of the PAD type.
1542 (unwrap_value): Make sure that there is no parallel XVE type
1543 before returning the value as is.
1544 (set_ada_list, show_ada_list): New static variables.
1545 (set_ada_command, show_ada_command): New functions.
1546 (_initialize_ada_language): Add new "set/show ada" prefix commands.
1547 Add new "set/show ada trust-PAD-over-XVS" setting.
1552 Allow "source" to load python scripts.
1553 * exceptions.h (enum errors): Add UNSUPPORTED_ERROR.
1554 * python/python.c (source_python_script): New function.
1555 * python/python.h (source_python_script): Add declaration.
1556 * cli/cli-cmds.c: #include exceptions.h and python/python.h.
1557 (script_ext_off, script_ext_soft, script_ext_strict)
1558 (script_ext_enums, script_ext_mode): New static constants.
1559 (show_script_ext_mode, find_and_open_script): New functions.
1560 (source_script): Enhance to handle Python scripts.
1561 (init_cli_cmds): Add set/show script-extension commands.
1565 * tracepoint.h (struct trace_status): Use unsigned long long
1567 * tracepoint.c (trace_status_command): Fix printf directive.
1568 (trace_save_command): Check fwrite returns, fix printf directive.
1569 (trace_filename): New global.
1570 (tfile_open): Set it, check read returns.
1571 (tfile_close): Free trace_filename.
1572 (tfile_get_traceframe_address): Check read returns.
1573 (tfile_trace_find): Ditto.
1574 (tfile_fetch_registers): Ditto.
1575 (tfile_xfer_partial): Ditto.
1576 (tfile_get_trace_state_variable_value): Ditto.
1580 Add trace file support.
1581 * tracepoint.h (enum trace_stop_reason): New enum.
1582 (struct trace_status): New struct.
1583 (parse_trace_status): Declare.
1584 (struct uploaded_tp): Move here from remote.c,
1585 add fields for actions.
1586 (struct uploaded_tsv): New struct.
1587 * tracepoint.c (tfile_ops): New target vector.
1588 (trace_fd): New global.
1589 (tfile_open): New function.
1590 (tfile_close): New function.
1591 (tfile_files_info): New function.
1592 (tfile_get_trace_status): New function.
1593 (tfile_get_traceframe_address): New function.
1594 (tfile_trace_find): New function.
1595 (tfile_fetch_registers): New function.
1596 (tfile_xfer_partial): New function.
1597 (tfile_get_trace_state_variable_value): New function.
1598 (init_tfile_ops): New function.
1599 (_initialize_tracepoint): Call it, add tfile target.
1600 (trace_status): New global.
1601 (current_trace_status): New function.
1602 (trace_running_p): Remove, change all users to get from
1603 current_trace_status()->running.
1604 (get_trace_status): Remove.
1605 (trace_status_command): Call target_get_trace_status directly,
1606 report more detail including tracing stop reasons.
1607 (trace_find_command): Always allow tfind on a file.
1608 (trace_find_pc_command): Ditto.
1609 (trace_find_tracepoint_command): Ditto.
1610 (trace_find_line_command): Ditto.
1611 (trace_find_range_command): Ditto.
1612 (trace_find_outside_command): Ditto.
1613 (trace_frames_offset, cur_offset): Declare as off_t.
1614 (trace_regblock_size): Rename from reg_size, update users.
1615 (parse_trace_status): New function.
1616 (tfile_interp_line): New function.
1617 (disconnect_or_stop_tracing): Ensure current trace
1618 status before asking what to do.
1619 (stop_reason_names): New global.
1620 (trace_save_command): New command.
1621 (get_uploaded_tp): Move here from remote.c.
1622 (find_matching_tracepoint): Ditto.
1623 (merge_uploaded_tracepoints): New function.
1624 (parse_trace_status): Use stop_reason_names.
1625 (_initialize_tracepoint): Define tsave command.
1626 * target.h (target_ops): New fields to_save_trace_data,
1627 to_upload_tracepoints, to_upload_trace_state_variables,
1628 to_get_raw_trace_data, change to_get_trace_status
1629 to take a pointer to a status struct.
1630 (target_save_trace_data): New macro.
1631 (target_upload_tracepoints): New macro.
1632 (target_upload_trace_state_variables): New macro.
1633 (target_get_raw_trace_data): New macro.
1634 * target.c (update_current_target): Add new methods, change
1635 signature of to_get_trace_status.
1636 * remote.c (hex2bin): Make globally visible.
1638 (remote_download_trace_state_variable): Download name also.
1639 (remote_get_trace_status): Update parameter, use
1641 (remote_save_trace_data): New function.
1642 (remote_upload_tracepoints): New function.
1643 (remote_upload_trace_state_variables): New function.
1644 (remote_get_raw_trace_data): New function.
1645 (remote_start_remote): Use them.
1646 (_initialize_remote_ops): Add operations.
1647 * ax-gdb.c: Include breakpoint.h.
1648 * breakpoint.c (create_tracepoint_from_upload): Use
1649 break_command_really, return tracepoint, warn about unimplemented
1651 * NEWS: Mention trace file addition.
1655 Fix compilation warning on gcc-3.4.
1656 * exec.c (print_section_info): Move the `displacement' variable
1657 initialization to its declaration.
1661 * gdb-gdb.py (StructMainTypePrettyPrinter): Fix TYPE_CODE_RANGE
1666 "info tasks" broken by typedefs in ATCB type definitions.
1667 * ada-lang.c (ada_template_to_fixed_record_type_1): Add call to
1668 ada_check_typedef before retrieving the length of the type for
1673 Do not use name-based lookup for unconstrained packed arrays.
1674 * ada-lang.c (find_parallel_type_by_descriptive_type):
1675 Limit the fallback to name-based lookups to the case where
1676 the type is a constrained packed array.
1680 Enhance gdb-gdb.py to handle main_type.type_specific.
1681 * gdb-gdb.py: Print the type-specific part of struct main_type.
1685 * configure.ac (AC_CHECK_FUNCS): Check for setrlimit and getrlimit.
1686 * configure: Regenerate.
1687 * config.in: Regenerate.
1688 * utils.c: Include sys/resource.h.
1689 (dump_core, can_dump_core): New.
1690 (internal_vproblem): Update the comment. Check can_dump_core while
1691 setting dump_core_p. Replace two abort calls by dump_core calls.
1696 * NEWS: Document the PIE support.
1700 * linux-tdep.c: Remove includes gdbcore.h, observer.h and elf-bfd.h.
1701 (check_is_pie_binary, _initialize_linux_tdep): Remove.
1705 * solib-svr4.c (svr4_exec_displacement): New comment for entry_point.
1706 Replace exec_entry_point call by bfd_get_start_address.
1710 Support Valgrind attachments broken by the PIE support.
1711 * auxv.c: Include gdbcore.h.
1712 (procfs_xfer_auxv): Make static. Reduce its comment. Drop its
1713 parameters ops, object and annex. Remove their assertions.
1714 (ld_so_xfer_auxv, memory_xfer_auxv): New function.
1715 * auxv.h (procfs_xfer_auxv): Remove comment. Rename to ...
1716 (memory_xfer_auxv): ... here.
1717 * linux-nat.c (linux_xfer_partial): Rename procfs_xfer_auxv to
1719 * procfs.c (procfs_xfer_partial): Likewise.
1720 * solib-svr4.c (svr4_relocate_main_executable): New prototype.
1721 (svr4_special_symbol_handling): Call svr4_relocate_main_executable.
1722 (svr4_solib_create_inferior_hook): Conditionalize the
1723 svr4_relocate_main_executable call.
1727 * solib-svr4.c (scan_dyntag): Remove variable dyn_addr. New variable
1728 target_section. Find SECT in current_target_sections, gdb_assert it.
1729 (elf_lookup_lib_symbol): Pass the binary file if given symfile_objfile.
1731 * symtab.c (lookup_objfile_from_block): Return the binary file instead
1732 of separate debug info file.
1736 Support PIEs with no symfile_objfile.
1737 * exec.c (print_section_info <abfd == exec_bfd>): Relocate Entry point.
1738 * solib-svr4.c (svr4_relocate_main_executable <exec_bfd>): New block.
1742 * solib-svr4.c (svr4_relocate_main_executable): Move the static exec
1744 (svr4_static_exec_displacement): ... a new function.
1745 (svr4_exec_displacement): New function.
1746 (svr4_relocate_main_executable): Call svr4_exec_displacement. Allocate
1747 new_offsets using alloca now. Remove variable old_chain and changed.
1748 Call objfile_relocate unconditionally now.
1752 * gdbtypes.c (arch_flags_type): Fix comment.
1753 * gdbtypes.h (arch_composite_type): Fix comment.
1757 * machoread.c (macho_add_oso_symfile): Add symfile_flags parameter.
1758 Call xstrdup for abfd->filename. Pass symfile_flags and objfile flags
1759 to symbol_file_add_from_bfd. Add OSO as separate objfile.
1760 (macho_oso_symfile): Add symfile_flags parameter. Pass it to
1761 macho_add_oso_symfile.
1762 (macho_symfile_read): Pass symfile_flags to macho_oso_symfile.
1766 Tru64: Dead threads are never deleted.
1767 * dec-thread.c (dec_thread_ptid_is_alive): New function.
1768 (dec_thread_count_gdb_threads): Fix counter increment.
1769 (dec_thread_add_gdb_thread): Fix *listp increment.
1770 (resync_thread_list): Fix bug in deletion of dead threads that
1771 caused all threads to be deleted, instead of just the dead ones.
1777 * python/python-internal.h: Add lazy_string_object_type
1779 (create_lazy_string_object, gdbpy_initialize_lazy_string)
1780 (gdbpy_is_lazystring, gdbpy_extract_lazy_string): Define.
1781 * python/py-value.c (valpy_lazy_string): New function.
1782 (convert_value_from_python): Add lazy string conversion.
1783 * python/py-prettyprint.c (pretty_print_one_value): Check if
1784 return is also a lazy string.
1785 (print_string_repr): Add lazy string printing branch.
1786 (print_children): Likewise.
1787 * python/py-lazy-string.c: New file. Implement lazy strings.
1788 * python/python.c (_initialize_python): Call
1789 gdbpy_initialize_lazy_string.
1790 * varobj.c (value_get_print_value): Add lazy string printing
1791 branch. Account for encoding.
1792 * c-lang.c (c_printstr): Account for new encoding argument. If
1793 encoding is NULL, find encoding suited for type, otherwise use
1795 * language.h (language_defn): Add encoding argument.
1796 (LA_PRINT_STRING): Likewise.
1797 * language.c (unk_lang_printstr): Update to reflect new encoding
1798 argument to language_defn.
1799 * ada-lang.h (ada_printstr): Likewise.
1800 * c-lang.h (c_printstr): Likewise.
1801 * p-lang.h (pascal_printstr);
1802 * f-lang.c (f_printstr): Likewise.
1803 * m2-lang.c (m2_printstr): Likewise.
1804 * objc-lang.c (objc_printstr): Likewise.
1805 * p-lang.c (pascal_printstr): Likewise.
1806 * scm-lang.c (scm_printstr): Likewise.
1807 * c-valprint.c (c_val_print): Update LA_PRINT_STRING call for
1809 * ada-valprint.c (ada_printstr): Likewise.
1810 * f-valprint.c (f_val_print): Likewise
1811 * m2-valprint.c (m2_val_print): Likewise.
1812 * p-valprint.c (pascal_val_print): Likewise.
1813 * expprint.c (print_subexp_standard): Likewise.
1814 * valprint.c (val_print_string): Likewise.
1815 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-lazy-string.
1816 (SUBDIR_PYTHON_SRCS): Likewise.
1817 (py-lazy-string.o): New rule.
1821 * mi/mi-main.c (list_available_thread_groups): Avoid "may be used
1822 uninitialized" warning from gcc on local `tree'.
1826 Implement core awareness.
1828 * bcache.c (compare_ints): Remove
1829 (print_percentage): Use compare_positive_ints.
1830 * defs.h (compare_positive_ints): Declare.
1831 * linux-nat.h (struct lin_lwp): New field core.
1832 (linux_nat_core_of_thread_1): Declare.
1833 * linux-nat.c (add_lwp): Init the 'core' field.
1834 (linux_nat_wait_1): Record the core.
1835 (linux_nat_core_of_thread_1, linux_nat_core_of_thread): New.
1836 (linux_nat_add_target): Register the above.
1837 * linux-thread-db.c (update_thread_core): New.
1838 (thread_db_find_new_threads): Update core information for
1840 * remote.c (struct private_thread_info): New.
1841 (free_private_thread_info, demand_private_info): New.
1842 (PACKET_qXfer_threads, use_osdata_threads): New.
1843 (struct thread_item, threads_parsing_context
1844 (start_thread, end_thread, thread_attributes)
1845 (thread_children, threads_children, threads_elements): New.
1846 (remote_threads_info): Try qXfer:threads before anything
1848 (remote_protocol_packets): Register qXfer:threads.
1849 (remote_open_1): Init use_osdata_threads.
1850 (struct stop_reply): New field 'core'.
1851 (remote_parse_stop_reply): Parse core number.
1852 (process_stop_reply): Record core number.
1853 (remote_xfer_partial): Handle qXfer:threads.
1854 (remote_core_of_thread): New.
1855 (init_remote_ops): Register remote_core_of_thread.
1856 (_initialize_remote): Register qXfer:read.
1857 * target.c (target_core_of_thread): New
1858 * target.h (enum target_object): New value TARGET_OBJECT_THREADS.
1859 (struct target_ops): New field to_core_of_threads.
1860 (target_core_of_thread): Declare.
1861 * gdbthread.h (struct thread_info): New field private_dtor.
1862 * thread.c (print_thread_info): Report the core.
1863 * ui-out.c (MAX_UI_OUT_LEVELS): Increase.
1864 * utils.c (compare_positive_ints): New.
1865 * features/threads.dtd: New.
1866 * mi/mi-interp.c (mi_on_normal_stop): Report the core.
1867 * mi/mi-main.c (struct collect_cores_data, collect_cores)
1868 (do_nothing, free_vector_of_osdata_items)
1869 (splay_tree_int_comparator, free_splay_tree): New.
1870 (print_one_inferior_data): Implemented printing of selected
1871 inferiors. Collect and print cores.
1872 (output_cores): New.
1873 (mi_cmd_list_thread_groups): Support --recurse. Permit specifying
1874 thread groups together with --available.
1878 * configure: Regenerate (for _STRUCTURED_PROC).
1882 Delete dead function.
1883 * ada-lang.c (extract_string): Delete. No longer used.
1887 Fix -Wunused warning in dec-thread.c.
1888 * dec-thread.c (dec_thread_count_gdb_threads)
1889 (dec_thread_add_gdb_thread): Prevent -Wunused warning.
1893 * ada-valprint.c (ada_print_floating): Remove trailing space.
1897 Add support for DW_AT_GNAT_descriptive_type.
1898 * gdbtypes.h (enum type_specific_kind): New enum.
1899 (struct main_type) [type_specific_field]: New component.
1900 [type_specific]: Add new component "gnat_stuff".
1901 (struct gnat_aux_type): New type.
1902 (INIT_CPLUS_SPECIFIC): Also set TYPE_SPECIFIC_FIELD (type).
1903 (HAVE_CPLUS_STRUCT): Also check TYPE_SPECIFIC_FIELD (type).
1904 (gnat_aux_default, allocate_gnat_aux_type): Add declaration.
1905 (INIT_GNAT_SPECIFIC, ALLOCATE_GNAT_AUX_TYPE, HAVE_GNAT_AUX_INFO)
1906 (TYPE_SPECIFIC_FIELD): New macros.
1907 (TYPE_CPLUS_SPECIFIC): Return cplus_struct_default if the given
1908 type does not hold any cplus-specific data.
1909 (TYPE_RAW_CPLUS_SPECIFIC): New macro.
1910 (TYPE_GNAT_SPECIFIC, TYPE_DESCRIPTIVE_TYPE): New macros.
1911 (TYPE_IS_OPAQUE): Use HAVE_CPLUS_STRUCT to check if type has
1912 cplus-specific data.
1913 * gdbtypes.c (allocate_cplus_struct_type): Minor stylistic rewrite.
1914 Set new component TYPE_SPECIFIC_FIELD (type).
1915 (gnat_aux_default): New constant.
1916 (allocate_gnat_aux_type): New function.
1917 (init_type): Add initialization the type-specific stuff for
1918 TYPE_CODE_FLT and TYPE_CODE_FUNC types.
1919 (print_gnat_stuff): New function.
1920 (recursive_dump_type): Use HAVE_CPLUS_STRUCT to check for cplus-
1921 specific data. Adjust code that prints the contents of the
1922 type-specific union using the TYPE_SPECIFIC_FIELD value.
1923 * dwarf2read.c (dwarf2_attach_fields_to_type): Do not allocate
1924 the type cplus stuff for Ada types.
1925 (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
1926 Error out if these routines are called with an Ada type.
1927 (read_structure_type, read_array_type, read_subrange_type):
1928 Add call to set_descriptive_type.
1929 (set_die_type): Initialize the gnat-specific data if necessary.
1930 (need_gnat_info, die_descriptive_type, set_descriptive_type):
1932 * ada-lang.c (decode_constrained_packed_array_type): Use
1933 decode_constrained_packed_array_type instead of doing a standard
1934 lookup to locate a parallel type.
1935 (find_parallel_type_by_descriptive_type): New function.
1936 (ada_find_parallel_type_with_name): New function.
1937 (ada_find_parallel_type): Reimplement using
1938 ada_find_parallel_type_with_name.
1939 * ada-valprint.c (print_field_values): Use HAVE_CPLUS_STRUCT
1940 to check if type has a cplus stuff.
1941 * linespec.c (total_number_of_methods): Likewise.
1942 * mdebugread.c (new_type): Likewise.
1946 * NEWS: Document the 0b binary number prefix parsing.
1950 * objfiles.c (objfile_relocate1): Change the return type to int.
1951 Describe the new return value. Return non-zero if data changed.
1952 (objfile_relocate): New variable changed. Set it. Call
1953 breakpoint_re_set depending on CHANGED.
1957 Implement binary numbers parsing.
1958 * c-exp.y (parse_number): New case 'b' and 'B'.
1963 * solib.c (info_sharedlibrary_command): Replace
1964 objfile_has_partial_symbols and objfile_has_full_symbols calls by
1965 objfile_has_symbols.
1969 * NEWS: Document the improvements made to the mips-irix port.
1973 Fix the documentation of valprint.c:value_print.
1974 * valprint.c (value_print): Update the function description to
1975 mention that the syntax of the output follows the current_language,
1980 Fix displacement of separate debug info files.
1981 * objfiles.c (objfile_relocate): Rename to ...
1982 (objfile_relocate1): ... here and make it static. Extend the comment.
1983 (objfile_relocate): New function.
1984 * solib-spu.c (spu_relocate_main_executable): Explicitly check if
1985 SYMFILE_OBJFILE is NULL. Remove variables objfile and old_chain.
1986 Remove following of SEPARATE_DEBUG_OBJFILE. new_offsets is now
1987 allocated using alloca.
1988 * symfile.c (copy_section_addr_info): Remove.
1989 (build_section_addr_info_from_objfile): Make it global. New variables
1990 addr_bit and mask, use them.
1991 * symfile.h (build_section_addr_info_from_objfile): New prototype.
1992 (copy_section_addr_info): Remove.
1996 Signal unwinder for mips-irix N32.
1997 * mips-irix-tdep.c: #include mips-tdep.h, trad-frame.h, and
1999 (SIGTRAMP_FRAME_SIZE, SIGCONTEXT_PC_OFF, SIGCONTEXT_REGS_OFF)
2000 (SIGCONTEXT_FPREGS_OFF, SIGCONTEXT_FPCSR_OFF, SIGCONTEXT_HI_OFF)
2001 (SIGCONTEXT_LO_OFF): New macros.
2002 (mips_irix_n32_tramp_frame_init): New function.
2003 (mips_irix_n32_tramp_frame): New static constant.
2004 (mips_irix_init_abi): Prepend the mips_irix_n32_tramp_frame unwinder.
2008 Breakpoint in shared library does not work on mips-irix.
2009 * procfs.c: #include "observer.h".
2010 (procfs_inferior_created): New function, moving here the code
2011 which unsets the syssgi syscall-exit notifications.
2012 (procfs_create_inferior): Remove the code which unsets the syssgi
2013 syscall-exit notifications. It is too early to do this here.
2014 (_initialize_procfs): Attach the procfs_inferior_created observer.
2018 Wrong return convention for arrays (mips-irix).
2019 * mips-tdep.c (mips_n32n64_return_value): Arrays whose size is
2020 128 bits or smaller are returned the same way as structs
2021 and unions of the the same size.
2025 Cannot set the PC on mips-irix.
2026 * irix5-nat.c (fill_gregset): Check regno against the raw PC
2027 register number, no the cooked one.
2031 Error while loading core file on mips-irix.
2032 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing
2033 if debugging from a core file.
2037 GDB hangs when attaching to process on mips-irix.
2038 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if
2039 attaching to a process.
2043 Use the correct breakpoint instruction on mips-irix.
2044 * mips-tdep.c (mips_breakpoint_from_pc): Add new static variable
2045 containing the correct breakpoint instruction to use on mips-irix.
2046 Use it when the osabi is GDB_OSABI_IRIX.
2050 -Wunused warning in procfs.c (mips-irix only).
2051 * procfs.c (gdb_praddset, gdb_prdelset): New macros. Use them
2052 throughout instead of using praddset and prdelset respectively.
2056 GDB crash while stepping into function.
2057 * infrun.c (handle_inferior_event): Refetch the current frame
2058 after handling what.main_action, in case that pointer became
2063 Fix build failure of solaris-hosted cross debuggers.
2064 * ada-valprint.c, parse.c: Include defs.h before including ctype.h.
2068 Fix build failure on sparc-solaris.
2069 * procfs.c: (procfs_do_thread_registers) Use elfcore_write_lwpstatus.
2073 Move some symfile code into subroutines.
2074 * symfile.h (relative_addr_info_to_section_offsets)
2075 (addr_info_make_relative): New prototypes.
2076 * symfile.c (default_symfile_offsets): Move a part to ...
2077 (relative_addr_info_to_section_offsets): ... this new function.
2078 (default_symfile_offsets): Call it.
2079 (syms_from_objfile <!mainline && addrs && addrs->other[0].name>): Move
2081 (addr_info_make_relative): ... this new function.
2085 Add from_tty to solib_create_inferior_hook.
2086 * infcmd.c (post_create_inferior): Move solib_add after
2087 solib_create_inferior_hook. Pass from_tty to
2088 solib_create_inferior_hook. Call solib_add and SOLIB_ADD with
2089 0 from_tty and comment why.
2090 * infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0.
2091 * linux-nat.c (linux_child_follow_fork): Likewise.
2092 * nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise.
2093 * solib-darwin.c (darwin_solib_create_inferior_hook): New parameter
2095 * solib-frv.c (frv_solib_create_inferior_hook): Likewise.
2096 * solib-irix.c (irix_solib_create_inferior_hook): Likewise.
2097 * solib-null.c (null_solib_create_inferior_hook): Likewise.
2098 * solib-osf.c (osf_solib_create_inferior_hook): Likewise.
2099 * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
2100 * solib-som.c (som_solib_create_inferior_hook): Likewise.
2101 * solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty.
2102 Pass it to svr4_so_ops.solib_create_inferior_hook.
2103 * solib-sunos.c (sunos_solib_create_inferior_hook): New parameter
2105 * solib-svr4.c (enable_break): New parameter from_tty. Pass it to
2107 (svr4_solib_create_inferior_hook): New parameter from_tty. Pass it to
2109 * solib-target.c (solib_target_solib_create_inferior_hook): New
2111 * solib.c (solib_create_inferior_hook): New parameter from_tty. Pass
2112 it to ops->solib_create_inferior_hook.
2113 (reload_shared_libraries): Pass from_tty to solib_create_inferior_hook.
2114 Move solib_add after solib_create_inferior_hook, call it now with
2115 from_tty as 0. New comment there.
2116 * solib.h (solib_create_inferior_hook): New parameter from_tty.
2117 * solist.h (struct target_so_ops <solib_create_inferior_hook>):
2123 * infrun.c (handle_inferior_event): Use get_thread_regcache
2124 with events ptid, not get_current_regcache.
2128 GDB crash with empty executable name (MinGW).
2129 * source.c (openp): Add assert that parameter string is not NULL.
2130 if parameter string is an empty string, then return with a failure
2135 Get rid of support for VAX Floats.
2136 * ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix)
2137 (ada_vax_float_print_function): Delete.
2138 * ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix)
2139 (ada_vax_float_print_function): Delete.
2140 * ada-typeprint.c (print_vax_floating_point_type): Delete.
2141 (ada_print_type): Remove support for VAX floats.
2142 * ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
2146 * stabsread.c (read_args): Handle zero arguments.
2150 Cannot find in-tree libiconv.a after reconfigure.
2151 * acinclude.m4 (AM_ICONV): If we find an in-tree libiconv.a
2152 that we can use, then cache the path to this archive.
2153 * configure: Regenerate.
2157 Make tracepoint operations go through target vector.
2158 * target.h (enum trace_find_type): New enum.
2159 (struct target_ops): New fields to_trace_init,
2160 to_download_tracepoint, to_download_trace_state_variable,
2161 to_trace_set_readonly_regions, to_trace_start, to_get_trace_status,
2162 to_trace_stop, to_trace_find, to_get_trace_state_variable_value,
2163 to_set_disconnected_tracing.
2164 (target_trace_init): New macro.
2165 (target_download_tracepoint): New macro.
2166 (target_download_trace_state_variable): New macro.
2167 (target_trace_start): New macro.
2168 (target_trace_set_readonly_regions): New macro.
2169 (target_get_trace_status): New macro.
2170 (target_trace_stop): New macro.
2171 (target_trace_find): New macro.
2172 (target_get_trace_state_variable_value): New macro.
2173 (target_set_disconnected_tracing): New macro.
2174 * target.c (update_current_target): Inherit and set defaults for
2175 tracepoint operations.
2176 * tracepoint.c (default_collect): Make globally visible.
2177 (target_is_remote): Remove, along with all calls.
2178 (tvariables_info): Call target_get_trace_state_variable_value.
2179 (remote_set_transparent_ranges): Remove.
2180 (trace_start_command): Call target_trace_init,
2181 target_download_tracepoint, etc.
2182 (download_tracepoint): Remove.
2183 (trace_stop_command): Simplify.
2184 (stop_tracing): Call target_trace_stop.
2185 (get_trace_status): Call target_get_trace_status.
2186 (trace_status_command): Add case for targets that cannot trace.
2187 (finish_tfind_command): Change to take numerical arguments, call
2189 (trace_find_command): Update call to finish_tfind_command.
2190 (trace_find_pc_command): Ditto.
2191 (trace_find_tracepoint_command): Ditto.
2192 (trace_find_line_command): Ditto.
2193 (trace_find_range_command): Ditto.
2194 (trace_find_outside_command): Ditto.
2195 (set_disconnected_tracing_value): Call
2196 target_set_disconnected_tracing.
2197 * remote.c: Add protocol encoding bits from tracepoint.c.
2198 (trace_error): Move from tracepoint.c.
2199 (remote_get_noisy_reply): Ditto.
2200 (free_actions_list_cleanup_wrapper): Ditto.
2201 (free_actions_list): Ditto.
2202 (remote_trace_init): New function.
2203 (remote_download_tracepoint): New function.
2204 (remote_download_trace_state_variable): New function.
2205 (remote_trace_set_readonly_regions): New function.
2206 (remote_trace_start): New function.
2207 (remote_get_trace_status): New function.
2208 (remote_trace_stop): New function.
2209 (remote_trace_find): New function.
2210 (remote_download_trace_state_variable): New function.
2211 (remote_set_disconnected_tracing): New function.
2212 (init_remote_ops): Add tracepoint operations.
2214 * tracepoint.c (trace_dump_command): Don't decr_pc_after_break.
2218 * symfile.c (build_section_addr_info_from_objfile): New function.
2219 (symbol_file_add_separate): Don't use offsets from objfile but
2224 Support disconnected tracing.
2225 * infcmd.c (detach_command): Ask whether to stop tracing.
2226 * cli/cli-cmds.c (quit_command): Ditto.
2227 * breakpoint.h (struct breakpoint): New field number_on_target.
2228 * breakpoint.c (create_tracepoint_from_upload): New function.
2229 (get_tracepoint_by_number_on_target): New function.
2230 * remote.c (struct remote): New field disconnected_tracing.
2231 (remote_disconnected_tracing_feature): New function.
2232 (remote_protocol_features): Add DisconnectedTracing.
2233 (struct uploaded_tp): New struct.
2234 (uploaded_tps): New global.
2235 (get_uploaded_tp): New function.
2236 (find_matching_tracepoint): New function.
2237 (remote_get_tracing_state): New function.
2238 (remote_start_remote): Call it.
2239 * tracepoint.c (disconnected_tracing): New global.
2240 (trace_start_command): Initialize number_on_target.
2241 (stop_tracing): New function, split out from...
2242 (trace_stop_command): Call stop_tracing.
2243 (get_trace_status): New function, split out from...
2244 (trace_status_command): Call get_trace_status, add info on
2245 disconnection behavior.
2246 (disconnect_or_stop_tracing): New function.
2247 (finish_tfind_command): Translate from number on target.
2248 (trace_find_tracepoint_command): Translate to number on target.
2249 (send_disconnected_tracing_value): New function.
2250 (set_disconnected_tracing): New function.
2251 (_initialize_tracepoint): Add disconnected-tracing variable.
2252 * NEWS: Mention disconnected tracing.
2256 * symtab.c (lookup_global_symbol_from_objfile): Rename objfile
2257 parameter to main_objfile. Iterate on all separate debug objfiles.
2258 * symfile.h (symbol_file_add_separate)
2259 (find_separate_debug_file_by_debuglink): Remove parameter names.
2260 * symfile.c (symbol_file_add_separate): Use add_separate_objfile.
2261 (reread_symbols): Use free_objfile_separate_debug.
2262 * objfiles.h (struct objfile): Add separate_debug_objfile_link.
2264 (objfile_separate_debug_iterate, add_separate_debug_objfile)
2265 (free_objfile_separate_debug): New prototypes.
2266 * objfiles.c (objfile_separate_debug_iterate): New function.
2267 (add_separate_debug_objfile, free_objfile_separate_debug): New
2269 (free_objfile): Use free_objfile_separate_debug. Adjust for
2270 multiple separate debug objfile.
2271 (objfile_has_symbols): Adjust comment. Iterate on all separate
2273 * minsyms.c (lookup_minimal_symbol): Adjust for multiple separate
2275 (lookup_minimal_symbol_text): Ditto.
2276 (lookup_minimal_symbol_by_pc_name): Ditto.
2277 (lookup_minimal_symbol_solib_trampoline): Ditto.
2278 (lookup_minimal_symbol_by_pc_section_1): Iterate on all separate
2283 Add fast tracepoints.
2284 * arch-utils.h (default_fast_tracepoint_valid_at): Declare.
2285 * arch-utils.c (default_fast_tracepoint_valid_at): New function.
2286 * breakpoint.h (enum bptype): Add bp_fast_tracepoint.
2287 * breakpoint.c (tracepoint_type): New function.
2288 (ALL_TRACEPOINTS): Use it.
2289 (should_be_inserted): Ditto.
2290 (bpstat_check_location): Ditto.
2291 (print_one_breakpoint_location): Ditto.
2292 (user_settable_breakpoint): Ditto.
2293 (set_breakpoint_location_function): Ditto.
2294 (disable_breakpoints_in_shlibs): Ditto.
2295 (delete_trace_command): Ditto.
2296 (print_it_typical): Add bp_fast_tracepoint case.
2297 (bpstat_what): Ditto.
2298 (print_one_breakpoint_location): Ditto.
2299 (allocate_bp_location): Ditto.
2301 (breakpoint_re_set_one): Ditto.
2302 (disable_command): Ditto.
2303 (enable_command): Ditto.
2304 (check_fast_tracepoint_sals): New function.
2305 (break_command_really): Call it.
2306 (ftrace_command): New function.
2307 (_initialize_breakpoint): Add ftrace command.
2308 * gdbarch.sh (fast_tracepoint_valid_at): New.
2309 * gdbarch.h, gdbarch.c: Regenerate.
2310 * i386-tdep.c (i386_fast_tracepoint_valid_at): New function.
2311 (i386_gdbarch_init): Use it.
2312 * remote.c (struct remote_state): New field fast_tracepoints.
2313 (PACKET_FastTracepoints): New packet config type.
2314 (remote_fast_tracepoint_feature): New function.
2315 (remote_protocol_features): Add FastTracepoints.
2316 (remote_supports_fast_tracepoints): New function.
2317 (_initialize_remote): Add FastTracepoints.
2318 * tracepoint.c (download_tracepoint): Add fast tracepoint option.
2319 * NEWS: Mention fast tracepoints.
2323 * gdb-gdb.py: New file.
2327 * infrun.c (handle_inferior_event): Fix typo in comment.
2331 * symfile.c (syms_from_objfile): Remove the !MAINLINE conditional.
2335 * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
2337 (s390-linux32-expedite): Define.
2338 (s390-linux64-expedite): Define.
2339 (s390x-linux64-expedite): Define.
2340 * features/s390-acr.xml: New file.
2341 * features/s390-fpr.xml: New file.
2342 * features/s390-core32.xml: New file.
2343 * features/s390-core64.xml: New file.
2344 * features/s390x-core64.xml: New file.
2345 * features/s390-linux32.xml: New file.
2346 * features/s390-linux64.xml: New file.
2347 * features/s390x-linux64.xml: New file.
2348 * features/s390-linux32.c: New generated file.
2349 * features/s390-linux64.c: New generated file.
2350 * features/s390x-linux64.c: New generated file.
2352 * regformats/s390-linux32.dat: New generated file.
2353 * regformats/s390-linux64.dat: New generated file.
2354 * regformats/s390x-linux64.dat: New generated file.
2355 * regformats/reg-s390.dat: Remove.
2356 * regformats/reg-s390x.dat: Remove.
2358 * s390-nat.c: Include "auxv.h" and <elf.h>.
2359 (HWCAP_S390_HIGH_GPRS): Define if undefined.
2360 (s390_target_wordsize): New function.
2361 (s390_auxv_parse): Likewise.
2362 (s390_get_hwcap): Likewise.
2363 (s390_read_description): Likewise.
2364 (_initialize_s390_nat): Install s390_auxv_parse and
2365 s390_read_description.
2367 * s390-tdep.c: Include "features/s390-linux32.c",
2368 "features/s390-linux64.c", and "features/s390x-linux64.c".
2369 (struct gdbarch_tdep): Add gpr_full_regnum, pc_regnum, and cc_regnum.
2370 (s390_register_call_saved): New function.
2371 (s390_register_name): Remove.
2372 (s390_register_type): Remove.
2373 (s390_dwarf_regmap): Add lower half GPR pseudo DWARF CFI regnums.
2374 (s390_dwarf_reg_to_regnum): Remap GPR regnums to full GPRs.
2375 (s390_adjust_frame_regnum): Remap GPR regnums to lower halves for CFI.
2376 (s390_pseudo_register_name): New function.
2377 (s390_pseudo_register_type): New function.
2378 (s390_pseudo_register_read): Handle both 32-bit and 64-bit cases.
2379 Handle full GPR pesudos and varying pseudo register numbers.
2380 (s390_pseudo_register_write): Likewise
2381 (s390x_pseudo_register_read): Remove.
2382 (s390x_pseudo_register_write): Likewise.
2383 (s390_register_group): Remove.
2384 (s390_pseudo_register_group): New function.
2385 (s390_regmap_gregset): Add GPR upper halves.
2386 (s390x_regmap_gregset): Likewise.
2387 (s390_regmap_fpregset): Likewise.
2388 (s390_regmap_upper): New global variable.
2389 (s390_upper_regset): New global variable.
2390 (s390_upper_regset_sections): New global variable.
2391 (s390_regset_from_core_section): Handle GPR upper halves.
2392 (s390_core_read_description): New function.
2393 (s390_prologue_frame_unwind_cache): Set up ABI call-saved/clobbered
2394 register information. Handle varying pseudo register numbers.
2395 (s390_backchain_frame_unwind_cache): Likewise.
2396 (s390_frame_prev_register): Unwind full GPRs to show lower halves.
2397 (s390_stub_frame_unwind_cache): Handle varying pseudo register numbers.
2398 (s390_sigtramp_frame_unwind_cache): Unwind PSWM and PSWA as well as
2399 PC and CC pseudos. Unwind upper halves and full GPRs as appropriate.
2400 Handle varying pseudo register numbers.
2401 (s390_unwind_pc): Handle varying pseudo register numbers.
2402 (s390_dwarf2_prev_register): New function.
2403 (s390_dwarf2_frame_init_reg): Set up ABI call-saved/clobbered
2404 register information. Handle varying pseudo register numbers.
2405 Install s390_dwarf2_prev_register to unwind full GPRs.
2406 (s390_gdbarch_init): Handle target descriptions. Assign varying
2407 pseudo register numbers. Install s390_adjust_frame_regnum.
2408 (_initialize_s390_tdep): Initialize target descriptions.
2410 * s390-tdep.h (S390_R0_UPPER_REGNUM .. S390_R15_UPPER_REGNUM): Define.
2411 (S390_NUM_REGS): Redefine to include upper half registers.
2412 (S390_PC_REGNUM, S390_CC_REGNUM): Remove.
2413 (S390_NUM_PSEUDO_REGS, S390_NUM_TOTAL_REGS): Likewise.
2414 (tdesc_s390_linux32): Add declaration.
2415 (tdesc_s390_linux64): Likewise.
2416 (tdesc_s390x_linux64): Likewise.
2420 * regset.h (struct core_regset_section): Add HUMAN_NAME.
2421 * i386-linux-tdep.c (i386_linux_regset_sections): Fill in HUMAN_NAME.
2422 * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
2423 (ppc_linux_vmx_regset_sections): Likewise.
2424 (ppc_linux_fp_regset_sections): Likewise.
2426 * corelow.c (get_core_register_section): Constify arguments.
2427 (get_core_registers): Use gdbarch_core_regset_sections instead
2428 of hard-coded platform-specific register section names.
2432 * dwarf2loc.c (read_pieced_value): If a piece occupies part of
2433 a register, assume the least-significant part is used.
2434 (write_pieced_value): Likewise.
2438 * printcmd.c: Include "arch-utils.h".
2439 (do_one_display): Re-parse expression if current architecture changed.
2444 * gdbtypes.c (check_typedef): New comment on type length.
2445 * value.c (allocate_value_lazy): Remove the unused atype variable. New
2446 comment on type length.
2447 (value_primitive_field): Keep the original TYPE value, new comment.
2451 * cli/cli-script.c (process_next_line): Rename p1 as p_end and p2 as
2452 p_start. Change != comparisons to > and < comparisons.
2456 * cli/cli-script.c (process_next_line): Check P2 overrun.
2460 Update the copyright hearder to add year 2010 for most GDB files.
2464 Fix build failure in inf-ptrace.c.
2465 * inf-ptrace.c (inf_ptrace_follow_fork): Fix typo.
2469 * top.c (print_gdb_version): Update copyright year.
2473 Fix break *FUN'address thread NUM.
2474 * ada-lex.l (task): Expand rule to also match the thread keyword.
2478 Fix break *FUN'address task NUM.
2479 * ada-lex.l (task): New rule.
2480 * ada-lang.c (valid_task_id): Make sure the Ada task list has
2481 been built before using it.
2483 For older changes see ChangeLog-2009.
2489 version-control: never