forked from Imagelibrary/binutils-gdb
Consider the following code:
type Record_Type (N : Integer) is record
A : Array_Type (1 .. N);
end record;
[...]
R : Record_Type := Get (10);
Trying to print the bounds of the array R.A yielded:
(gdb) p r.a'last
$4 = cannot find reference address for offset property
A slightly different example, but from the same cause:
(gdb) ptype r
type = <ref> record
n: integer;
a: array (cannot find reference address for offset property
Looking at the debugging info, "A" is described as...
.uleb128 0x11 # (DIE (0x181) DW_TAG_member)
.ascii "a\0" # DW_AT_name
.long 0x15d # DW_AT_type
[...]
... which is an array...
.uleb128 0x12 # (DIE (0x15d) DW_TAG_array_type)
.long .LASF18 # DW_AT_name: "foo__record_type__T4b"
.long 0x194 # DW_AT_type
.long 0x174 # DW_AT_sibling
... whose bounds are described as:
.uleb128 0x13 # (DIE (0x16a) DW_TAG_subrange_type)
.long 0x174 # DW_AT_type
.long 0x153 # DW_AT_upper_bound
.byte 0 # end of children of DIE 0x15d
We can see above that the range has an implict lower value of
1, and an upper value which is a reference 0x153="n". All Good.
But looking at the array's subrange subtype, we see...
.uleb128 0x14 # (DIE (0x174) DW_TAG_subrange_type)
.long 0x153 # DW_AT_upper_bound
.long .LASF19 # DW_AT_name: "foo__record_type__T3b"
.long 0x18d # DW_AT_type
... another subrange type whose bounds are exactly described
the same way. So we have a subrange of a subrange, both with
one bound that's dynamic.
What happens in the case above is that GDB's resolution of "R.A"
yields a array whose index type has static bounds. However, the
subtype of the array's index type was left untouched, so, when
taking the subtype of the array's subrange type, we were left
with the unresolved subrange type, triggering the error above.
gdb/ChangeLog:
* gdbtypes.c (is_dynamic_type_internal) <TYPE_CODE_RANGE>: Return
nonzero if the type's subtype is dynamic.
(resolve_dynamic_range): Also resolve the range's subtype.
Tested on x86_64-linux, no regression.
657 lines
23 KiB
Plaintext
657 lines
23 KiB
Plaintext
2015-01-29 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* gdbtypes.c (is_dynamic_type_internal) <TYPE_CODE_RANGE>: Return
|
||
nonzero if the type's subtype is dynamic.
|
||
(resolve_dynamic_range): Also resolve the range's subtype.
|
||
|
||
2015-01-29 Joel Brobecker <brobecker@adacore.com> (tiny patch)
|
||
|
||
* symfile.c (unmap_overlay_command): Initialize sec to NULL.
|
||
|
||
2015-01-27 Doug Evans <dje@google.com>
|
||
|
||
* NEWS: Mention gdb.Objfile.username.
|
||
* python/py-objfile.c (objfpy_get_username): New function.
|
||
(objfile_getset): Add "username".
|
||
|
||
2015-01-24 Mark Wielaard <mjw@redhat.com>
|
||
|
||
* stack.c (return_command): Markup warning message with _.
|
||
|
||
2015-01-24 Doug Evans <xdje42@gmail.com>
|
||
|
||
* gdbtypes.h (TYPE_TYPE_SPECIFIC): Delete.
|
||
|
||
2015-01-24 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
Fix 100x slowdown regression on DWZ files.
|
||
* dwarf2read.c (struct dwarf2_per_objfile): Add line_header_hash.
|
||
(struct line_header): Add offset and offset_in_dwz.
|
||
(dwarf_decode_lines): Add parameter decode_mapping to the declaration.
|
||
(free_line_header_voidp): New declaration.
|
||
(line_header_hash, line_header_hash_voidp, line_header_eq_voidp): New
|
||
functions.
|
||
(dwarf2_build_include_psymtabs): Update dwarf_decode_lines caller.
|
||
(handle_DW_AT_stmt_list): Use line_header_hash.
|
||
(free_line_header_voidp): New function.
|
||
(dwarf_decode_line_header): Initialize offset and offset_in_dwz.
|
||
(dwarf_decode_lines): New parameter decode_mapping, use it.
|
||
(dwarf2_free_objfile): Free line_header_hash.
|
||
|
||
2015-01-23 Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
PR gdb/17416
|
||
* valops.c (value_rtti_indirect_type): Catch exception thrown by
|
||
value_ind.
|
||
|
||
2015-01-15 Mark Wielaard <mjw@redhat.com>
|
||
|
||
* dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from
|
||
DW_AT_noreturn.
|
||
* gdbtypes.h (struct func_type): Add is_noreturn field flag. Make
|
||
calling_convention an 8 bit bit field.
|
||
(TYPE_NO_RETURN): New macro.
|
||
* infcmd.c (finish_command): Query if function does not return
|
||
normally.
|
||
* stack.c (return_command): Likewise.
|
||
|
||
2015-01-23 Pedro Alves <palves@redhat.com>
|
||
|
||
* linux-nat.c (linux_is_async_p): New macro.
|
||
(linux_nat_is_async_p):
|
||
(linux_nat_terminal_inferior): Check whether the target can async
|
||
instead of whether it is already async.
|
||
(linux_nat_terminal_ours): Don't check whether the target is
|
||
async.
|
||
(linux_async_pipe): Use linux_is_async_p.
|
||
|
||
2015-01-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
* NEWS (Changes since GDB 7.9): Add 'thread apply all' option
|
||
'-ascending'.
|
||
* thread.c (tp_array_compar_ascending, tp_array_compar): New.
|
||
(thread_apply_all_command): Parse CMD for tp_array_compar_ascending.
|
||
Sort tp_array using tp_array_compar.
|
||
(_initialize_thread): Extend thread_apply_all_command help.
|
||
|
||
2015-01-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
* corelow.c (core_open): Call also thread_command.
|
||
* gdbthread.h (thread_command): New prototype moved from ...
|
||
* thread.c (thread_command): ... here.
|
||
(thread_command): Make it global.
|
||
|
||
2015-01-22 Pedro Alves <palves@redhat.com>
|
||
|
||
* configure.ac [*mingw32*]: Check $curses_found instead of
|
||
$prefer_curses.
|
||
* configure: Regenerate.
|
||
* windows-termcap.c: Remove HAVE_CURSES_H, HAVE_NCURSES_H and
|
||
HAVE_NCURSES_NCURSES_H checks.
|
||
|
||
2015-01-22 Eli Zaretskii <eliz@gnu.org>
|
||
|
||
* tui/tui.c (tui_enable) [__MINGW32__]: If the call to 'newterm'
|
||
fails with the 1st arg NULL, try again with "unknown". Don't test
|
||
the "cup" capability: it isn't supported by the Windows port of
|
||
ncurses, but the Windows console driver is still capable of
|
||
supporting TUI.
|
||
|
||
2015-01-22 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
* compile/compile.c (_initialize_compile): Use -fPIE for compile_args.
|
||
|
||
2015-01-22 Eli Zaretskii <eliz@gnu.org>
|
||
|
||
* Makefile.in (HFILES_NO_SRCDIR): Remove ada-varobj.h.
|
||
(ALLDEPFILES): Remove irix5-nat.c. These two are part of the
|
||
reason that "make TAGS" is broken.
|
||
|
||
2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
* hppa-tdep.c (inst_saves_gr): Fix logical working flow issues
|
||
and check additional store instructions.
|
||
|
||
2015-01-21 Wei-cheng Wang <cole945@gmail.com>
|
||
|
||
* MAINTAINERS (Write After Approval): Add "Wei-cheng Wang".
|
||
|
||
2015-01-21 Wei-cheng Wang <cole945@gmail.com>
|
||
|
||
* ppc-linux-tdep.c (ppc_skip_trampoline_code,
|
||
ppc_canonicalize_syscall, ppc_linux_syscall_record,
|
||
ppc_linux_record_signal, ppc_init_linux_record_tdep): Add comments.
|
||
* ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
|
||
* rs6000-tdep.c (rs6000_epilogue_frame_cache,
|
||
rs6000_epilogue_frame_this_id, rs6000_epilogue_frame_prev_register,
|
||
rs6000_epilogue_frame_sniffer, ppc_record_vsr, ppc_process_record_op4,
|
||
ppc_process_record_op19, ppc_process_record_op31,
|
||
ppc_process_record_op59, ppc_process_record_op60,
|
||
ppc_process_record_op63): Likewise.
|
||
|
||
2015-01-20 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* nat/linux-ptrace.c (linux_ptrace_attach_fail_reason_string)
|
||
(linux_ptrace_test_ret_to_nx): Use safe_strerror instead of
|
||
strerror.
|
||
|
||
2015-01-20 Wei-cheng Wang <cole945@gmail.com>
|
||
|
||
* rs6000-tdep.c (ppc_process_record_op4, ppc_process_record_op19,
|
||
ppc_process_record_op31, ppc_process_record_op59,
|
||
ppc_process_record_op60, ppc_process_record_op63,
|
||
ppc_process_record): Fix -Wformat warning.
|
||
* rs6000-tdep.c (rs6000_epilogue_frame_cache, ppc_process_record_op60):
|
||
Remove unused variables.
|
||
|
||
2015-01-20 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
* MAINTAINERS (Write After Approval): Add "Chen Gang".
|
||
|
||
2015-01-19 Eli Zaretskii <eliz@gnu.org>
|
||
|
||
* configure.ac [*mingw32*]: Only add windows-termcap.o to
|
||
CONFIG_OBS if not building with a curses library.
|
||
* configure: Regenerate.
|
||
|
||
* windows-termcap.c: Include defs.h. Make the whole body empty if
|
||
either one of HAVE_CURSES_H or HAVE_NCURSES_H or
|
||
HAVE_NCURSES_NCURSES_H is defined.
|
||
|
||
2015-01-19 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* rs6000-tdep.c (rs6000_gdbarch_init): Move divide operator
|
||
from end of line to start of next line.
|
||
|
||
2015-01-17 Wei-cheng Wang <cole945@gmail.com>
|
||
|
||
* ppc-linux-tdep.c (ppc_skip_trampoline_code):
|
||
Scan PLT stub backward for reverse debugging.
|
||
* ppc64-tdep.c (ppc64_skip_trampoline_code): Likewise.
|
||
|
||
2015-01-17 Wei-cheng Wang <cole945@gmail.com>
|
||
Ulrich Weigand <uweigand@de.ibm.com>
|
||
|
||
* configure.tgt (powerpc*-*-linux): Add linux-record.o to
|
||
gdb_target_obs.
|
||
(ppc_linux_record_tdep, ppc64_linux_record_tdep): New for linux syscall
|
||
record.
|
||
(ppc_canonicalize_syscall, ppc_linux_syscall_record,
|
||
ppc_linux_record_signal, ppc_init_linux_record_tdep): New functions.
|
||
(ppc_linux_init_abi): Set process_record, process_record_signal.
|
||
* ppc-tdep.h (struct gdbarch_tdep): Add ppc_syscall_record and
|
||
ppc_linux_record_tdep to gdbarch_tdep.
|
||
(ppc_process_record): New declaration.
|
||
* rs6000-tdep.c (ppc_record_vsr, ppc_process_record_op4,
|
||
ppc_process_record_op19, ppc_process_record_op31,
|
||
ppc_process_record_op59, ppc_process_record_op60,
|
||
ppc_process_record_op63, ppc_process_record): New functions.
|
||
|
||
2015-01-17 Wei-cheng Wang <cole945@gmail.com>
|
||
|
||
* rs6000-tdep.c (rs6000_in_function_epilogue_p): Rename to
|
||
rs6000_in_function_epilogue_frame_p and add an argument
|
||
for frame_info.
|
||
(rs6000_epilogue_frame_cache, rs6000_epilogue_frame_this_id,
|
||
rs6000_epilogue_frame_prev_register, rs6000_epilogue_frame_sniffer):
|
||
New functions.
|
||
(rs6000_epilogue_frame_unwind): New.
|
||
(rs6000_gdbarch_init): Append epilogue unwinder.
|
||
|
||
2015-01-16 Sergio Durigan Junior <sergiodj@redhat.com>
|
||
|
||
* nat/linux-personality.c: Replace "#ifndef
|
||
HAVE_DECL_ADDR_NO_RANDOMIZE" by "#if
|
||
!HAVE_DECL_ADDR_NO_RANDOMIZE", fixing a regression in RHEL-5
|
||
systems.
|
||
|
||
2015-01-16 Eli Zaretskii <eliz@gnu.org>
|
||
|
||
* tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New
|
||
functions.
|
||
(_initialize_tui_win) <border-kind, border-mode>:
|
||
<active-border-mode>: Use tui_set_var_cmd as the "set" function.
|
||
(tui_set_tab_width_command): Fix the commentary.
|
||
|
||
* tui/tui-win.h: Add prototype for tui_rehighlight_all.
|
||
|
||
* tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command):
|
||
Doc fix.
|
||
(tui_set_tab_width_command): Delete and recreate the source and
|
||
the disassembly windows, to show the effect of the changed tab
|
||
size immediately.
|
||
|
||
* tui/tui-data.h (LINE_PREFIX): Make shorter
|
||
(MAX_PID_WIDTH): Enlarge from 14 to 19, to leave enough space for
|
||
"Thread NNNNN.XXXX" thread ID notation on Windows.
|
||
|
||
2015-01-16 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||
|
||
Fix gcc-5 compilation.
|
||
* hppa-tdep.c (inst_saves_gr): Fix parentheses typo.
|
||
|
||
2015-01-15 Sergio Durigan Junior <sergiodj@redhat.com>
|
||
|
||
* Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-personality.h.
|
||
(linux-personality.o): New rule.
|
||
* common/common-defs.h: Include <stdint.h>.
|
||
* config/aarch64/linux.mh (NATDEPFILES): Include
|
||
linux-personality.o.
|
||
* config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
|
||
* config/arm/linux.mh (NATDEPFILES): Likewise.
|
||
* config/i386/linux64.mh (NATDEPFILES): Likewise.
|
||
* config/i386/linux.mh (NATDEPFILES): Likewise.
|
||
* config/ia64/linux.mh (NATDEPFILES): Likewise.
|
||
* config/m32r/linux.mh (NATDEPFILES): Likewise.
|
||
* config/m68k/linux.mh (NATDEPFILES): Likewise.
|
||
* config/mips/linux.mh (NATDEPFILES): Likewise.
|
||
* config/pa/linux.mh (NATDEPFILES): Likewise.
|
||
* config/powerpc/linux.mh (NATDEPFILES): Likewise.
|
||
* config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
|
||
* config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
|
||
* config/s390/linux.mh (NATDEPFILES): Likewise.
|
||
* config/sparc/linux64.mh (NATDEPFILES): Likewise.
|
||
* config/sparc/linux.mh (NATDEPFILES): Likewise.
|
||
* config/tilegx/linux.mh (NATDEPFILES): Likewise.
|
||
* config/xtensa/linux.mh (NATDEPFILES): Likewise.
|
||
* defs.h: Remove #include <stdint.h> (moved to
|
||
common/common-defs.h).
|
||
* linux-nat.c: Include nat/linux-personality.h. Remove #include
|
||
<sys/personality.h>; do not define ADDR_NO_RANDOMIZE (moved to
|
||
nat/linux-personality.c).
|
||
(linux_nat_create_inferior): Remove code to disable address space
|
||
randomization (moved to nat/linux-personality.c). Create cleanup
|
||
to disable address space randomization.
|
||
* nat/linux-personality.c: New file.
|
||
* nat/linux-personality.h: Likewise.
|
||
|
||
2015-01-15 Sergio Durigan Junior <sergiodj@redhat.com>
|
||
|
||
* Makefile.in (ALLDEPFILES): Including common/mingw-strerror.c and
|
||
common/posix-strerror.c.
|
||
(posix-strerror.o): New rule.
|
||
(mingw-strerror.o): Likewise.
|
||
* common/common-utils.h (safe_strerror): Move prototype to here,
|
||
from utils.h.
|
||
* common/common.host: New file.
|
||
* common/mingw-strerror.c: Likewise.
|
||
* common/posix-strerror.c: Likewise.
|
||
* configure: Regenerated.
|
||
* configure.ac: Source common/common.host. Add variable
|
||
common_host_obs to gdb_host_obs.
|
||
* contrib/ari/gdb_ari.sh: Mention gdb/common/mingw-strerror.c and
|
||
gdb/common/posix-strerror.c when warning about the use of
|
||
strerror.
|
||
* mingw-hdep.c (safe_strerror): Remove definition; move it to
|
||
common/mingw-strerror.c.
|
||
* posix-hdep.c (safe_strerror): Remove definition; move it to
|
||
common/posix-hdep.c.
|
||
* utils.h (safe_strerror): Remove prototype; move to
|
||
common/common-utils.h.
|
||
|
||
2015-01-15 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
GDB 7.8.2 released.
|
||
|
||
2015-01-15 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-lang.c (ada_array_bound_from_type): Ignore array's parallel
|
||
___XA type if the array has already been fixed.
|
||
|
||
2015-01-14 Yao Qi <yao@codesourcery.com>
|
||
|
||
* Makefile.in (ppc-linux.o): New rule.
|
||
* config/powerpc/ppc64-linux.mh (NATDEPFILES): Add ppc-linux.o.
|
||
* configure.ac: AC_CHECK_FUNCS(getauxval).
|
||
* config.in: Re-generated.
|
||
* configure: Re-generated.
|
||
* nat/ppc-linux.h [__powerpc64__] (ppc64_64bit_inferior_p):
|
||
Declare.
|
||
* nat/ppc-linux.c: New file.
|
||
* ppc-linux-nat.c (ppc_linux_target_wordsize) [__powerpc64__]:
|
||
Call ppc64_64bit_inferior_p.
|
||
|
||
2015-01-14 Yao Qi <yao@codesourcery.com>
|
||
|
||
* ppc-linux-nat.c (PT_ORIG_R3, PT_TRAP): Move to
|
||
nat/ppc-linux.h.
|
||
(PPC_FEATURE_CELL, PPC_FEATURE_BOOKE): Likewise.
|
||
(PPC_FEATURE_HAS_DFP): Likewise.
|
||
(PTRACE_GETVRREGS, PTRACE_SETVRREGS): Likewise.
|
||
(PTRACE_GETVSXREGS, PTRACE_SETVSXREGS): Likewise.
|
||
(PTRACE_GETEVRREGS, PTRACE_SETEVRREGS): Likewise.
|
||
Include "nat/ppc-linux.h".
|
||
* nat/ppc-linux.h: New file.
|
||
* Makefile.in (HFILES_NO_SRCDIR): Add nat/ppc-linux.h.
|
||
|
||
2015-01-14 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/17525
|
||
* breakpoint.c: Include "interps.h".
|
||
(bpstat_do_actions_1): Also check whether the interpreter is
|
||
async.
|
||
|
||
2015-01-14 Pedro Alves <palves@redhat.com>
|
||
|
||
PR cli/17828
|
||
* infrun.c (reinstall_readline_callback_handler_cleanup): Don't
|
||
reinstall if the interpreter is sync.
|
||
|
||
2015-01-13 Doug Evans <dje@google.com>
|
||
|
||
* objfiles.c (objfile_filename): New function.
|
||
* objfiles.h (objfile_filename): Declare it.
|
||
(objfile_name): Add function comment.
|
||
* python/py-objfile.c (objfpy_lookup_objfile_by_name): Try both the
|
||
bfd file name (which may be realpath'd), and the original name.
|
||
|
||
2015-01-13 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* NEWS: Create a new section for the next release branch.
|
||
Rename the section of the current branch, now that it has
|
||
been cut.
|
||
|
||
2015-01-13 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
GDB 7.9 branch created (92fc2e6978d9a7c8324c7e851dbee59e22ec7a37):
|
||
* version.in: Bump version to 7.9.50.DATE-cvs.
|
||
|
||
2015-01-13 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* nat/linux-procfs.c (linux_proc_attach_tgid_threads):
|
||
Remove trailing new-line in argument of call to warning.
|
||
|
||
2015-01-13 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* linux-nat.c (attach_proc_task_lwp_callback): Remove trailing
|
||
new-line in argument of call to "warning".
|
||
|
||
2015-01-13 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-lang.c (ada_lookup_symbol_nonlocal): If name not found
|
||
in static block, then try searching for primitive types.
|
||
|
||
2015-01-12 Patrick Palka <patrick@parcs.ath.cx>
|
||
|
||
* top.h (gdb_add_history): Declare.
|
||
* top.c (command_count): New variable.
|
||
(gdb_add_history): New function.
|
||
(gdb_safe_append_history): New static function.
|
||
(quit_force): Call it.
|
||
(command_line_input): Use gdb_add_history instead of
|
||
add_history.
|
||
* event-top.c (command_line_handler): Likewise.
|
||
|
||
2015-01-12 James Clarke <jrtc27@jrtc27.com> (tiny patch)
|
||
|
||
PR gdb/17046
|
||
* darwin-nat.c: Replace <machine/setjmp.h> #include by
|
||
<setjmp.h> #include.
|
||
|
||
2015-01-11 Doug Evans <xdje42@gmail.com>
|
||
|
||
* dwarf2read.c (compute_delayed_physnames): Use TYPE_FN_FIELD_PHYSNAME.
|
||
|
||
2015-01-11 Doug Evans <xdje42@gmail.com>
|
||
|
||
PR gdb/15830
|
||
* NEWS: The "maint demangle" command is renamed as "demangle".
|
||
* demangle.c: #include cli/cli-utils.h, language.h.
|
||
(demangle_command): New function.
|
||
(_initialize_demangle): Add new command "demangle".
|
||
* maint.c (maintenance_demangle): Stub out.
|
||
(_initialize_maint_cmds): Update help text for "maint demangle",
|
||
and mark as deprecated.
|
||
|
||
2015-01-11 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* inf-ptrace.c (inf_ptrace_follow_fork): Adjust now that
|
||
inferior_thread is a function.
|
||
|
||
2015-01-09 Patrick Palka <patrick@parcs.ath.cx>
|
||
|
||
* Makefile.in (.y.c): Don't munge yacc's #line
|
||
directives.
|
||
|
||
2015-01-09 Patrick Palka <patrick@parcs.ath.cx>
|
||
|
||
* utils.c (defaulted_query): Rewrite to use gdb_readline_wrapper
|
||
to prompt for input.
|
||
* tui/tui-hooks.c (tui_query_hook): Remove.
|
||
(tui_install_hooks): Don't set deprecated_query_hook.
|
||
* tui/tui-io.c (tui_redisplay_readline): Fix off-by-one error in
|
||
height calculation. Always update the command window's cur_line.
|
||
|
||
2015-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
* breakpoint.c (hardware_breakpoint_inserted_here_p): New
|
||
function.
|
||
* breakpoint.h (hardware_breakpoint_inserted_here_p): New
|
||
declaration.
|
||
* linux-nat.c (linux_nat_status_is_event): Move higher up in file.
|
||
(linux_resume_one_lwp): Store the thread's PC. Adjust to clear
|
||
stop_reason.
|
||
(check_stopped_by_watchpoint): New function.
|
||
(save_sigtrap): Reimplement.
|
||
(linux_nat_stopped_by_watchpoint): Adjust.
|
||
(linux_nat_lp_status_is_event): Delete.
|
||
(stop_wait_callback): Only call save_sigtrap after storing the
|
||
pending status.
|
||
(status_callback): If the thread had been stopped for a breakpoint
|
||
that has since been removed, discard the event and resume the LWP.
|
||
(count_events_callback, select_event_lwp_callback): Use
|
||
lwp_status_pending_p instead of linux_nat_lp_status_is_event.
|
||
(cancel_breakpoint): Rename to ...
|
||
(check_stopped_by_breakpoint): ... this. Record whether the LWP
|
||
stopped for a software breakpoint or hardware breakpoint.
|
||
(select_event_lwp): Only give preference to the stepping LWP in
|
||
all-stop mode. Adjust comments.
|
||
(stop_and_resume_callback): Remove references to new_pending_p.
|
||
(linux_nat_filter_event): Likewise. Leave exit events of the
|
||
leader thread pending here. Handle signal short circuiting here.
|
||
Only call save_sigtrap after storing the pending waitstatus.
|
||
(linux_nat_wait_1): Remove 'retry' label. Remove references to
|
||
new_pending. Don't handle leaving events the caller is not
|
||
interested in pending here, nor handle signal short-circuiting
|
||
here. Also give equal priority to all LWPs that have had events
|
||
in non-stop mode. If reporting a software breakpoint event,
|
||
unadjust the LWP's PC.
|
||
* linux-nat.h (enum lwp_stop_reason): New.
|
||
(struct lwp_info) <stop_pc>: New field.
|
||
(struct lwp_info) <stopped_by_watchpoint>: Delete field.
|
||
(struct lwp_info) <stop_reason>: New field.
|
||
* x86-linux-nat.c (x86_linux_prepare_to_resume): Adjust.
|
||
|
||
2015-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
* linux-nat.c (linux_handle_extended_wait) <PTRACE_EVENT_EXEC>:
|
||
Set the LWP's 'resumed' flag.
|
||
|
||
2015-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
* linux-nat.c (linux_resume_one_lwp): New function.
|
||
(resume_lwp): Use lwp_status_pending_p and linux_resume_one_lwp.
|
||
(linux_nat_resume): Use lwp_status_pending_p and
|
||
linux_resume_one_lwp.
|
||
(linux_handle_syscall_trap): Use linux_resume_one_lwp.
|
||
(linux_handle_extended_wait): Use linux_resume_one_lwp.
|
||
(status_callback, running_callback): Use lwp_status_pending_p.
|
||
(lwp_status_pending_p): New function.
|
||
(stop_and_resume_callback): Use lwp_status_pending_p.
|
||
(linux_nat_filter_event): Use linux_resume_one_lwp.
|
||
(linux_nat_wait_1): Always use status_callback to look for an LWP
|
||
with a pending status. Use linux_resume_one_lwp.
|
||
(resume_stopped_resumed_lwps): Use lwp_status_pending_p and
|
||
linux_resume_one_lwp.
|
||
|
||
2015-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
* breakpoint.c (bp_location_inserted_here_p): New function,
|
||
factored out from ...
|
||
(breakpoint_inserted_here_p): ... here. Use
|
||
ALL_BP_LOCATIONS_AT_ADDR.
|
||
(software_breakpoint_inserted_here_p): Use
|
||
bp_location_inserted_here_p and ALL_BP_LOCATIONS_AT_ADDR.
|
||
|
||
2014-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
Skip enabling event reporting if the kernel supports
|
||
PTRACE_EVENT_CLONE.
|
||
* linux-thread-db.c: Include "nat/linux-ptrace.h".
|
||
(thread_db_use_events): New function.
|
||
(try_thread_db_load_1): Check thread_db_use_events before enabling
|
||
event reporting.
|
||
(update_thread_state): New function.
|
||
(attach_thread): Use it. Check thread_db_use_events before
|
||
enabling event reporting.
|
||
(thread_db_detach): Check thread_db_use_events before disabling
|
||
event reporting.
|
||
(find_new_threads_callback): Check thread_db_use_events before
|
||
enabling event reporting. Update the thread's state if not using
|
||
libthread_db events.
|
||
|
||
2015-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
* linux-nat.c (lin_lwp_attach_lwp): Assert that the lwp id we're
|
||
about to wait for is > 0.
|
||
* linux-thread-db.c (find_new_threads_callback): Ignore thread if
|
||
the kernel thread ID is -1.
|
||
|
||
2015-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
* linux-nat.c (attach_proc_task_lwp_callback): New function.
|
||
(linux_nat_attach): Use linux_proc_attach_tgid_threads.
|
||
(wait_lwp, linux_nat_filter_event): If not set yet, set the lwp's
|
||
ptrace option flags.
|
||
* linux-nat.h (struct lwp_info) <must_set_ptrace_flags>: New
|
||
field.
|
||
* nat/linux-procfs.c: Include <dirent.h>.
|
||
(linux_proc_get_int): New parameter "warn". Handle it.
|
||
(linux_proc_get_tgid): Adjust.
|
||
(linux_proc_get_tracerpid): Rename to ...
|
||
(linux_proc_get_tracerpid_nowarn): ... this.
|
||
(linux_proc_pid_get_state): New function, factored out from
|
||
(linux_proc_pid_has_state): ... this. Add new parameter "warn"
|
||
and handle it.
|
||
(linux_proc_pid_is_gone): New function.
|
||
(linux_proc_pid_is_stopped): Adjust.
|
||
(linux_proc_pid_is_zombie_maybe_warn)
|
||
(linux_proc_pid_is_zombie_nowarn): New functions.
|
||
(linux_proc_pid_is_zombie): Use
|
||
linux_proc_pid_is_zombie_maybe_warn.
|
||
(linux_proc_attach_tgid_threads): New function.
|
||
* nat/linux-procfs.h (linux_proc_get_tgid): Update comment.
|
||
(linux_proc_get_tracerpid): Rename to ...
|
||
(linux_proc_get_tracerpid_nowarn): ... this, and update comment.
|
||
(linux_proc_pid_is_gone): New declaration.
|
||
(linux_proc_pid_is_zombie): Update comment.
|
||
(linux_proc_pid_is_zombie_nowarn): New declaration.
|
||
(linux_proc_attach_lwp_func): New typedef.
|
||
(linux_proc_attach_tgid_threads): New declaration.
|
||
* nat/linux-ptrace.c (linux_ptrace_attach_fail_reason): Adjust to
|
||
use nowarn functions.
|
||
(linux_ptrace_attach_fail_reason_string): Move here from
|
||
gdbserver/linux-low.c and rename.
|
||
(ptrace_supports_feature): If the current ptrace options are not
|
||
known yet, check them now, instead of asserting.
|
||
* nat/linux-ptrace.h (linux_ptrace_attach_fail_reason_string):
|
||
Declare.
|
||
|
||
2015-01-09 Pedro Alves <palves@redhat.com>
|
||
|
||
* linux-thread-db.c (thread_db_find_new_threads_silently)
|
||
(try_thread_db_load_1, try_thread_db_load, thread_db_load_search)
|
||
(find_new_threads_once): Print debug output on gdb_stdlog.
|
||
|
||
2015-01-09 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
Pedro Alves <palves@redhat.com>
|
||
|
||
* compile/compile.c: Include "gdb_wait.h".
|
||
(do_rmdir): Check return value, and free 'zap'.
|
||
|
||
2015-01-08 Pedro Alves <palves@redhat.com>
|
||
Yao Qi <yao@codesourcery.com>
|
||
|
||
* dwarf2loc.c (indirect_pieced_value): Don't call
|
||
gdb_sign_extend. Call extract_signed_integer instead.
|
||
* utils.c (gdb_sign_extend): Remove.
|
||
* utils.h (gdb_sign_extend): Remove declaration.
|
||
|
||
2015-01-07 Pierre Muller <muller@sourceware.org>
|
||
|
||
PR symtab/17811
|
||
* stabsread.c (define_symbol): Set language for C++ special symbols.
|
||
|
||
2015-01-07 Patrick Palka <patrick@parcs.ath.cx>
|
||
|
||
* inflow.c (initial_gdb_ttystate): Tweak comment.
|
||
|
||
2015-01-07 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* inflow.c (set_initial_gdb_ttystate): Add empty line after
|
||
comment documenting function.
|
||
|
||
2015-01-07 Patrick Palka <patrick@parcs.ath.cx>
|
||
|
||
* terminal.h (set_initial_gdb_ttystate): Declare.
|
||
* inflow.c (initial_gdb_ttystate): New static variable.
|
||
(set_initial_gdb_ttystate): New setter.
|
||
(child_terminal_init_with_pgrp): Copy initial_gdb_ttystate
|
||
instead of our current terminal state.
|
||
* top.c (gdb_init): Call set_initial_gdb_ttystate.
|
||
|
||
2015-01-07 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* guile/scm-type.c (tyscm_array_1): Add comment.
|
||
* python/py-type.c (typy_array_1): Add comment.
|
||
|
||
2015-01-06 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* guile/scm-type.c (tyscm_array_1): Do not raise out-of-range
|
||
error if N2 is equal to N1 - 1.
|
||
|
||
2015-01-06 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* python/py-type.c (typy_array_1): Do not raise negative-length
|
||
exception if N2 is equal to N1 - 1.
|
||
|
||
2015-01-03 Doug Evans <xdje42@gmail.com>
|
||
|
||
* c-exp.y: Whitespace cleanup.
|
||
(classify_inner_name): Remove extra ;.
|
||
|
||
2015-01-02 Maciej W. Rozycki <macro@codesourcery.com>
|
||
|
||
* mips-tdep.c (mips32_scan_prologue): Keep the extracted stack
|
||
offset signed.
|
||
|
||
2015-01-02 Doug Evans <dje@google.com>
|
||
|
||
* dwarf2read.c (setup_type_unit_groups): Remove outdated comment.
|
||
|
||
2015-01-02 Doug Evans <dje@google.com>
|
||
|
||
* symtab.h (struct symbol): Fix typo in comment.
|
||
|
||
2015-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
2015-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* top.c (print_gdb_version): Update copyright year to 2015.
|
||
|
||
2015-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2014.
|
||
|
||
For older changes see ChangeLog-2014.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
coding: utf-8
|
||
End:
|