3 * dwarf2read.c (guess_structure_name): Allocate name on the
8 * c-typeprint.c (c_type_print_base): Reverse order of test.
12 * solib-svr4.c (LM_ADDR_CHECK): New variable minpagesize. Optionally
13 initialize it from ELF BFD. Extend the prelink condition by it.
17 * defs.h (parse_pid_to_attach): New.
18 * utils.c (parse_pid_to_attach): New.
19 * darwin-nat.c (darwin_attach): Replace ARGS parsing by parse_pid.
20 * gnu-nat.c (gnu_attach): Likewise.
21 * nto-procfs.c (procfs_attach): Likewise.
22 * procfs.c (procfs_attach): Likewise.
23 * windows-nat.c (windows_attach): Likewise.
24 * inf-ptrace.c (inf_ptrace_attach): Likewise. Remove variable dummy.
25 * inf-ttrace.c (inf_ttrace_attach): Likewise.
26 * remote.c (extended_remote_attach_1): Likewise. New comment on getpid
31 * MAINTAINERS: Add myself for write after approval privileges.
35 * solib-svr4.c: (LM_ADDR_CHECK): Move variable align to a more inner
40 * solib-svr4.c: (LM_ADDR_CHECK): Print successful prelink adjustment
45 * mi/mi-main.c: Added the --reverse flag to the following MI
46 commands: exec-continue, exec-finish, exec-next, exec-step,
47 exec-next-instruction, exec-step-instruction. This is to
48 support reverse execution over the MI interface to gdb.
52 * tracepoint.c (_initialize_tracepoint): Specify that the address
53 range of `tfind outsize' is exclusive, and that the address range
54 of `tfind range' is inclusive, in the commands' help strings.
58 Spurious "dll not found" error messages on x64-windows.
59 * windows-nat.c: Add include of complaints.h.
60 (handle_unload_dll): Change dll-not-found error into a complaint.
64 * breakpoint.c (allocate_bp_location): Use bp_loc_other for
65 bp_tracepoint and bp_fast_tracepoint, not
66 bp_loc_software_breakpoint.
67 (update_global_location_list): Tracepoints are never duplicates of
72 * breakpoint.c (break_command_really): Change return type to int.
73 Return false if no breakpoint was created, true otherwise.
74 (trace_command): Don't set the tracepoint count if no tracepoint
76 (ftrace_command): Ditto.
77 (create_tracepoint_from_upload): Bail out if the tracepoint wasn't
78 created in the breakpoints table.
83 * solib-svr4.c (LM_ADDR_CHECK): New comment on PPC-aware condition.
87 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out if
88 the offset value isn't of integral type.
92 * breakpoint.c (delete_breakpoint) <bpt->related_breakpoint != NULL>:
97 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out on
98 non-subscriptable types.
99 * valarith.c (binop_types_user_defined_p): New, abstracted out
101 (binop_user_defined_p): ... this.
102 * value.h (binop_types_user_defined_p): Declare.
106 * tracepoint.c (tfile_open): Remove spurious discard_cleanups.
107 Merge uploaded TSVs before merging uploaded tracepoints.
111 * ax-gdb.c (gen_deref): Don't allow dereferencing void pointers.
115 * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Add extra
116 whitespace character after a dot in comment.
117 (mi_cmd_stack_list_arguments, mi_cmd_stack_list_variables):
119 (list_args_or_locals): For the 'all' (that is
120 -stack-list-variables) case, always output list of tuples.
121 Output 'arg' field if variable is argument.
125 * parser-defs.h (parser_debug): Declare.
126 * parse.c (_initialize_parse): Install "debug parser" set/show
128 (parser_debug): New global.
129 (show_parserdebug): New function.
130 * c-exp.y (c_parse): Set yydebug.
134 * target-descriptions.c (tdesc_type): Add TDESC_TYPE_I387_EXT,
135 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
136 (tdesc_predefined_types): Add i387_ext, i386_eflags and
138 (tdesc_find_type): New.
139 (tdesc_gdb_type): Use tdesc_find_type. Handle TDESC_TYPE_I387_EXT,
140 TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
142 * target-descriptions.h (tdesc_find_type): New.
146 * gdb-gdb.py: Comment fix.
150 * machoread.c (macho_symfile_relocate): New function.
151 (macho_sym_fns): Use macho_symfile_relocate instead of
152 default_symfile_relocate.
153 (macho_oso_data): New type.
154 (current_oso): New variable.
155 (macho_add_oso_symfile): Do not compute section_addr_info, but
156 instead set vma of sections.
157 Do not set SYMFILE_VERBOSE to call symbol_file_add_from_bfd.
158 Set and clear current_oso.
162 Wrong type description for tagged type parameter.
163 * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: When noside is
164 EVAL_AVOID_SIDE_EFFECTS, also handle the case when type is a
165 reference to a tagged type.
169 * objfiles.c (objfile_separate_debug_iterate): Do not iterate on
170 brothers of the parent.
176 * valops.c (search_struct_field): Make 'name' const.
177 (search_struct_method): Likewise.
178 (find_method_list): Make 'method' const.
179 (value_struct_elt): Make 'name' and 'err' const.
180 (value_find_oload_method_list): Make 'method' const.
181 (find_overload_match): Make 'name' const.
182 * eval.c (evaluate_subexp_standard): New locals function,
184 <OP_FUNCALL>: Handle OP_SCOPE specially.
188 * infrun.c (handle_inferior_event): Do not look up regcache
189 for exited processes.
194 * valarith.c (value_ptrdiff): Added a test for a zero type length,
195 warn if found, and assume length = 1.
200 * cp-valprint.c (cp_print_value_fields) Fix use of obstacks.
201 cp_print_static_field) Fix use of obstacks.
205 * linux-nat.c (linux_nat_resume): In non-stop, also only tag
206 resumed LWPs as resumed.
207 (linux_nat_wait_1): If there's no resumed LWP in the set of LWPs
208 we're waiting for, bail out with TARGET_WAITKIND_IGNORE, instead
209 of throwing an internal error. If an LWP of a process we're not
210 waiting for reports a signal, don't force collecting a SIGSTOP,
211 and if it was breakpoint hit in non-stop mode, cancel it. Don't
212 go through all LWPs cancelling breakpoints in non-stop mode.
213 (resume_stopped_resumed_lwps): New.
214 (linux_nat_wait): Use it.
218 * features/Makefile (WHICH): Add i386/i386, i386/i386-linux,
219 i386/amd64 and i386/amd64-linux.
220 (i386/i386-expedite): New.
221 (i386/i386-linux-expedite): Likewise.
222 (i386/amd64-expedite):Likewise.
223 (i386/amd64-linux-expedite): Likewise.
224 ($(outdir)/i386/i386-linux.dat): Likewise.
225 ($(outdir)/i386/amd64.dat): Likewise.
226 ($(outdir)/i386/amd64-linux.dat): Likewise.
228 * features/i386/32bit-core.xml: New.
229 * features/i386/32bit-linux.xml: Likewise.
230 * features/i386/32bit-sse.xml: Likewise.
231 * features/i386/64bit-core.xml: Likewise.
232 * features/i386/64bit-linux.xml: Likewise.
233 * features/i386/64bit-sse.xml: Likewise.
234 * features/i386/i386-linux.xml: Likewise.
235 * features/i386/i386.xml: Likewise.
236 * features/i386/amd64-linux.xml: Likewise.
237 * features/i386/amd64.xml: Likewise.
238 * features/i386/i386-linux.c: Likewise.
239 * features/i386/i386.c: Likewise.
240 * features/i386/amd64-linux.c: Likewise.
241 * features/i386/amd64.c: Likewise.
246 * cp-support.h: Added char* alias element to using_direct data
248 (cp_add_using): Added char* alias argument.
249 (cp_add_using_directive): Ditto.
250 * cp-namespace.c: Updated with the above changes.
251 (cp_lookup_symbol_imports): Check for aliases.
252 * dwarf2read.c (read_import_statement): Figure out local alias
253 for the import and pass it on to cp_add_using.
254 (read_namespace): Pass alias argument to cp_add_using.
258 * defs.h (gdb_bfd_errmsg): New extern.
259 * exec.c (exec_file_attach): Change bfd_errmsg to
261 * utils.c (AMBIGUOUS_MESS1): New macro.
262 (AMBIGUOUS_MESS2): New macro.
263 (gdb_bfd_errmsg): New function.
267 * solib-svr4.c (enable_break): Add comment.
271 * moxie-tdep.c (moxie_analyze_prologue): Fail protocol analysis
276 * valops.c (search_struct_field): Account for
277 value_embedded_offset. Fix check for virtual base past the end of
278 the object. Use value_copy when making a slice of the value.
283 * tui/tui-interp.c (tui_init): Call tui_initialize_readline
284 only if gdb_stdout is a tty.
288 * target-descriptions.c: Include "osabi.h".
289 (maint_print_c_tdesc_cmd): Generate set_tdesc_osabi for valid
294 * machoread.c (macho_add_oso): Renamed to macho_register_oso.
295 (macho_symtab_read): Adjust calls to macho_add_oso.
296 (macho_oso_symfile): Renamed to macho_symfile_read_all_oso.
297 (macho_symfile_read): Adjust call to macho_oso_symfile.
298 (macho_new_init): Move this function after declarations.
299 (macho_symfile_init): Ditto.
300 * darwin-nat-info.c (darwin_lib_gdb_ports): Remove.
301 * darwin-nat.c (darwin_lookup_task): Remove unused prototype.
305 Include MI command in remotelog.
307 * mi/mi-main.c (mi_execute_command): Call target_log_command.
311 * remote.c (remote_state): Remove gdbarch.
312 (init_remote_state): Don't set gdbarch.
313 (remote_query_supported): Pass target_gdbarch instead of
314 rs->gdbarch to gdbarch_qsupported.
318 * gdbarch.sh: Add qsupported.
320 * gdbarch.c: Regenerated.
321 * gdbarch.h: Likewise.
323 * remote.c (remote_state): Add gdbarch.
324 (init_remote_state): Set gdbarch.
325 (remote_query_supported): Support gdbarch_qsupported.
329 * amd64fbsd-nat.c (amd64fbsd_supply_pcb): Also check for
330 __FreeBSD_kernel_version.
334 * symfile.h (struct sym_fns): Add sym_relocate field.
335 (default_symfile_relocate): New prototype.
336 (symfile_relocate_debug_section): First argument is now an objfile.
337 * symfile.c (default_symfile_relocate): Rename from
338 symfile_relocate_debug_section, first argument is now an objfile.
339 (symfile_relocate_debug_section): New function.
340 * coffread.c (coff_sym_fns): Set sym_relocate field.
341 * somread.c (som_sym_fns): Ditto.
342 * mipsread.c (ecoff_sym_fns): Ditto.
343 * machoread.c (macho_sym_fns): Ditto.
344 * elfread.c (elf_sym_fns): Ditto.
345 * dwarf2read.c (dwarf2_read_section): Ditto.
346 * xcoffread.c (xcoff_sym_fns): Ditto.
347 * dbxread.c (aout_sym_fns): Ditto.
348 (dbx_psymtab_to_symtab): Adjust call to symfile_relocate_debug_section.
349 (elfstab_build_psymtabs): Ditto.
353 * defs.h (MAX_REGISTER_SIZE): Increase to 32.
357 * valops.c (value_cast_structs): Try downcasting using the RTTI
362 * gnu-v2-abi.c: Don't include gnu-v2-abi.h.
363 (gnuv2_baseclass_offset): Now static.
364 * Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h.
365 * gnu-v2-abi.h: Remove.
369 * m2-typeprint.c (m2_record_fields): Don't use
371 * gdbtypes.h (TYPE_DECLARED_CLASS): New macro.
372 (struct main_type) <flag_declared_class>: New field.
373 (struct cplus_struct_type) <declared_type>: Remove.
374 <ntemplate_args>: Move earlier.
375 (DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT)
376 (DECLARED_TYPE_TEMPLATE): Remove.
377 (TYPE_DECLARED_TYPE): Remove.
378 * gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE.
379 * dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS.
380 * c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not
385 PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890:
386 * valops.c (search_struct_field): Compute nbases after calling
388 (check_field): Call CHECK_TYPEDEF.
389 * cp-valprint.c (cp_print_value): Pass correct address to
390 baseclass_offset. Fix check for virtual base past the end of the
391 object. Don't offset address passed to cp_print_value_fields or
392 apply_val_pretty_printer.
393 (cp_print_value_fields): Fix call to val_print.
394 (cp_print_value_fields_rtti): New function.
395 * c-valprint.c (c_val_print): Use cp_print_value_fields_rtti.
396 * p-valprint.c (pascal_object_print_value_fields): Fix call to
398 * python/py-prettyprint.c (apply_val_pretty_printer): Add embedded
400 * language.h (struct language_defn) <la_val_print>: Document.
401 * c-lang.h (cp_print_value_fields_rtti): Declare.
406 * linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New.
407 (linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU].
408 (linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New.
413 * i386-tdep.c (i386_frame_cache): Assume valid anonymous
414 functions use a frame pointer.
418 * solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert
419 by a conditional setting DYN_ADDR. Use DYN_ADDR.
420 * config/djgpp/fnchange.lst: Add translations for
421 symbol-without-target_section.exp and symbol-without-target_section.c.
425 * gdbarch.sh: Set LANG and LC_ALL to C, not c.
426 (remote_breakpoint_for_pc): Correct invalid_p check.
427 * gdbarch.c: Regenerated.
431 * arm-tdep.c (arm_find_mapping_symbol): New function, from
433 (arm_pc_is_thumb): Use arm_find_mapping_symbol.
434 (extend_buffer_earlier): New function.
435 (MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants.
436 (arm_adjust_breakpoint_address): New function.
437 (arm_gdbarch_init): Register arm_adjust_breakpoint_address.
441 * arm-linux-tdep.c (arm_linux_thumb2_be_breakpoint)
442 (arm_linux_thumb2_le_breakpoint): New constants.
443 (arm_linux_init_abi): Set thumb2_breakpoint and
444 thumb2_breakpoint_size.
445 * arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions.
446 (thumb_get_next_pc): Add a comment. Rename IT to ITSTATE.
447 Implement support for single stepping through IT blocks if
448 a 32-bit Thumb breakpoint instruction is available.
449 (arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction
450 is available, use it when needed.
451 (arm_remote_breakpoint_from_pc): New function.
452 (arm_gdbarch_init): Register arm_remote_breakpoint_from_pc.
453 * arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint
454 comment. Add thumb2_breakpoint and thumb2_breakpoint_size.
458 * arch-utils.c (default_remote_breakpoint_from_pc): New function.
459 * arch-utils.h (default_remote_breakpoint_from_pc): Declare.
460 * gdbarch.c, gdbarch.h: Regenerated.
461 * gdbarch.sh (remote_breakpoint_from_pc): New architecture method.
462 * remote.c (remote_insert_breakpoint, remote_insert_hw_breakpoint): Use
463 gdbarch_remote_breakpoint_from_pc.
467 * infrun.c (prepare_to_proceed): Handle other signals which might
469 (handle_inferior_event): Move the check for unusual breakpoint
474 amd64 - function returning record with field straddling 2 registers.
475 * amd64-tdep.c (amd_classify_aggregate): Handle the case of
476 a record of length <= 16 in which a field straddles the two
481 Implement return values on amd64-windows.
482 * amd64-windows-tdep.c: #include gdbcore.h and regcache.h.
483 (amd64_windows_return_value): New function.
484 (amd64_windows_init_abi): Call set_gdbarch_return_value with
485 amd64_windows_return_value.
489 amd64-windows: 32 bytes allocated on stack by caller for integer
491 * i386-tdep.h (struct gdbarch_tdep): Add new field
492 integer_param_regs_saved_in_caller_frame.
493 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
494 tdep->integer_param_regs_saved_in_caller_frame to 1.
495 * amd64-tdep.c (amd64_push_dummy_call): Allocate some memory on
496 stack if tdep->integer_param_regs_saved_in_caller_frame is set.
500 amd64-windows: memory args passed by pointer during function calls.
501 * i386-tdep.h (gdbarch_tdep): Add field memory_args_by_pointer.
502 * amd64-tdep.c (amd64_push_arguments): Add handling of architectures
503 where tdep->memory_args_by_pointer is non-zero.
504 * amd64-windows-tdep.c (amd64_windows_init_abi): Set
505 tdep->memory_args_by_pointer to 1.
509 amd64-windows: Integer parameters in function calls.
510 * i386-tdep.h (enum amd64_reg_class): New, moved here from
512 (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs,
513 call_dummy_integer_regs, and classify.
514 * amd64-tdep.h (amd64_classify): Add declaration.
515 * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant.
516 (amd64_reg_class): Delete, moved to i386-tdep.h.
517 (amd64_classify): Make non-static. Move declaration to amd64-tdep.h.
518 Replace call to amd64_classify by call to tdep->classify.
519 (amd64_push_arguments): Get the list of registers to use for
520 passing integer parameters from the gdbarch tdep structure,
521 rather than using a hardcoded one. Replace calls to amd64_classify
522 by calls to tdep->classify.
523 (amd64_push_dummy_call): Get the register number used for
524 the "hidden" argument from tdep->call_dummy_integer_regs.
525 (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs
526 and tdep->call_dummy_integer_regs. Set tdep->classify.
527 * amd64-windows-tdep.c: Add include of gdbtypes.h.
528 (amd64_windows_dummy_call_integer_regs): New static global.
529 (amd64_windows_classify): New function.
530 (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs
531 tdep->call_dummy_integer_regs and tdep->classify.
535 * regcache.c (regcache_xmalloc): Add aspace argument. Use it
536 for the new regcache. All callers updated.
537 (regcache_cpy, regcache_cpy_no_passthrough): Do not set aspace here.
538 (get_thread_arch_regcache): Do not set aspace here.
539 * regcache.h (regcache_xmalloc): Update declaration.
541 * frame.c, infcall.c, ppc-linux-tdep.c: Calls to
542 regcache_xmalloc updated.
546 Another -Wunused-function error in procfs.c (sparc-solaris)
547 * procfs.c (insert_dbx_link_breakpoint): Delete declaration. Move up.
548 Only define if SYS_syssgi is defined.
549 (remove_dbx_link_breakpoint): Delete declaration. Move up.
550 (dbx_link_addr, insert_dbx_link_bpt_in_file)
551 (insert_dbx_link_bpt_in_region): Move up. Only define if SYS_syssgi
556 * windows-nat.c (windows_initialization_done): New variable.
557 (get_windows_debug_event): Issue error when process dies before
558 completely initializing.
559 (do_initial_windows_stuff): Set flag to indicate when we are done with
560 the initial steps of attaching to the child.
564 * symtab.h (struct symbol <symtab>): New comment on NULL values.
568 * solib-svr4.c (solib_break_names): Add __dl_rtld_db_dlactivity.
570 * breakpoint.c (bpstat_stop_status): Delete useless code.
574 * printcmd.c (display_uses_solib_p): Remove variable section. Access
575 objfile via SYMBOL_SYMTAB.
580 * eval.c (evaluate_subexp_for_address) <UNOP_IND>: Call
581 coerce_array on result.
585 * cp-namespace.c (cp_lookup_symbol_namespace): Added
586 search_parent argument.
587 (cp_add_using): Initialize 'searched' field.
588 (reset_directive_searched): New function.
589 * cp-support.h: Add 'searched' field to using_direct struct.
590 (cp_lookup_symbol_imports): Ditto.
591 * cp-namespace.c (cp_lookup_symbol_imports): Ditto.
592 Perform recursive search.
593 Implement non parent search.
594 * valops.c (value_maybe_namespace_elt): Updated.
599 * dwarf2read.c (read_lexical_block_scope): Create blocks for
600 scopes which contain using directives even if they contain no
602 * symtab.c (lookup_symbol_aux): Pass lowest level block to
603 la_lookup_symbol_nonlocal.
604 * cp-namespace.c (cp_lookup_symbol_nonlocal): call
605 cp_lookup_symbol_namespace.
606 (cp_lookup_symbol_namespace): Perform an import lookup at every
608 (cp_lookup_symbol_imports): New function.
609 (cp_lookup_symbol_in_namespace): New function.
614 * c-valprint.c (c_val_print): Fix test of extract_unsigned_integer
619 * configure.ac: Only use host_os part when disabling TUI on osf.
620 Use test to check variables, prefix strings with x.
621 * configure: Regenerate.
623 * solib-osf.c (osf_current_sos): Initialize tail.
627 * windows-nat.c (windows_continue): Use %x to print thread id.
628 (get_windows_debug_event): Ditto.
633 * dwarf2read.c (quirk_gcc_member_function_pointer): Change return
634 type and arguments. Use smash_to_methodptr_type.
635 (read_structure_type): Call quirk_gcc_member_function_pointer
637 * gdbtypes.h (smash_to_methodptr_type): Declare.
638 * gdbtypes.c (smash_to_methodptr_type): New function.
639 (lookup_methodptr_type): Use it.
644 * symtab.h (lookup_minimal_symbol_and_objfile): Declare.
645 * minsyms.c (lookup_minimal_symbol_and_objfile): New function.
646 * glibc-tdep.c (find_minsym_and_objfile): Remove.
647 (glibc_skip_solib_resolver): Use
648 lookup_minimal_symbol_and_objfile.
652 * inflow.c (check_syscall): Guard by #if clause for GO32 and
658 * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and
659 BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case.
660 * dwarf2expr.c (new_dwarf_expr_context): Allocate
661 dwarf_stack_values, not CORE_ADDRs.
662 (execute_stack_op): Change DW_OP_div and comparison operators to
667 Per-inferior args and tty and environment.
669 * infcmd.c (inferior_args): Rename to ...
670 (inferior_args_scratch): ... this.
671 (inferior_io_terminal): Rename to ...
672 (inferior_io_terminal_scratch): ... this.
673 (inferior_argc, inferior_argv): Remove.
674 (set_inferior_io_terminal, get_inferior_io_terminal): Store
675 inside current_inferior().
676 (set_inferior_tty_command, show_inferior_tty_command): New.
677 (get_inferior_args, set_inferior_args): Store inside
679 (notice_args_set): Likewise and rename to...
680 (set_args_command): ... this.
681 (set_inferior_args_vector): Likewise.
682 (notice_args_read): Rename to...
683 (show_args_command): ...new.
684 (tty_command): Remove.
685 (run_command_1): Don't free old args, as they are freed by
686 set_inferior_arg now.
687 (run_no_args_command): Likewise.
688 (inferior_environ): Remove.
689 (run_command_1): Use environment of the current inferior.
690 (environment_info, set_environment_command)
691 (unset_environment_command, path_info, path_command): Likewise.
692 (_initialize_infcmd): Adjust for function and variable renames.
693 Do not init inferior_environ.
694 * inferior.h (set_inferior_arg): Adjust prototype.
695 (struct inferior): New fields args, argc, argv, terminal, environment.
696 (inferior_environ): Remove declaration.
697 * inferior.c (free_inferior): Free new fields.
698 (add_inferior_silent): Initialize 'environment' field.
699 * main.c (captured_main): Set arguments only after the initial
700 inferior has been created. Set set_inferior_io_terminal,
702 * mi/mi-main.c (mi_cmd_env_path): Use environment of the current
704 (_initialize_mi_cmd_env): Adjust for disappearance of global
706 * solib.c (solib_find): Use environment of the current inferior.
710 * varobj.c (varobj_add_child, install_dynamic_child): Wrap into #if
712 (instantiate_pretty_printer): Move HAVE_PYTHON outside of the function.
716 Get rid of ada-lang.c:function_name_from_pc.
717 * ada-lang.c: Add "stack.h" #include.
718 (function_name_from_pc): Delete.
719 (is_known_support_routine): Replace call to function_name_from_pc
720 by call to find_frame_funname.
721 (ada_unhandled_exception_name_addr_from_raise): Likewise.
726 * dwarf2read.c (read_partial_die): Allocate partial DIE's name on
731 * top.c (stop_sig, float_handler, do_nothing): Remove.
735 * breakpoint.c (watchpoint_check): Check the call
736 gdbarch_in_function_epilogue_p before calling frame_find_by_id.
738 * config/djgpp/fnchange.lst: Add translations for
739 watchpoint-cond-gone.exp, watchpoint-cond-gone.c and
740 watchpoint-cond-gone-stripped.c.
745 * dwarf2read.c (partial_die_parent_scope): Put enumeration type
746 into parent scope, and enumerator into grandparent scope.
750 * NEWS: Add entry for "set/show ada trust-PAD-over-XVS" commands.
754 * configure.host: Make x86_64-*-solaris2.1[0-9]* an alias of
755 i[34567]86-*-solaris2.1[0-9]*.
756 * configure.tgt: Likewise.
760 * NEWS: Document the source command enhancement allowing it
761 to load Python scripts. Document the "set/show script-extension"
766 Add -Wunused-function to compile flags.
767 * configure.ac: Add -Wunused-function to build_warnings.
768 * configure: Regenerate.
772 "delete" ada-lex.c:input function, not used.
773 * ada-lex.l: #define YY_NO_INPUT.
777 Delete free_named_symtabs and associated cleanup.
778 * symfile.h (free_named_symtabs): Delete declaration.
779 * symfile.c: Remove some commented out code (clear_symtab_users_once).
780 (cashier_psymtab): Comment function out.
782 (free_named_symtabs): Delete.
783 * coffread.c (coff_end_symtab): Remove call to free_named_symtabs.
784 * dbxread.c (end_psymtab): Likewise.
785 * dwarf2read.c (process_psymtab_comp_unit): Ditto.
786 * exec.c (exec_close_1): Ditto.
787 * xcoffread.c (xcoff_end_psymtab): Likewise.
791 * stack.c (print_block_frame_labels): Comment function out.
795 Delete unused or undefined functions.
796 * breakpoint.c (ep_parse_optional_filename): Delete.
797 * dcache.c (dcache_write_line): Remove declaration.
798 * infrun.c (build_infrun): Remove declaration.
799 * tracepoint.c (tracepoint_save_command): Remove declaration.
800 * linux-nat.c (init_lwp_list): Delete. No longer used.
801 * event-loop.c (check_async_signal_handlers): Delete declaration.
802 * infrun.c (init_execution_control_state): Delete.
803 (proceed): Update comment to avoid mentioning
804 init_execution_control_state.
805 * target.c (kill_or_be_killed, nosupport_runtime): Delete.
806 * ada-lang.c (ada_to_static_fixed_value): Delete.
807 * scm-lang.c (evaluate_subexp_scm): Delete declaration.
808 * cp-namespace.c (cp_copy_usings): Delete.
809 * xml-syscall.c (xml_number_of_syscalls): Delete.
810 * progspace.c (find_program_space_by_num): Delete.
811 * inflow.c (handle_sigio): Delete declaration.
812 * hppa-tdep.c (hppa_alignof): Delete.
813 * mipsnbsd-tdep.c (mipsnbsd_sigtramp_offset)
814 (mipsnbsd_core_osabi_sniffer): Delete.
819 * c-exp.y (REINTERPRET_CAST, DYNAMIC_CAST, STATIC_CAST)
820 (CONST_CAST): New tokens.
821 (exp): Add new productions.
822 (ident_tokens): Add const_cast, dynamic_cast, static_cast, and
824 (is_cast_operator): New function.
825 (yylex): Handle cast operators specially.
826 * eval.c (evaluate_subexp_standard) <UNOP_DYNAMIC_CAST,
827 UNOP_REINTERPRET_CAST>: New cases.
828 * expprint.c (print_subexp_standard): Likewise.
829 (op_name_standard): Likewise.
830 (dump_subexp_body_standard): Likewise.
831 * parse.c (operator_length_standard): Likewise.
832 * expression.h (enum exp_opcode): New constants UNOP_DYNAMIC_CAST,
833 UNOP_REINTERPRET_CAST.
834 * gdbtypes.c (class_types_same_p): New function.
835 (is_ancestor): Use it.
836 (is_public_ancestor): New function.
837 (is_unique_ancestor_worker): Likewise.
838 (is_unique_ancestor): Likewise.
839 * gdbtypes.h (class_types_same_p, is_public_ancestor)
840 (is_unique_ancestor): Declare.
841 * valops.c (value_reinterpret_cast): New function.
842 (dynamic_cast_check_1): Likewise.
843 (dynamic_cast_check_2): Likewise.
844 (value_dynamic_cast): Likewise.
845 * value.h (value_reinterpret_cast, value_dynamic_cast): Declare.
849 Fix build failure when building without Python support.
850 * python/python.c: Always include exceptions.h, even when HAVE_PYTHON
855 Use XVS field type instead of doing a parallel lookup.
856 * ada-lang.c (ada_get_base_type): Follow the XVS field type
857 if it is a reference type instead of doing a type lookup using
862 Trust PAD types instead of using PAD___XVS.
863 * ada-lang.c (trust_pad_over_xvs): New static variable.
864 (ada_is_aligner_type): If !trust_pad_over_xvs and there is a
865 parallel XVS type, follow the XVS type instead of the PAD type.
866 (unwrap_value): Make sure that there is no parallel XVE type
867 before returning the value as is.
868 (set_ada_list, show_ada_list): New static variables.
869 (set_ada_command, show_ada_command): New functions.
870 (_initialize_ada_language): Add new "set/show ada" prefix commands.
871 Add new "set/show ada trust-PAD-over-XVS" setting.
876 Allow "source" to load python scripts.
877 * exceptions.h (enum errors): Add UNSUPPORTED_ERROR.
878 * python/python.c (source_python_script): New function.
879 * python/python.h (source_python_script): Add declaration.
880 * cli/cli-cmds.c: #include exceptions.h and python/python.h.
881 (script_ext_off, script_ext_soft, script_ext_strict)
882 (script_ext_enums, script_ext_mode): New static constants.
883 (show_script_ext_mode, find_and_open_script): New functions.
884 (source_script): Enhance to handle Python scripts.
885 (init_cli_cmds): Add set/show script-extension commands.
889 * tracepoint.h (struct trace_status): Use unsigned long long
891 * tracepoint.c (trace_status_command): Fix printf directive.
892 (trace_save_command): Check fwrite returns, fix printf directive.
893 (trace_filename): New global.
894 (tfile_open): Set it, check read returns.
895 (tfile_close): Free trace_filename.
896 (tfile_get_traceframe_address): Check read returns.
897 (tfile_trace_find): Ditto.
898 (tfile_fetch_registers): Ditto.
899 (tfile_xfer_partial): Ditto.
900 (tfile_get_trace_state_variable_value): Ditto.
904 Add trace file support.
905 * tracepoint.h (enum trace_stop_reason): New enum.
906 (struct trace_status): New struct.
907 (parse_trace_status): Declare.
908 (struct uploaded_tp): Move here from remote.c,
909 add fields for actions.
910 (struct uploaded_tsv): New struct.
911 * tracepoint.c (tfile_ops): New target vector.
912 (trace_fd): New global.
913 (tfile_open): New function.
914 (tfile_close): New function.
915 (tfile_files_info): New function.
916 (tfile_get_trace_status): New function.
917 (tfile_get_traceframe_address): New function.
918 (tfile_trace_find): New function.
919 (tfile_fetch_registers): New function.
920 (tfile_xfer_partial): New function.
921 (tfile_get_trace_state_variable_value): New function.
922 (init_tfile_ops): New function.
923 (_initialize_tracepoint): Call it, add tfile target.
924 (trace_status): New global.
925 (current_trace_status): New function.
926 (trace_running_p): Remove, change all users to get from
927 current_trace_status()->running.
928 (get_trace_status): Remove.
929 (trace_status_command): Call target_get_trace_status directly,
930 report more detail including tracing stop reasons.
931 (trace_find_command): Always allow tfind on a file.
932 (trace_find_pc_command): Ditto.
933 (trace_find_tracepoint_command): Ditto.
934 (trace_find_line_command): Ditto.
935 (trace_find_range_command): Ditto.
936 (trace_find_outside_command): Ditto.
937 (trace_frames_offset, cur_offset): Declare as off_t.
938 (trace_regblock_size): Rename from reg_size, update users.
939 (parse_trace_status): New function.
940 (tfile_interp_line): New function.
941 (disconnect_or_stop_tracing): Ensure current trace
942 status before asking what to do.
943 (stop_reason_names): New global.
944 (trace_save_command): New command.
945 (get_uploaded_tp): Move here from remote.c.
946 (find_matching_tracepoint): Ditto.
947 (merge_uploaded_tracepoints): New function.
948 (parse_trace_status): Use stop_reason_names.
949 (_initialize_tracepoint): Define tsave command.
950 * target.h (target_ops): New fields to_save_trace_data,
951 to_upload_tracepoints, to_upload_trace_state_variables,
952 to_get_raw_trace_data, change to_get_trace_status
953 to take a pointer to a status struct.
954 (target_save_trace_data): New macro.
955 (target_upload_tracepoints): New macro.
956 (target_upload_trace_state_variables): New macro.
957 (target_get_raw_trace_data): New macro.
958 * target.c (update_current_target): Add new methods, change
959 signature of to_get_trace_status.
960 * remote.c (hex2bin): Make globally visible.
962 (remote_download_trace_state_variable): Download name also.
963 (remote_get_trace_status): Update parameter, use
965 (remote_save_trace_data): New function.
966 (remote_upload_tracepoints): New function.
967 (remote_upload_trace_state_variables): New function.
968 (remote_get_raw_trace_data): New function.
969 (remote_start_remote): Use them.
970 (_initialize_remote_ops): Add operations.
971 * ax-gdb.c: Include breakpoint.h.
972 * breakpoint.c (create_tracepoint_from_upload): Use
973 break_command_really, return tracepoint, warn about unimplemented
975 * NEWS: Mention trace file addition.
979 Fix compilation warning on gcc-3.4.
980 * exec.c (print_section_info): Move the `displacement' variable
981 initialization to its declaration.
985 * gdb-gdb.py (StructMainTypePrettyPrinter): Fix TYPE_CODE_RANGE
990 "info tasks" broken by typedefs in ATCB type definitions.
991 * ada-lang.c (ada_template_to_fixed_record_type_1): Add call to
992 ada_check_typedef before retrieving the length of the type for
997 Do not use name-based lookup for unconstrained packed arrays.
998 * ada-lang.c (find_parallel_type_by_descriptive_type):
999 Limit the fallback to name-based lookups to the case where
1000 the type is a constrained packed array.
1004 Enhance gdb-gdb.py to handle main_type.type_specific.
1005 * gdb-gdb.py: Print the type-specific part of struct main_type.
1009 * configure.ac (AC_CHECK_FUNCS): Check for setrlimit and getrlimit.
1010 * configure: Regenerate.
1011 * config.in: Regenerate.
1012 * utils.c: Include sys/resource.h.
1013 (dump_core, can_dump_core): New.
1014 (internal_vproblem): Update the comment. Check can_dump_core while
1015 setting dump_core_p. Replace two abort calls by dump_core calls.
1020 * NEWS: Document the PIE support.
1024 * linux-tdep.c: Remove includes gdbcore.h, observer.h and elf-bfd.h.
1025 (check_is_pie_binary, _initialize_linux_tdep): Remove.
1029 * solib-svr4.c (svr4_exec_displacement): New comment for entry_point.
1030 Replace exec_entry_point call by bfd_get_start_address.
1034 Support Valgrind attachments broken by the PIE support.
1035 * auxv.c: Include gdbcore.h.
1036 (procfs_xfer_auxv): Make static. Reduce its comment. Drop its
1037 parameters ops, object and annex. Remove their assertions.
1038 (ld_so_xfer_auxv, memory_xfer_auxv): New function.
1039 * auxv.h (procfs_xfer_auxv): Remove comment. Rename to ...
1040 (memory_xfer_auxv): ... here.
1041 * linux-nat.c (linux_xfer_partial): Rename procfs_xfer_auxv to
1043 * procfs.c (procfs_xfer_partial): Likewise.
1044 * solib-svr4.c (svr4_relocate_main_executable): New prototype.
1045 (svr4_special_symbol_handling): Call svr4_relocate_main_executable.
1046 (svr4_solib_create_inferior_hook): Conditionalize the
1047 svr4_relocate_main_executable call.
1051 * solib-svr4.c (scan_dyntag): Remove variable dyn_addr. New variable
1052 target_section. Find SECT in current_target_sections, gdb_assert it.
1053 (elf_lookup_lib_symbol): Pass the binary file if given symfile_objfile.
1055 * symtab.c (lookup_objfile_from_block): Return the binary file instead
1056 of separate debug info file.
1060 Support PIEs with no symfile_objfile.
1061 * exec.c (print_section_info <abfd == exec_bfd>): Relocate Entry point.
1062 * solib-svr4.c (svr4_relocate_main_executable <exec_bfd>): New block.
1066 * solib-svr4.c (svr4_relocate_main_executable): Move the static exec
1068 (svr4_static_exec_displacement): ... a new function.
1069 (svr4_exec_displacement): New function.
1070 (svr4_relocate_main_executable): Call svr4_exec_displacement. Allocate
1071 new_offsets using alloca now. Remove variable old_chain and changed.
1072 Call objfile_relocate unconditionally now.
1076 * gdbtypes.c (arch_flags_type): Fix comment.
1077 * gdbtypes.h (arch_composite_type): Fix comment.
1081 * machoread.c (macho_add_oso_symfile): Add symfile_flags parameter.
1082 Call xstrdup for abfd->filename. Pass symfile_flags and objfile flags
1083 to symbol_file_add_from_bfd. Add OSO as separate objfile.
1084 (macho_oso_symfile): Add symfile_flags parameter. Pass it to
1085 macho_add_oso_symfile.
1086 (macho_symfile_read): Pass symfile_flags to macho_oso_symfile.
1090 Tru64: Dead threads are never deleted.
1091 * dec-thread.c (dec_thread_ptid_is_alive): New function.
1092 (dec_thread_count_gdb_threads): Fix counter increment.
1093 (dec_thread_add_gdb_thread): Fix *listp increment.
1094 (resync_thread_list): Fix bug in deletion of dead threads that
1095 caused all threads to be deleted, instead of just the dead ones.
1101 * python/python-internal.h: Add lazy_string_object_type
1103 (create_lazy_string_object, gdbpy_initialize_lazy_string)
1104 (gdbpy_is_lazystring, gdbpy_extract_lazy_string): Define.
1105 * python/py-value.c (valpy_lazy_string): New function.
1106 (convert_value_from_python): Add lazy string conversion.
1107 * python/py-prettyprint.c (pretty_print_one_value): Check if
1108 return is also a lazy string.
1109 (print_string_repr): Add lazy string printing branch.
1110 (print_children): Likewise.
1111 * python/py-lazy-string.c: New file. Implement lazy strings.
1112 * python/python.c (_initialize_python): Call
1113 gdbpy_initialize_lazy_string.
1114 * varobj.c (value_get_print_value): Add lazy string printing
1115 branch. Account for encoding.
1116 * c-lang.c (c_printstr): Account for new encoding argument. If
1117 encoding is NULL, find encoding suited for type, otherwise use
1119 * language.h (language_defn): Add encoding argument.
1120 (LA_PRINT_STRING): Likewise.
1121 * language.c (unk_lang_printstr): Update to reflect new encoding
1122 argument to language_defn.
1123 * ada-lang.h (ada_printstr): Likewise.
1124 * c-lang.h (c_printstr): Likewise.
1125 * p-lang.h (pascal_printstr);
1126 * f-lang.c (f_printstr): Likewise.
1127 * m2-lang.c (m2_printstr): Likewise.
1128 * objc-lang.c (objc_printstr): Likewise.
1129 * p-lang.c (pascal_printstr): Likewise.
1130 * scm-lang.c (scm_printstr): Likewise.
1131 * c-valprint.c (c_val_print): Update LA_PRINT_STRING call for
1133 * ada-valprint.c (ada_printstr): Likewise.
1134 * f-valprint.c (f_val_print): Likewise
1135 * m2-valprint.c (m2_val_print): Likewise.
1136 * p-valprint.c (pascal_val_print): Likewise.
1137 * expprint.c (print_subexp_standard): Likewise.
1138 * valprint.c (val_print_string): Likewise.
1139 * Makefile.in (SUBDIR_PYTHON_OBS): Add py-lazy-string.
1140 (SUBDIR_PYTHON_SRCS): Likewise.
1141 (py-lazy-string.o): New rule.
1145 * mi/mi-main.c (list_available_thread_groups): Avoid "may be used
1146 uninitialized" warning from gcc on local `tree'.
1150 Implement core awareness.
1152 * bcache.c (compare_ints): Remove
1153 (print_percentage): Use compare_positive_ints.
1154 * defs.h (compare_positive_ints): Declare.
1155 * linux-nat.h (struct lin_lwp): New field core.
1156 (linux_nat_core_of_thread_1): Declare.
1157 * linux-nat.c (add_lwp): Init the 'core' field.
1158 (linux_nat_wait_1): Record the core.
1159 (linux_nat_core_of_thread_1, linux_nat_core_of_thread): New.
1160 (linux_nat_add_target): Register the above.
1161 * linux-thread-db.c (update_thread_core): New.
1162 (thread_db_find_new_threads): Update core information for
1164 * remote.c (struct private_thread_info): New.
1165 (free_private_thread_info, demand_private_info): New.
1166 (PACKET_qXfer_threads, use_osdata_threads): New.
1167 (struct thread_item, threads_parsing_context
1168 (start_thread, end_thread, thread_attributes)
1169 (thread_children, threads_children, threads_elements): New.
1170 (remote_threads_info): Try qXfer:threads before anything
1172 (remote_protocol_packets): Register qXfer:threads.
1173 (remote_open_1): Init use_osdata_threads.
1174 (struct stop_reply): New field 'core'.
1175 (remote_parse_stop_reply): Parse core number.
1176 (process_stop_reply): Record core number.
1177 (remote_xfer_partial): Handle qXfer:threads.
1178 (remote_core_of_thread): New.
1179 (init_remote_ops): Register remote_core_of_thread.
1180 (_initialize_remote): Register qXfer:read.
1181 * target.c (target_core_of_thread): New
1182 * target.h (enum target_object): New value TARGET_OBJECT_THREADS.
1183 (struct target_ops): New field to_core_of_threads.
1184 (target_core_of_thread): Declare.
1185 * gdbthread.h (struct thread_info): New field private_dtor.
1186 * thread.c (print_thread_info): Report the core.
1187 * ui-out.c (MAX_UI_OUT_LEVELS): Increase.
1188 * utils.c (compare_positive_ints): New.
1189 * features/threads.dtd: New.
1190 * mi/mi-interp.c (mi_on_normal_stop): Report the core.
1191 * mi/mi-main.c (struct collect_cores_data, collect_cores)
1192 (do_nothing, free_vector_of_osdata_items)
1193 (splay_tree_int_comparator, free_splay_tree): New.
1194 (print_one_inferior_data): Implemented printing of selected
1195 inferiors. Collect and print cores.
1196 (output_cores): New.
1197 (mi_cmd_list_thread_groups): Support --recurse. Permit specifying
1198 thread groups together with --available.
1202 * configure: Regenerate (for _STRUCTURED_PROC).
1206 Delete dead function.
1207 * ada-lang.c (extract_string): Delete. No longer used.
1211 Fix -Wunused warning in dec-thread.c.
1212 * dec-thread.c (dec_thread_count_gdb_threads)
1213 (dec_thread_add_gdb_thread): Prevent -Wunused warning.
1217 * ada-valprint.c (ada_print_floating): Remove trailing space.
1221 Add support for DW_AT_GNAT_descriptive_type.
1222 * gdbtypes.h (enum type_specific_kind): New enum.
1223 (struct main_type) [type_specific_field]: New component.
1224 [type_specific]: Add new component "gnat_stuff".
1225 (struct gnat_aux_type): New type.
1226 (INIT_CPLUS_SPECIFIC): Also set TYPE_SPECIFIC_FIELD (type).
1227 (HAVE_CPLUS_STRUCT): Also check TYPE_SPECIFIC_FIELD (type).
1228 (gnat_aux_default, allocate_gnat_aux_type): Add declaration.
1229 (INIT_GNAT_SPECIFIC, ALLOCATE_GNAT_AUX_TYPE, HAVE_GNAT_AUX_INFO)
1230 (TYPE_SPECIFIC_FIELD): New macros.
1231 (TYPE_CPLUS_SPECIFIC): Return cplus_struct_default if the given
1232 type does not hold any cplus-specific data.
1233 (TYPE_RAW_CPLUS_SPECIFIC): New macro.
1234 (TYPE_GNAT_SPECIFIC, TYPE_DESCRIPTIVE_TYPE): New macros.
1235 (TYPE_IS_OPAQUE): Use HAVE_CPLUS_STRUCT to check if type has
1236 cplus-specific data.
1237 * gdbtypes.c (allocate_cplus_struct_type): Minor stylistic rewrite.
1238 Set new component TYPE_SPECIFIC_FIELD (type).
1239 (gnat_aux_default): New constant.
1240 (allocate_gnat_aux_type): New function.
1241 (init_type): Add initialization the type-specific stuff for
1242 TYPE_CODE_FLT and TYPE_CODE_FUNC types.
1243 (print_gnat_stuff): New function.
1244 (recursive_dump_type): Use HAVE_CPLUS_STRUCT to check for cplus-
1245 specific data. Adjust code that prints the contents of the
1246 type-specific union using the TYPE_SPECIFIC_FIELD value.
1247 * dwarf2read.c (dwarf2_attach_fields_to_type): Do not allocate
1248 the type cplus stuff for Ada types.
1249 (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type):
1250 Error out if these routines are called with an Ada type.
1251 (read_structure_type, read_array_type, read_subrange_type):
1252 Add call to set_descriptive_type.
1253 (set_die_type): Initialize the gnat-specific data if necessary.
1254 (need_gnat_info, die_descriptive_type, set_descriptive_type):
1256 * ada-lang.c (decode_constrained_packed_array_type): Use
1257 decode_constrained_packed_array_type instead of doing a standard
1258 lookup to locate a parallel type.
1259 (find_parallel_type_by_descriptive_type): New function.
1260 (ada_find_parallel_type_with_name): New function.
1261 (ada_find_parallel_type): Reimplement using
1262 ada_find_parallel_type_with_name.
1263 * ada-valprint.c (print_field_values): Use HAVE_CPLUS_STRUCT
1264 to check if type has a cplus stuff.
1265 * linespec.c (total_number_of_methods): Likewise.
1266 * mdebugread.c (new_type): Likewise.
1270 * NEWS: Document the 0b binary number prefix parsing.
1274 * objfiles.c (objfile_relocate1): Change the return type to int.
1275 Describe the new return value. Return non-zero if data changed.
1276 (objfile_relocate): New variable changed. Set it. Call
1277 breakpoint_re_set depending on CHANGED.
1281 Implement binary numbers parsing.
1282 * c-exp.y (parse_number): New case 'b' and 'B'.
1287 * solib.c (info_sharedlibrary_command): Replace
1288 objfile_has_partial_symbols and objfile_has_full_symbols calls by
1289 objfile_has_symbols.
1293 * NEWS: Document the improvements made to the mips-irix port.
1297 Fix the documentation of valprint.c:value_print.
1298 * valprint.c (value_print): Update the function description to
1299 mention that the syntax of the output follows the current_language,
1304 Fix displacement of separate debug info files.
1305 * objfiles.c (objfile_relocate): Rename to ...
1306 (objfile_relocate1): ... here and make it static. Extend the comment.
1307 (objfile_relocate): New function.
1308 * solib-spu.c (spu_relocate_main_executable): Explicitly check if
1309 SYMFILE_OBJFILE is NULL. Remove variables objfile and old_chain.
1310 Remove following of SEPARATE_DEBUG_OBJFILE. new_offsets is now
1311 allocated using alloca.
1312 * symfile.c (copy_section_addr_info): Remove.
1313 (build_section_addr_info_from_objfile): Make it global. New variables
1314 addr_bit and mask, use them.
1315 * symfile.h (build_section_addr_info_from_objfile): New prototype.
1316 (copy_section_addr_info): Remove.
1320 Signal unwinder for mips-irix N32.
1321 * mips-irix-tdep.c: #include mips-tdep.h, trad-frame.h, and
1323 (SIGTRAMP_FRAME_SIZE, SIGCONTEXT_PC_OFF, SIGCONTEXT_REGS_OFF)
1324 (SIGCONTEXT_FPREGS_OFF, SIGCONTEXT_FPCSR_OFF, SIGCONTEXT_HI_OFF)
1325 (SIGCONTEXT_LO_OFF): New macros.
1326 (mips_irix_n32_tramp_frame_init): New function.
1327 (mips_irix_n32_tramp_frame): New static constant.
1328 (mips_irix_init_abi): Prepend the mips_irix_n32_tramp_frame unwinder.
1332 Breakpoint in shared library does not work on mips-irix.
1333 * procfs.c: #include "observer.h".
1334 (procfs_inferior_created): New function, moving here the code
1335 which unsets the syssgi syscall-exit notifications.
1336 (procfs_create_inferior): Remove the code which unsets the syssgi
1337 syscall-exit notifications. It is too early to do this here.
1338 (_initialize_procfs): Attach the procfs_inferior_created observer.
1342 Wrong return convention for arrays (mips-irix).
1343 * mips-tdep.c (mips_n32n64_return_value): Arrays whose size is
1344 128 bits or smaller are returned the same way as structs
1345 and unions of the the same size.
1349 Cannot set the PC on mips-irix.
1350 * irix5-nat.c (fill_gregset): Check regno against the raw PC
1351 register number, no the cooked one.
1355 Error while loading core file on mips-irix.
1356 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing
1357 if debugging from a core file.
1361 GDB hangs when attaching to process on mips-irix.
1362 * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if
1363 attaching to a process.
1367 Use the correct breakpoint instruction on mips-irix.
1368 * mips-tdep.c (mips_breakpoint_from_pc): Add new static variable
1369 containing the correct breakpoint instruction to use on mips-irix.
1370 Use it when the osabi is GDB_OSABI_IRIX.
1374 -Wunused warning in procfs.c (mips-irix only).
1375 * procfs.c (gdb_praddset, gdb_prdelset): New macros. Use them
1376 throughout instead of using praddset and prdelset respectively.
1380 GDB crash while stepping into function.
1381 * infrun.c (handle_inferior_event): Refetch the current frame
1382 after handling what.main_action, in case that pointer became
1387 Fix build failure of solaris-hosted cross debuggers.
1388 * ada-valprint.c, parse.c: Include defs.h before including ctype.h.
1392 Fix build failure on sparc-solaris.
1393 * procfs.c: (procfs_do_thread_registers) Use elfcore_write_lwpstatus.
1397 Move some symfile code into subroutines.
1398 * symfile.h (relative_addr_info_to_section_offsets)
1399 (addr_info_make_relative): New prototypes.
1400 * symfile.c (default_symfile_offsets): Move a part to ...
1401 (relative_addr_info_to_section_offsets): ... this new function.
1402 (default_symfile_offsets): Call it.
1403 (syms_from_objfile <!mainline && addrs && addrs->other[0].name>): Move
1405 (addr_info_make_relative): ... this new function.
1409 Add from_tty to solib_create_inferior_hook.
1410 * infcmd.c (post_create_inferior): Move solib_add after
1411 solib_create_inferior_hook. Pass from_tty to
1412 solib_create_inferior_hook. Call solib_add and SOLIB_ADD with
1413 0 from_tty and comment why.
1414 * infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0.
1415 * linux-nat.c (linux_child_follow_fork): Likewise.
1416 * nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise.
1417 * solib-darwin.c (darwin_solib_create_inferior_hook): New parameter
1419 * solib-frv.c (frv_solib_create_inferior_hook): Likewise.
1420 * solib-irix.c (irix_solib_create_inferior_hook): Likewise.
1421 * solib-null.c (null_solib_create_inferior_hook): Likewise.
1422 * solib-osf.c (osf_solib_create_inferior_hook): Likewise.
1423 * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise.
1424 * solib-som.c (som_solib_create_inferior_hook): Likewise.
1425 * solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty.
1426 Pass it to svr4_so_ops.solib_create_inferior_hook.
1427 * solib-sunos.c (sunos_solib_create_inferior_hook): New parameter
1429 * solib-svr4.c (enable_break): New parameter from_tty. Pass it to
1431 (svr4_solib_create_inferior_hook): New parameter from_tty. Pass it to
1433 * solib-target.c (solib_target_solib_create_inferior_hook): New
1435 * solib.c (solib_create_inferior_hook): New parameter from_tty. Pass
1436 it to ops->solib_create_inferior_hook.
1437 (reload_shared_libraries): Pass from_tty to solib_create_inferior_hook.
1438 Move solib_add after solib_create_inferior_hook, call it now with
1439 from_tty as 0. New comment there.
1440 * solib.h (solib_create_inferior_hook): New parameter from_tty.
1441 * solist.h (struct target_so_ops <solib_create_inferior_hook>):
1447 * infrun.c (handle_inferior_event): Use get_thread_regcache
1448 with events ptid, not get_current_regcache.
1452 GDB crash with empty executable name (MinGW).
1453 * source.c (openp): Add assert that parameter string is not NULL.
1454 if parameter string is an empty string, then return with a failure
1459 Get rid of support for VAX Floats.
1460 * ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix)
1461 (ada_vax_float_print_function): Delete.
1462 * ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix)
1463 (ada_vax_float_print_function): Delete.
1464 * ada-typeprint.c (print_vax_floating_point_type): Delete.
1465 (ada_print_type): Remove support for VAX floats.
1466 * ada-valprint.c (ada_val_print_1): Remove support for VAX floats.
1470 * stabsread.c (read_args): Handle zero arguments.
1474 Cannot find in-tree libiconv.a after reconfigure.
1475 * acinclude.m4 (AM_ICONV): If we find an in-tree libiconv.a
1476 that we can use, then cache the path to this archive.
1477 * configure: Regenerate.
1481 Make tracepoint operations go through target vector.
1482 * target.h (enum trace_find_type): New enum.
1483 (struct target_ops): New fields to_trace_init,
1484 to_download_tracepoint, to_download_trace_state_variable,
1485 to_trace_set_readonly_regions, to_trace_start, to_get_trace_status,
1486 to_trace_stop, to_trace_find, to_get_trace_state_variable_value,
1487 to_set_disconnected_tracing.
1488 (target_trace_init): New macro.
1489 (target_download_tracepoint): New macro.
1490 (target_download_trace_state_variable): New macro.
1491 (target_trace_start): New macro.
1492 (target_trace_set_readonly_regions): New macro.
1493 (target_get_trace_status): New macro.
1494 (target_trace_stop): New macro.
1495 (target_trace_find): New macro.
1496 (target_get_trace_state_variable_value): New macro.
1497 (target_set_disconnected_tracing): New macro.
1498 * target.c (update_current_target): Inherit and set defaults for
1499 tracepoint operations.
1500 * tracepoint.c (default_collect): Make globally visible.
1501 (target_is_remote): Remove, along with all calls.
1502 (tvariables_info): Call target_get_trace_state_variable_value.
1503 (remote_set_transparent_ranges): Remove.
1504 (trace_start_command): Call target_trace_init,
1505 target_download_tracepoint, etc.
1506 (download_tracepoint): Remove.
1507 (trace_stop_command): Simplify.
1508 (stop_tracing): Call target_trace_stop.
1509 (get_trace_status): Call target_get_trace_status.
1510 (trace_status_command): Add case for targets that cannot trace.
1511 (finish_tfind_command): Change to take numerical arguments, call
1513 (trace_find_command): Update call to finish_tfind_command.
1514 (trace_find_pc_command): Ditto.
1515 (trace_find_tracepoint_command): Ditto.
1516 (trace_find_line_command): Ditto.
1517 (trace_find_range_command): Ditto.
1518 (trace_find_outside_command): Ditto.
1519 (set_disconnected_tracing_value): Call
1520 target_set_disconnected_tracing.
1521 * remote.c: Add protocol encoding bits from tracepoint.c.
1522 (trace_error): Move from tracepoint.c.
1523 (remote_get_noisy_reply): Ditto.
1524 (free_actions_list_cleanup_wrapper): Ditto.
1525 (free_actions_list): Ditto.
1526 (remote_trace_init): New function.
1527 (remote_download_tracepoint): New function.
1528 (remote_download_trace_state_variable): New function.
1529 (remote_trace_set_readonly_regions): New function.
1530 (remote_trace_start): New function.
1531 (remote_get_trace_status): New function.
1532 (remote_trace_stop): New function.
1533 (remote_trace_find): New function.
1534 (remote_download_trace_state_variable): New function.
1535 (remote_set_disconnected_tracing): New function.
1536 (init_remote_ops): Add tracepoint operations.
1538 * tracepoint.c (trace_dump_command): Don't decr_pc_after_break.
1542 * symfile.c (build_section_addr_info_from_objfile): New function.
1543 (symbol_file_add_separate): Don't use offsets from objfile but
1548 Support disconnected tracing.
1549 * infcmd.c (detach_command): Ask whether to stop tracing.
1550 * cli/cli-cmds.c (quit_command): Ditto.
1551 * breakpoint.h (struct breakpoint): New field number_on_target.
1552 * breakpoint.c (create_tracepoint_from_upload): New function.
1553 (get_tracepoint_by_number_on_target): New function.
1554 * remote.c (struct remote): New field disconnected_tracing.
1555 (remote_disconnected_tracing_feature): New function.
1556 (remote_protocol_features): Add DisconnectedTracing.
1557 (struct uploaded_tp): New struct.
1558 (uploaded_tps): New global.
1559 (get_uploaded_tp): New function.
1560 (find_matching_tracepoint): New function.
1561 (remote_get_tracing_state): New function.
1562 (remote_start_remote): Call it.
1563 * tracepoint.c (disconnected_tracing): New global.
1564 (trace_start_command): Initialize number_on_target.
1565 (stop_tracing): New function, split out from...
1566 (trace_stop_command): Call stop_tracing.
1567 (get_trace_status): New function, split out from...
1568 (trace_status_command): Call get_trace_status, add info on
1569 disconnection behavior.
1570 (disconnect_or_stop_tracing): New function.
1571 (finish_tfind_command): Translate from number on target.
1572 (trace_find_tracepoint_command): Translate to number on target.
1573 (send_disconnected_tracing_value): New function.
1574 (set_disconnected_tracing): New function.
1575 (_initialize_tracepoint): Add disconnected-tracing variable.
1576 * NEWS: Mention disconnected tracing.
1580 * symtab.c (lookup_global_symbol_from_objfile): Rename objfile
1581 parameter to main_objfile. Iterate on all separate debug objfiles.
1582 * symfile.h (symbol_file_add_separate)
1583 (find_separate_debug_file_by_debuglink): Remove parameter names.
1584 * symfile.c (symbol_file_add_separate): Use add_separate_objfile.
1585 (reread_symbols): Use free_objfile_separate_debug.
1586 * objfiles.h (struct objfile): Add separate_debug_objfile_link.
1588 (objfile_separate_debug_iterate, add_separate_debug_objfile)
1589 (free_objfile_separate_debug): New prototypes.
1590 * objfiles.c (objfile_separate_debug_iterate): New function.
1591 (add_separate_debug_objfile, free_objfile_separate_debug): New
1593 (free_objfile): Use free_objfile_separate_debug. Adjust for
1594 multiple separate debug objfile.
1595 (objfile_has_symbols): Adjust comment. Iterate on all separate
1597 * minsyms.c (lookup_minimal_symbol): Adjust for multiple separate
1599 (lookup_minimal_symbol_text): Ditto.
1600 (lookup_minimal_symbol_by_pc_name): Ditto.
1601 (lookup_minimal_symbol_solib_trampoline): Ditto.
1602 (lookup_minimal_symbol_by_pc_section_1): Iterate on all separate
1607 Add fast tracepoints.
1608 * arch-utils.h (default_fast_tracepoint_valid_at): Declare.
1609 * arch-utils.c (default_fast_tracepoint_valid_at): New function.
1610 * breakpoint.h (enum bptype): Add bp_fast_tracepoint.
1611 * breakpoint.c (tracepoint_type): New function.
1612 (ALL_TRACEPOINTS): Use it.
1613 (should_be_inserted): Ditto.
1614 (bpstat_check_location): Ditto.
1615 (print_one_breakpoint_location): Ditto.
1616 (user_settable_breakpoint): Ditto.
1617 (set_breakpoint_location_function): Ditto.
1618 (disable_breakpoints_in_shlibs): Ditto.
1619 (delete_trace_command): Ditto.
1620 (print_it_typical): Add bp_fast_tracepoint case.
1621 (bpstat_what): Ditto.
1622 (print_one_breakpoint_location): Ditto.
1623 (allocate_bp_location): Ditto.
1625 (breakpoint_re_set_one): Ditto.
1626 (disable_command): Ditto.
1627 (enable_command): Ditto.
1628 (check_fast_tracepoint_sals): New function.
1629 (break_command_really): Call it.
1630 (ftrace_command): New function.
1631 (_initialize_breakpoint): Add ftrace command.
1632 * gdbarch.sh (fast_tracepoint_valid_at): New.
1633 * gdbarch.h, gdbarch.c: Regenerate.
1634 * i386-tdep.c (i386_fast_tracepoint_valid_at): New function.
1635 (i386_gdbarch_init): Use it.
1636 * remote.c (struct remote_state): New field fast_tracepoints.
1637 (PACKET_FastTracepoints): New packet config type.
1638 (remote_fast_tracepoint_feature): New function.
1639 (remote_protocol_features): Add FastTracepoints.
1640 (remote_supports_fast_tracepoints): New function.
1641 (_initialize_remote): Add FastTracepoints.
1642 * tracepoint.c (download_tracepoint): Add fast tracepoint option.
1643 * NEWS: Mention fast tracepoints.
1647 * gdb-gdb.py: New file.
1651 * infrun.c (handle_inferior_event): Fix typo in comment.
1655 * symfile.c (syms_from_objfile): Remove the !MAINLINE conditional.
1659 * features/Makefile (WHICH): Add s390-linux32, s390-linux64,
1661 (s390-linux32-expedite): Define.
1662 (s390-linux64-expedite): Define.
1663 (s390x-linux64-expedite): Define.
1664 * features/s390-acr.xml: New file.
1665 * features/s390-fpr.xml: New file.
1666 * features/s390-core32.xml: New file.
1667 * features/s390-core64.xml: New file.
1668 * features/s390x-core64.xml: New file.
1669 * features/s390-linux32.xml: New file.
1670 * features/s390-linux64.xml: New file.
1671 * features/s390x-linux64.xml: New file.
1672 * features/s390-linux32.c: New generated file.
1673 * features/s390-linux64.c: New generated file.
1674 * features/s390x-linux64.c: New generated file.
1676 * regformats/s390-linux32.dat: New generated file.
1677 * regformats/s390-linux64.dat: New generated file.
1678 * regformats/s390x-linux64.dat: New generated file.
1679 * regformats/reg-s390.dat: Remove.
1680 * regformats/reg-s390x.dat: Remove.
1682 * s390-nat.c: Include "auxv.h" and <elf.h>.
1683 (HWCAP_S390_HIGH_GPRS): Define if undefined.
1684 (s390_target_wordsize): New function.
1685 (s390_auxv_parse): Likewise.
1686 (s390_get_hwcap): Likewise.
1687 (s390_read_description): Likewise.
1688 (_initialize_s390_nat): Install s390_auxv_parse and
1689 s390_read_description.
1691 * s390-tdep.c: Include "features/s390-linux32.c",
1692 "features/s390-linux64.c", and "features/s390x-linux64.c".
1693 (struct gdbarch_tdep): Add gpr_full_regnum, pc_regnum, and cc_regnum.
1694 (s390_register_call_saved): New function.
1695 (s390_register_name): Remove.
1696 (s390_register_type): Remove.
1697 (s390_dwarf_regmap): Add lower half GPR pseudo DWARF CFI regnums.
1698 (s390_dwarf_reg_to_regnum): Remap GPR regnums to full GPRs.
1699 (s390_adjust_frame_regnum): Remap GPR regnums to lower halves for CFI.
1700 (s390_pseudo_register_name): New function.
1701 (s390_pseudo_register_type): New function.
1702 (s390_pseudo_register_read): Handle both 32-bit and 64-bit cases.
1703 Handle full GPR pesudos and varying pseudo register numbers.
1704 (s390_pseudo_register_write): Likewise
1705 (s390x_pseudo_register_read): Remove.
1706 (s390x_pseudo_register_write): Likewise.
1707 (s390_register_group): Remove.
1708 (s390_pseudo_register_group): New function.
1709 (s390_regmap_gregset): Add GPR upper halves.
1710 (s390x_regmap_gregset): Likewise.
1711 (s390_regmap_fpregset): Likewise.
1712 (s390_regmap_upper): New global variable.
1713 (s390_upper_regset): New global variable.
1714 (s390_upper_regset_sections): New global variable.
1715 (s390_regset_from_core_section): Handle GPR upper halves.
1716 (s390_core_read_description): New function.
1717 (s390_prologue_frame_unwind_cache): Set up ABI call-saved/clobbered
1718 register information. Handle varying pseudo register numbers.
1719 (s390_backchain_frame_unwind_cache): Likewise.
1720 (s390_frame_prev_register): Unwind full GPRs to show lower halves.
1721 (s390_stub_frame_unwind_cache): Handle varying pseudo register numbers.
1722 (s390_sigtramp_frame_unwind_cache): Unwind PSWM and PSWA as well as
1723 PC and CC pseudos. Unwind upper halves and full GPRs as appropriate.
1724 Handle varying pseudo register numbers.
1725 (s390_unwind_pc): Handle varying pseudo register numbers.
1726 (s390_dwarf2_prev_register): New function.
1727 (s390_dwarf2_frame_init_reg): Set up ABI call-saved/clobbered
1728 register information. Handle varying pseudo register numbers.
1729 Install s390_dwarf2_prev_register to unwind full GPRs.
1730 (s390_gdbarch_init): Handle target descriptions. Assign varying
1731 pseudo register numbers. Install s390_adjust_frame_regnum.
1732 (_initialize_s390_tdep): Initialize target descriptions.
1734 * s390-tdep.h (S390_R0_UPPER_REGNUM .. S390_R15_UPPER_REGNUM): Define.
1735 (S390_NUM_REGS): Redefine to include upper half registers.
1736 (S390_PC_REGNUM, S390_CC_REGNUM): Remove.
1737 (S390_NUM_PSEUDO_REGS, S390_NUM_TOTAL_REGS): Likewise.
1738 (tdesc_s390_linux32): Add declaration.
1739 (tdesc_s390_linux64): Likewise.
1740 (tdesc_s390x_linux64): Likewise.
1744 * regset.h (struct core_regset_section): Add HUMAN_NAME.
1745 * i386-linux-tdep.c (i386_linux_regset_sections): Fill in HUMAN_NAME.
1746 * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
1747 (ppc_linux_vmx_regset_sections): Likewise.
1748 (ppc_linux_fp_regset_sections): Likewise.
1750 * corelow.c (get_core_register_section): Constify arguments.
1751 (get_core_registers): Use gdbarch_core_regset_sections instead
1752 of hard-coded platform-specific register section names.
1756 * dwarf2loc.c (read_pieced_value): If a piece occupies part of
1757 a register, assume the least-significant part is used.
1758 (write_pieced_value): Likewise.
1762 * printcmd.c: Include "arch-utils.h".
1763 (do_one_display): Re-parse expression if current architecture changed.
1768 * gdbtypes.c (check_typedef): New comment on type length.
1769 * value.c (allocate_value_lazy): Remove the unused atype variable. New
1770 comment on type length.
1771 (value_primitive_field): Keep the original TYPE value, new comment.
1775 * cli/cli-script.c (process_next_line): Rename p1 as p_end and p2 as
1776 p_start. Change != comparisons to > and < comparisons.
1780 * cli/cli-script.c (process_next_line): Check P2 overrun.
1784 Update the copyright hearder to add year 2010 for most GDB files.
1788 Fix build failure in inf-ptrace.c.
1789 * inf-ptrace.c (inf_ptrace_follow_fork): Fix typo.
1793 * top.c (print_gdb_version): Update copyright year.
1797 Fix break *FUN'address thread NUM.
1798 * ada-lex.l (task): Expand rule to also match the thread keyword.
1802 Fix break *FUN'address task NUM.
1803 * ada-lex.l (task): New rule.
1804 * ada-lang.c (valid_task_id): Make sure the Ada task list has
1805 been built before using it.
1807 For older changes see ChangeLog-2009.
1813 version-control: never