bafffb51c4
Consider the following code: type Table is array (Positive range <>) of Integer; type Object (N : Integer) is record Data : Table (1 .. N); end record; My_Object : Object := (N => 3, Data => (3, 5, 8)); Trying to print the range and length of the My_Object.Data array yields: (gdb) print my_object.data'first $1 = 1 (gdb) print my_object.data'last $2 = 0 (gdb) print my_object.data'length $3 = 0 The first one is correct, and that is thanks to the fact that the lower bound is statically known. However, for the upper bound, and consequently the array's length, the values are incorrect. It should be: (gdb) print my_object.data'last $2 = 3 (gdb) print my_object.data'length $3 = 3 What happens here is that ada_array_bound_from_type sees that our array has a parallel "___XA" type, and therefore tries to use it. In particular, it described our array's index type as: [...]___XDLU_1__n, which means lower bound = 1, and upper bound is value of "n". Unfortunately, ada_array_bound_from_type does not have access to the discriminant, and is therefore unable to compute the bound correctly. Fortunately, at this stage, the bound has already been computed a while ago, and therefore doesn't need to be re-computed here. This patch fixes the issue by ignoring that ___XA type if the array is marked as already fixed. This also fixes the same issue with packed arrays. gdb/ChangeLog: * ada-lang.c (ada_array_bound_from_type): Ignore array's parallel ___XA type if the array has already been fixed. gdb/testsuite/ChangeLog: * gdb.ada/var_arr_attrs: New testcase.
361 lines
13 KiB
Text
361 lines
13 KiB
Text
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:
|