+2012-01-20 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * configure.ac [AC_CHECK_FUNCS]: Check for readlink.
+ * config.in, configure: Regenerate.
+
+ * target.h (struct target_ops): Add to_fileio_readlink.
+ (target_fileio_readlink): Add prototype.
+ * target.c (target_fileio_readlink): New function.
+
+ * inf-child.c: Conditionally include <sys/param.h>.
+ (inf_child_fileio_readlink): New function.
+ (inf_child_target): Install it.
+
+ * remote.c (PACKET_vFile_readlink): New enum value.
+ (remote_hostio_readlink): New function.
+ (init_remote_ops): Install it.
+ (_initialize_remote): Handle vFile:readlink packet type.
+
+2012-01-20 Pedro Alves <palves@redhat.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * configure.ac [AC_CHECK_FUNCS]: Check for pread and pwrite.
+ * config.in, configure: Regenerate.
+
+ * target.h (struct target_ops): Add to_fileio_open, to_fileio_pwrite,
+ to_fileio_pread, to_fileio_close, to_fileio_unlink.
+ (target_fileio_open): Add prototype.
+ (target_fileio_pwrite): Likewise.
+ (target_fileio_pread): Likewise.
+ (target_fileio_close): Likewise.
+ (target_fileio_unlink): Likewise.
+ (target_fileio_read_alloc): Likewise.
+ (target_fileio_read_stralloc): Likewise.
+
+ * target.c: Include "gdb/fileio.h".
+ (target_read_stralloc): Accept trailing, but not embedded NUL bytes.
+ (default_fileio_target): New function.
+ (target_fileio_open): Likewise.
+ (target_fileio_pwrite): Likewise.
+ (target_fileio_pread): Likewise.
+ (target_fileio_close): Likewise.
+ (target_fileio_unlink): Likewise.
+ (target_fileio_close_cleanup): Likewise.
+ (target_fileio_read_alloc_1): Likewise.
+ (target_fileio_read_alloc): Likewise.
+ (target_fileio_read_stralloc): Likewise.
+
+ * inf-child.c: Include "gdb/fileio.h", <sys/types.h>, <sys/stat.h>,
+ <fcntl.h>, and <unistd.h>.
+ (inf_child_fileio_open_flags_to_host): New function.
+ (inf_child_errno_to_fileio_error): Likewise.
+ (inf_child_fileio_open): Likewise.
+ (inf_child_fileio_pwrite): Likewise.
+ (inf_child_fileio_pread): Likewise.
+ (inf_child_fileio_close): Likewise.
+ (inf_child_fileio_unlink): Likewise.
+ (inf_child_target): Install to_fileio routines.
+
+ * remote.c (init_remote_ops): Install to_fileio routines.
+
+2012-01-20 Pedro Alves <palves@redhat.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * remote.c (remote_multi_process_p): Only check for multi-process
+ protocol feature, do not check for extended protocol.
+ (remote_supports_multi_process): Check for extended protocol here.
+ (set_general_process): Likewise.
+ (extended_remote_kill): Likewise.
+ (remote_pid_to_str): Likewise.
+ (remote_query_supported): Always query multiprocess mode.
+
+2012-01-20 Pedro Alves <palves@redhat.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * inferior.h (struct inferior): Add fake_pid_p.
+ * inferior.c (exit_inferior_1): Clear fake_pid_p.
+ * remote.c (remote_start_remote): Set fake_pid_p if we have to use
+ magic_null_ptid since the remote side doesn't provide a real PID.
+
+2012-01-19 Tom Tromey <tromey@redhat.com>
+
+ * NEWS: Combine the two Python sections.
+
+2012-01-19 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * target.h (target_close): Update comment on the target's unpush state.
+
+2012-01-19 Pedro Alves <palves@redhat.com>
+
+ * linux-nat.c (linux_nat_close): Call linux_nat_is_async_p and
+ linux_nat_async directly instead of going through the target
+ vector.
+ * target.c (unpush_target): Close target after unpushing it, not
+ before.
+
+2012-01-19 Gary Benson <gbenson@redhat.com>
+
+ * mdebugread.c (sort_blocks): Replace integer constants with ones
+ derived from FIRST_LOCAL_BLOCK.
+
+2012-01-18 Paul Pluzhnikov <ppluzhnikov@google.com>
+ Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR gdb/9538
+ * symfile.c (find_separate_debug_file): New function.
+ (terminate_after_last_dir_separator): Likewise.
+ (find_separate_debug_file_by_debuglink): Also try realpath.
+ * configure.ac (AC_CHECK_FUNCS): Add lstat.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2012-01-18 Doug Evans <dje@google.com>
+
+ * Makefile.in (TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE): Delete.
+ (main.o): Remove rule.
+ * configure.ac (BINDIR): Define with AC_DEFINE_DIR.
+ (--with-sysroot): Rewrite.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2012-01-18 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * parse.c (initialize_expout): New function.
+ (reallocate_expout): Likewise.
+ (parse_exp_in_context): Use `initialize_expout' and
+ `reallocate_expout' when appropriate.
+
+2012-01-18 Pedro Alves <palves@redhat.com>
+
+ * record.c (struct record_breakpoint, record_breakpoint_p)
+ (record_breakpoints): New.
+ (record_insert_breakpoint, record_remove_breakpoint): Manage
+ record breakpoints list. Only remove breakpoints from the
+ inferior if they had been inserted there in the first place.
+
+2012-01-17 Doug Evans <dje@google.com>
+
+ * linespec.c (decode_line_internal): Don't call symtabs_from_filename
+ if we know we don't have a file name to look for.
+
+2012-01-17 Pedro Alves <palves@redhat.com>
+
+ * dwarf2-frame.c (dwarf2_frame_cfa): Throw NOT_AVAILABLE_ERROR, if
+ the frame's stop reason is UNWIND_UNAVAILABLE.
+
+2012-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix compilation error.
+ * m2-exp.y (yyerror): Use ANSI C prototype.
+
+2012-01-16 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * f-exp.y (parse_number): Convert prototype from K&R to ANSI C.
+ (growbuf_by_size): Likewise.
+ (yyerror): Likewise.
+ * m2-exp.y (make_qualname): Remove function (was #if 0'ed).
+ (modblock): Remove variable (was #if 0'ed).
+ (parse_number): Convert prototype from K&R to ANSI C.
+ (yyerror): Likewise.
+ * objc-exp.y (parse_number): Likewise.
+ (yyerror): Likewise.
+ (yylex): Remove #if 0'ed code.
+ * p-exp.y (uptok): Convert prototype from K&R to ANSI C.
+ (yyerror): Likewise.
+
+2012-01-16 Tom Tromey <tromey@redhat.com>
+
+ * NEWS: Add item.
+ * symtab.h (compare_filenames_for_search): Declare.
+ * symtab.c (compare_filenames_for_search): New function.
+ (iterate_over_some_symtabs): Use it.
+ * symfile.h (struct quick_symbol_functions)
+ <map_symtabs_matching_filename>: Change spec.
+ * psymtab.c (partial_map_symtabs_matching_filename): Use
+ compare_filenames_for_search. Update for new spec.
+ * dwarf2read.c (dw2_map_symtabs_matching_filename): Use
+ compare_filenames_for_search. Update for new spec.
+ * breakpoint.c (clear_command): Use compare_filenames_for_search.
+
+2012-01-16 Tom Tromey <tromey@redhat.com>
+
+ PR python/13281:
+ * gdbtypes.h (TYPE_FLAG_ENUM): New macro.
+ (struct main_type) <flag_flag_enum>: New field.
+ * dwarf2read.c (process_enumeration_scope): Detect "flag" enums.
+ * NEWS: Add entries.
+ * c-valprint.c (c_val_print) <TYPE_CODE_ENUM>: Handle "flag"
+ enums.
+ * python/lib/gdb/printing.py (_EnumInstance): New class.
+ (FlagEnumerationPrinter): Likewise.
+
+2012-01-16 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * breakpoint.c (create_sals_from_address_default): New function.
+ (create_breakpoints_sal_default): Likewise.
+ (decode_linespec_default): Likewise.
+ (is_marker_spec): Removed.
+ (strace_marker_p): New function.
+ (init_breakpoint_sal): Using `strace_marker_p' instead of
+ `is_marker_spec'.
+ (create_breakpoint): Call method `create_sals_from_address' from
+ breakpoint_ops, replacing code that created SALs conditionally
+ on the type of the breakpoint. Call method `create_breakpoints_sal',
+ replacing code that created breakpoints conditionally on the type
+ wanted.
+ (base_breakpoint_create_sals_from_address): New function.
+ (base_breakpoint_create_breakpoints_sal): Likewise.
+ (base_breakpoint_decode_linespec): Likewise.
+ (base_breakpoint_ops): Add methods
+ `base_breakpoint_create_sals_from_address',
+ `base_breakpoint_create_breakpoints_sal' and
+ `base_breakpoint_decode_linespec'.
+ (bkpt_create_sals_from_address): New function.
+ (bkpt_create_breakpoints_sal): Likewise.
+ (bkpt_decode_linespec): Likewise.
+ (tracepoint_create_sals_from_address): Likewise.
+ (tracepoint_create_breakpoints_sal): Likewise.
+ (tracepoint_decode_linespec): Likewise.
+ (strace_marker_create_sals_from_address): Likewise.
+ (strace_marker_create_breakpoints_sal): Likewise.
+ (strace_marker_decode_linespec): Likewise.
+ (strace_marker_breakpoint_ops): New variable.
+ (addr_string_to_sals): Remove `marker_spec'. Call method
+ `decode_linespec' from breakpoint_ops, replacing code that decoded
+ an address string into a SAL. Use `strace_marker_p' instead of
+ `marker_spec'.
+ (strace_command): Decide whether we are dealing with a static
+ tracepoint with marker or not. Use the appropriate breakpoint_ops.
+ (initialize_breakpoint_ops): Initialize new fields of breakpoint_ops.
+ * breakpoint.h (linespec_result, linespec_sals): New forward
+ declarations.
+ (breakpoint_ops) <create_sals_from_address>,
+ <create_breakpoints_sal>, <decode_linespec>: New methods.
+
+2012-01-14 Doug Evans <dje@google.com>
+
+ * NEWS: Update text for "maint set python print-stack".
+ It is deprecated in gdb 7.4 and deleted in 7.5.
+
+2012-01-13 Eli Zaretskii <eliz@gnu.org>
+
+ * gdb_curses.h (MOUSE_MOVED) [__MINGW32__]: Undefine before
+ including curses.h.
+
+2012-01-12 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2012-01-12 Keith Seitz <keiths@redhat.com>
+
+ PR mi/10586
+ * varobj.c (ANONYMOUS_STRUCT_NAME): Define.
+ (ANONYMOUS_UNION_NAME): Define.
+ (is_path_expr_parent): New function.
+ (get_path_expr_parent): New function.
+ (is_anonymous_child): New function.
+ (create_child_with_value): If the child is anonymous and without
+ a name, assign an object name to it.
+ (c_describe_child): Use get_path_expr_parent to determine
+ the parent expression.
+ If there field represents an anonymous struct or union and
+ has no name, set an appropriate display name and expression.
+ (cplus_describe_child): Likewise.
+
+2012-01-12 Pedro Alves <palves@redhat.com>
+
+ * i386-tdep.c (i386_frame_cache_1): Also mark the frame base as
+ available when %ebp is found to be zero (outermost).
+
+2012-01-11 Andreas Tobler <andreast@fgznet.ch>
+
+ * common/gdb_assert.h (gdb_static_assert): Rename static_assert to
+ an internal gdb_static_assert.
+ * mi/mi-common.c: Rename static_assert to gdb_static_assert.
+
+2012-01-11 Tom Tromey <tromey@redhat.com>
+
+ PR gdb/9598:
+ * breakpoint.c (_initialize_breakpoint): Fix help for "catch
+ catch" and "catch throw".
+
+2012-01-11 Paul Hilfinger <hilfingr@adacore.com>
+
+ * blockframe.c (block_innermost_frame): Start search from selected
+ frame, if present, or otherwise the current frame.
+
+ * c-exp.y (variable): Update innermost_block for
+ 'block COLONCOLON NAME' clause.
+ * m2-exp.y (variable): Ditto.
+ * objc-exp.y (variable): Ditto.
+
+2012-01-10 Tom Tromey <tromey@redhat.com>
+
+ PR python/13199:
+ * python/python.c (finish_python_initialization): Set sys.argv.
+
+2012-01-10 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (dwarf_decode_lines): Remove arg "abfd". New arg
+ "want_line_info". All callers updated.
+ (dwarf_decode_lines_1): New function.
+ (handle_DW_AT_stmt_list): Add function comment.
+ New arg "want_line_info". All callers updated.
+ (read_file_scope,read_type_unit_scope): Move comment from
+ handle_DW_AT_stmt_list to here.
+
+2012-01-10 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix regression after libiberty/ update for GCC PR 6057 and others.
+ * c-exp.y (operator) <OPERATOR DELETE>
+ (operator) <OPERATOR DELETE '[' ']'>: Add trailing space.
+ * cp-name-parser.y (fill_comp, make_operator, make_dtor)
+ (make_builtin_type, make_name): New variable i, add gdb_assert.
+ (operator) <OPERATOR NEW>: Update ARGS to 3.
+ (operator) <OPERATOR DELETE>: Add trailing space.
+ (operator) <OPERATOR NEW '[' ']'>: Update ARGS to 3.
+ (operator) <OPERATOR DELETE '[' ']'>: Add trailing space.
+ * cp-support.c (cp_canonicalize_string): Check NULL from
+ cp_comp_to_string, call warning and return.
+
+2012-01-10 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix duplicate .o files after omitting libbfd.a.
+ * Makefile.in (ALL_TARGET_OBS): Remove corelow.o.
+ (SFILES): Add corelow.c.
+ (COMMON_OBS): Add corelow.o.
+ (ALLDEPFILES): Remove corelow.c.
+ * config/alpha/alpha-linux.mh (NATDEPFILES): Remove corelow.o.
+ * config/alpha/alpha-osf3.mh: Likewise.
+ * config/alpha/fbsd.mh: Likewise.
+ * config/arm/nbsdaout.mh: Likewise.
+ * config/arm/nbsdelf.mh: Likewise.
+ * config/i386/i386gnu.mh: Likewise.
+ * config/ia64/hpux.mh: Likewise.
+ * config/ia64/linux.mh: Likewise.
+ * config/m32r/linux.mh: Likewise.
+ * config/m68k/linux.mh: Likewise.
+ * config/mips/irix5.mh: Likewise.
+ * config/mips/irix6.mh: Likewise.
+ * config/pa/hpux.mh: Likewise.
+ * config/pa/linux.mh: Likewise.
+ * config/powerpc/aix.mh: Likewise.
+ * config/sparc/linux.mh: Likewise.
+ * config/sparc/linux64.mh: Likewise.
+ * config/sparc/sol2.mh: Likewise.
+ * config/vax/vax.mh: Likewise.
+ * configure.tgt (alpha*-*-freebsd* alpha*-*-kfreebsd*-gnu)
+ (alpha*-*-netbsd*, alpha*-*-knetbsd*-gnu, alpha*-*-openbsd*)
+ (am33_2.0*-*-linux*, arm*-wince-pe, arm*-*-mingw32ce*, arm*-*-linux*)
+ (arm*-*-openbsd*, cris*, frv-*-*, hppa*-*-hpux*, hppa*-*-netbsd*)
+ (hppa*-*-openbsd*, i[34567]86-*-dicos*, i[34567]86-*-freebsd*)
+ (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-netbsd*)
+ (i[34567]86-*-knetbsd*-gnu, i[34567]86-*-openbsd*, i[34567]86-*-nto*)
+ (i[34567]86-*-solaris2.1[0-9]*, x86_64-*-solaris2.1[0-9]*)
+ (i[34567]86-*-solaris*, i[34567]86-*-linux*, i[34567]86-*-cygwin*)
+ (i[34567]86-*-mingw32*, m68*-*-netbsd*, m68*-*-knetbsd*-gnu)
+ (m68*-*-openbsd*, m88*-*-openbsd*, microblaze*-linux-*)
+ (microblaze*-*-linux*, mips*-*-linux*, mips*-*-netbsd*)
+ (mips*-*-knetbsd*-gnu, mips64*-*-openbsd*, powerpc-*-netbsd*)
+ (powerpc-*-knetbsd*-gnu, powerpc-*-openbsd*, powerpc-*-linux*)
+ (powerpc64-*-linux*, s390*-*-*, score-*-*, sh*-*-linux*)
+ (sh*-*-netbsdelf*, sh*-*-knetbsd*-gnu, sh*-*-openbsd*)
+ (sparc*-*-freebsd*, sparc*-*-kfreebsd*-gnu, sparc-*-netbsd*)
+ (sparc-*-knetbsd*-gnu, sparc64-*-netbsd*, sparc64-*-knetbsd*-gnu)
+ (sparc-*-openbsd*, sparc64-*-openbsd*, tic6x-*-*linux, vax-*-netbsd*)
+ (vax-*-knetbsd*-gnu, vax-*-openbsd*, x86_64-*-dicos*, x86_64-*-linux*)
+ (x86_64-*-freebsd*, x86_64-*-kfreebsd*-gnu, x86_64-*-netbsd*)
+ (x86_64-*-knetbsd*-gnu, x86_64-*-openbsd*, xtensa*-*-linux*): Remove
+ corelow.o from gdb_target_obs.
+ * corefile.c (core_target): Update the comment on NULL value.
+ (core_file_command): Replace error by gdb_assert on CORE_TARGET.
+ * corelow.c (sniff_core_bfd): Call error instead of warning on zero
+ MATCHES. Drop YUMMY set on NULL.
+ (core_close): Do not call exit_inferior_silent on zero PID. Do not
+ reclaim CORE_DATA if it is already NULL.
+
+2012-01-09 Doug Evans <dje@google.com>
+
+ * gdbtypes.c (safe_parse_type): Initialize type to keep gcc happy.
+ * varobj.c (varobj_set_value): Initialize val,value to keep gcc happy.
+
+2012-01-09 Keith Seitz <keiths@redhat.com>
+
+ * breakpoint.c (wrapper.h): Don't include.
+
+2012-01-09 Keith Seitz <keiths@redhat.com>
+
+ * Makefile.in (SFILES): Remove wrapper.c.
+ (HFILES_NO_SRCDIR): Remove wrapper.h.
+ (COMMON_OBS): Remove wrapper.o.
+ * cli/cli-interp.c: Don't inlude wrapper.h.
+ * corelow.c: Likewise.
+ (core_open): Replace gdb_target_find_new_threads with
+ TRY_CATCH around target_find_new_threads.
+ * eval.c (fetch_subexp_value): Likewise for value_fetch_lazy.
+ * gdbtypes.c (safe_parse_type): Likewise for parse_and_eval_type.
+ * varobj.c (varobj_create): Likewise for parse_exp_1 and
+ evaluate_expression.
+ (varobj_set_value): Likewise for evaluate_expression and
+ value_assign.
+ (install_new_variable): Likewise for value_fetch_lazy.
+ (adjust_value_for_child_access): Likewise for value_ind.
+ (c_describe_child): Likewise for value_subscript and
+ value_ind.
+ (c_value_of_root): Likewise for evaluate_expression.
+ * wrapper.c: Remove.
+ * wrapper.h: Remove.
+
+2012-01-09 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (read_and_check_comp_unit_head): Renamed from
+ partial_read_comp_unit_head. Replace "buffer", "buffer_size" and
+ "abfd" args with "section". All callers updated.
+ Error checking code moved ...
+ (error_check_comp_unit_head): ... here. New function.
+ (read_and_check_type_unit_head): Renamed from read_type_unit_head.
+ Delete arg "abfd". New arg "type_offset". All callers updated.
+ (create_debug_types_hash_table): Simplify by using
+ read_and_check_type_unit_head.
+
+ * parser-defs.h (namecopy): Delete.
+ * parse.c (namecopy, namecopy_size): Move into copy_name.
+
+2012-01-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Partially fix duplicate .o files after omitting libbfd.a.
+ * config/alpha/alpha-osf3.mh (NATDEPFILES): Remove solib.o.
+ * config/i386/nbsdaout.mh (NATDEPFILES): Remove solib.o.
+ * config/i386/obsdaout.mh (NATDEPFILES): Remove solib.o.
+ * config/m68k/nbsdaout.mh (NATDEPFILES): Remove solib.o.
+ * config/m68k/obsd.mh (NATDEPFILES): Remove solib.o.
+ * config/powerpc/aix.mh (NATDEPFILES): Remove xcoffread.o.
+ * config/vax/nbsdaout.mh (NATDEPFILES): Remove solib.o.
+
+2012-01-09 Pedro Alves <palves@redhat.com>
+
+ * MAINTAINERS: Update my email address.
+
+2012-01-08 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (dwarf2_per_objfile): Rename n_type_comp_units to
+ n_type_units. Rename type_comp_units to all_type_units.
+ All uses updated.
+ (add_signatured_type_cu_to_table): Renamed from
+ add_signatured_type_cu_to_list. All callers updated.
+
+ * gdbtypes.h (struct cplus_struct_type): Delete member
+ nfn_fields_total. All uses removed.
+
+2012-01-06 Doug Evans <dje@google.com>
+
+ * dwarf2read.c: Move FIXME from dwarf2_build_psymtabs_hard
+ to top of file.
+ (dwarf2_find_comp_unit): Delete.
+ (process_psymtab_comp_unit): Make result "void".
+ Delete args buffer, info_ptr, buffer_size, and replace with
+ "section". All callers updated.
+ (dwarf2_build_psymtabs_hard): Simplify.
+
+2012-01-06 Sergio Durigan Junior <sergiodj@redhat.com>
+ Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * ada-lang.c (ada_exception_name_addr): Add `volatile' keyword
+ before `struct gdb_exception'.
+ * breakpoint.c (update_global_location_list_nothrow)
+ (update_breakpoint_locations, enable_breakpoint_disp): Likewise.
+ * cp-abi.c (value_rtti_type): Likewise.
+ * cp-support.c (cp_validate_operator): Likewise.
+ * infrun.c (insert_exception_resume_breakpoint)
+ (check_exception_resume, keep_going): Likewise.
+ * mi-interp.c (mi_breakpoint_created)
+ (mi_breakpoint_modified): Likewise.
+ * rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Likewise.
+ * solib-ia64-hpux.c (ia64_hpux_at_dld_breakpoint_p)
+ (ia64_hpux_handle_dld_breakpoint_1): Likewise.
+
2012-01-05 Doug Evans <dje@google.com>
* dwarf2read.c (statement_prologue): Delete, unused.