Age | Commit message (Collapse) | Author | Files | Lines |
|
* common/linux-procfs.c (linux_proc_get_int): New, from
linux_proc_get_tgid, change its LWPID type to pid_t, add parameter
field.
(linux_proc_get_tgid): Only call linux_proc_get_int.
(linux_proc_get_tracerpid): New.
(linux_proc_pid_has_state): New, from linux_proc_pid_is_zombie.
(linux_proc_pid_is_stopped, linux_proc_pid_is_zombie): Only call
linux_proc_pid_has_state.
* common/linux-procfs.h (linux_proc_get_tracerpid): New declaration.
* common/linux-ptrace.c: Include linux-procfs.h and buffer.h.
(linux_ptrace_attach_warnings): New.
* common/linux-ptrace.h (struct buffer, linux_ptrace_attach_warnings):
New declaration.
* linux-nat.c: Include exceptions.h, linux-ptrace.h and buffer.h.
(linux_nat_attach): New variables ex, buffer, message and message_s.
Wrap to_attach by TRY_CATCH and call linux_ptrace_attach_warnings.
gdb/gdbserver/
* linux-low.c (linux_attach_lwp_1): New variable buffer. Call
linux_ptrace_attach_warnings.
gdb/testsuite/
* gdb.base/attach-twice.c: New files.
* gdb.base/attach-twice.exp: New files.
|
|
* Makefile.in (linux-ptrace.o): New.
* common/linux-procfs.c (linux_proc_pid_is_zombie): New,
from linux-nat.c.
* common/linux-procfs.h (linux_proc_pid_is_zombie): New declaration.
* common/linux-ptrace.c: New file.
* config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-ptrace.o.
* config/arm/linux.mh: Likewise.
* config/i386/linux.mh: Likewise.
* config/i386/linux64.mh: Likewise.
* config/ia64/linux.mh: Likewise.
* config/m32r/linux.mh: Likewise.
* config/m68k/linux.mh: Likewise.
* config/mips/linux.mh: Likewise.
* config/pa/linux.mh: Likewise.
* config/powerpc/linux.mh: Likewise.
* config/powerpc/ppc64-linux.mh: Likewise.
* config/powerpc/spu-linux.mh: Likewise.
* config/s390/s390.mh: Likewise.
* config/sparc/linux.mh: Likewise.
* config/sparc/linux64.mh: Likewise.
* config/xtensa/linux.mh: Likewise.
* linux-nat.c (linux_lwp_is_zombie): Remove, move it to
common/linux-procfs.c.
(wait_lwp): Rename linux_lwp_is_zombie to linux_proc_pid_is_zombie.
gdb/gdbserver/
* Makefile.in (linux-ptrace.o): New.
* configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
(cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
(m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
(s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
(x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
of these targets.
* linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
|
|
Pedro Alves <palves@redhat.com>
* breakpoint.c (init_breakpoint_sal): New flags parameter. Handle
CREATE_BREAKPOINT_FLAGS_INSERTED.
(create_breakpoint_sal, create_breakpoints_sal)
(base_breakpoint_create_breakpoints_sal)
(tracepoint_create_breakpoints_sal)
(strace_marker_create_breakpoints_sal): New flags parameter. Pass
down.
(break_command_1, handle_gnu_v3_exceptions, trace_command)
(ftrace_command, strace_command): Adjust.
(create_tracepoint_from_upload): Pass
CREATE_BREAKPOINT_FLAGS_INSERTED.
* breakpoint.h (enum breakpoint_create_flags): New.
(create_breakpoint): New flags parameter.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust.
* python/py-breakpoint.c (bppy_init): Adjust.
* python/py-finishbreakpoint.c (bpfinishpy_init): Adjust.
* spu-tdep.c (spu_catch_start): Adjust.
|
|
Hui Zhu <teawater@gmail.com>
Yao Qi <yao@codesourcery.com>
* remote.c (struct remote_state): New field `starting_up'.
(remote_start_remote): Set and clear it.
(remote_can_download_tracepoint): If starting up, return false.
|
|
* inferior.h (struct inferior): Remove fields any_syscall_count,
syscalls_counts and total_syscalls_count. Move them to new
struct catch_syscall_inferior_data in breakpoint.c.
* breakpoint.c: Call DEF_VEC_I(int).
(struct catch_syscall_inferior_data): New.
(get_catch_syscall_inferior_data): New.
(catch_syscall_inferior_data_cleanup): New.
(insert_catch_syscall): Update to access data in
struct catch_syscall_inferior_data.
(insert_catch_syscall): Likewise.
(remove_catch_syscall): Likewise.
(remove_catch_syscall): Likewise.
(is_syscall_catchpoint_enabled): Likewise.
(add_catch_command): Likewise.
(_initialize_breakpoint): Register cleanup.
* breakpoint.h: Removed DEF_VEC_I(int).
* dwarf2loc.c: Call DEF_VEC_I(int).
* mi/mi-main.c: Likewise.
|
|
|
|
|
|
gdb/ChangeLog:
2012-03-12 Chris January <chris.january@allinea.com>
* aix-thread.c (_initialize_aix_thread): Add prototype.
* rs6000-nat.c (_initialize_rs6000_nat): Ditto.
* xcoffsolib.c (_initialize_xcoffsolib): Ditto.
|
|
... after include of "amd64-nat.h".
gdb/ChangeLog:
* amd64bsd-nat.c: Move #include of "amd64bsd-nat.h" after
include of "amd64-nat.h".
|
|
* buildsym.h: (record_pending_block): Remove.
|
|
* amd64bsd-nat.c: Include amd64bsd-nat.h.
|
|
|
|
|
|
|
|
producer_is_gxx_lt_4_6>: New fields.
(producer_is_gxx_lt_4_6): Use and update producer cache fields.
|
|
|
|
|
|
error instead of returning -1.
* gdb.base/break.exp: Remove unused variable
bp_location5.
* gdb.base/hbreak2.exp: Likewise.
* gdb.base/sepdebug.exp: Likewise.
|
|
Pedro Alves <palves@redhat.com>
Fix PR server/13392.
* linux-x86-low.c (amd64_install_fast_tracepoint_jump_pad): Check
offset of JMP insn.
* tracepoint.c (remove_tracepoint): New.
(cmd_qtdp): Call remove_tracepoint when failed to install.
2012-03-08 Yao Qi <yao@codesourcery.com>
Pedro Alves <palves@redhat.com>
Fix PR server/13392.
* gdb.trace/change-loc.exp (tracepoint_change_loc_1): Remove kfail.
(tracepoint_change_loc_2): Remove kfail. Return if failed to
download tracepoints.
* gdb.trace/pending.exp (pending_tracepoint_works): Likewise.
(pending_tracepoint_resolved_during_trace): Likewise.
(pending_tracepoint_installed_during_trace): Likewise.
(pending_tracepoint_with_action_resolved): Likewise.
|
|
This is required now that we compile GDB with -Wmissing-prototype.
gdb/ChangeLog:
* ravenscar-sparc-thread.c (_initialize_ravenscar_sparc): Add
prototype.
|
|
gdb/ChangeLog:
* ravenscar-thread.c (_initialize_ravenscar): Add prototype.
|
|
|
|
Fix -Wmissing-prototypes build.
* arm-linux-nat.c (get_thread_id): Make it static.
* xtensa-linux-nat.c (get_thread_id): Likewise.
|
|
gdb/gdbserver/ChangeLog:
* server.c (process_point_options): If a conditional expression
is found, only print a message if remote_debug is nonzero.
|
|
with "START", not "STOP".
* gdb.python/py-infthread.exp: Do not continue to
line marked "Break here.", which is undefined.
|
|
This patch was checked hasn't been reviewed and has been checked in
by mistake (wrong patch applied).
|
|
Revert:
2012-03-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Implement testsuite workaround for PR breakpoints/13781.
* gdb.cp/mb-templates.exp: New loop with variable $workaround.
(set breakpoint condition-evaluation host): New conditional command.
|
|
* ax-gdb.c (gen_fetch): Fail gracefully and use error instead
of internal error for unknown/unsupported types.
|
|
This patch fixes a problem when using gdb + gdbserver, and trying
to break on a function when one of the (enum) parameters is equal
to a certain value, and the size of that enum is 1 byte.
(gdb) break mixed.adb:15 if light = green
Breakpoint 2 at 0x402d5a: file mixed.adb, line 15.
(gdb) cont
Continuing.
[Inferior 1 (process 9742) exited normally]
The debugger should have stopped once when our function was call
with light set to green.
Here is what happens: Because we're using a recent GDBserver,
GDB hands off the evaluation of the condition to GDBserver, by
providing it in the Z0 packet. This is what GDB sends:
$Z0,402d5a,1;X13,26000622100223ff1c16100219162022011327#cf
I decoded the condition as follow:
260006 reg 6 -> push
2210 const8 0x10 -> push
02 add (stack now has 1 element equal to reg6 + 16)
23ff1c const16 0xff1c
1610 ext 16 (sign extend 16 bits)
02 add (stack now has 1 element equal to reg6 + 16 - 228)
19 ref32: Pop as addr, push 32bit value at addr.
1620 ext 32 (sign extend 32 bits)
2201 const8 0x01
13 equal
27 end
The beginning of the agent expression can be explained by the address
of symbol "light":
(gdb) info addr light
Symbol "light" is a variable at frame base reg $rbp offset 16+-228.
However, the mistake is the "ext 32" operation (extend 32 bits),
because our variable is *not* 32bits, only 8:
(gdb) print light'size
$5 = 8
But the reason why GDB decides to use a 32bit extension is because
it overrides the symbol's type with a plain integer type in
ax-gdb.c:gen_usual_unary...
/* If the value is an enum or a bool, call it an integer. */
case TYPE_CODE_ENUM:
case TYPE_CODE_BOOL:
value->type = builtin_type (exp->gdbarch)->builtin_int;
break;
... before calling require_rvalue. And of course, that causes the
generator to generate a sizeof(int) extension of the result.
One way to fix this would be to use an integer type of the correct
size, but I do not understand why this is necessary. The two routines
that use that information to generate the opcode down the line are
gen_fetch (for a memory value), or gen_extend (for a register value).
And they both have handling of enums and bools.
So the fix we elected to implement was simply to remove that code.
gdb/ChangeLog:
* ax-gdb.c (gen_usual_unary): Remove special handling of
enum and bool types.
|
|
Fix CU relative vs. absolute DIE offsets.
* dwarf2loc.h (dwarf2_fetch_die_location_block): Rename parameter
offset to offset_in_cu.
* dwarf2read.c (process_enumeration_scope): Add CU offset to
TYPE_OFFSET.
(dwarf2_fetch_die_location_block): Rename parameter offset to
offset_in_cu. New variable offset, add CU offset to OFFSET_IN_CU.
gdb/testsuite/
Fix CU relative vs. absolute DIE offsets.
* gdb.dwarf2/dw2-op-call.S: New compilation unit preceding the existing
one.
|
|
* libunwind-frame.c: Rename to ...
* ia64-libunwind-tdep.c: ... here.
* libunwind-frame.h: Rename to ...
* ia64-libunwind-tdep.h: ... here.
* Makefile.in (HFILES_NO_SRCDIR): Rename libunwind-frame.h to
ia64-libunwind-tdep.h.
(ALLDEPFILES): Rename libunwind-frame.c to ia64-libunwind-tdep.c.
* README (--with-libunwind): Rename to ...
(--with-libunwind-ia64): ... here, note it is ia64 specific now.
* config.in: Regenerate.
* configure: Regenerate.
* configure.ac: New option --with-libunwind-ia64, make the
AS_HELP_STRING ia64 specific. Deprecate option --with-libunwind.
Remove AC_DEFINE for HAVE_LIBUNWIND.
* ia64-libunwind-tdep.c: Make the file top comment ia64 specific.
Rename libunwind-frame.h #include to ia64-libunwind-tdep.h.
Rename libunwind-frame in the general comment.
* ia64-libunwind-tdep.h: Make the file top comment ia64 specific.
Rename symbol LIBUNWIND_FRAME_H to IA64_TDEP_LIBUNWIND_FRAME_H.
Move forward declarations inside #ifndef. Rename libunwind-frame in
the general comment.
* ia64-tdep.c: Rename libunwind-frame.h #include to
ia64-libunwind-tdep.h.
(ia64_gdb2uw_regnum, ia64_uw2gdb_regnum, ia64_is_fpreg)
(ia64_libunwind_descr): Rename libunwind-frame to
ia64-libunwind-tdep in these function comments.
* ia64-tdep.h: Rename libunwind-frame.h #include to
ia64-libunwind-tdep.h.
* ia64-vms-tdep.c (ia64_vms_libunwind_descr): Rename libunwind-frame to
ia64-libunwind-tdep in that data comment.
|
|
* libunwind-frame.h (struct frame_unwind): New declaration.
|
|
The 3 valid values for this setting are "auto", "host" and "target".
The help was advertising one of them to be "gdb" instead of "host".
gdb/ChangeLog:
* breakpoint.c (_initialize_breakpoint): Fix error in help of
"set breakpoint condition-evaluation" command.
|
|
2012-03-08 Tristan Gingold <gingold@adacore.com>
* sparc-stub.c: Move to stubs/
* sh-stub.c: Likewise.
* m68k-stub.c: Likewise.
* m32r-stub.c: Likewise.
* i386-stub.c: Likewise.
gdb/stubs/
2012-03-08 Tristan Gingold <gingold@adacore.com>
* sparc-stub.c: Move from ..
* sh-stub.c: Likewise.
* m68k-stub.c: Likewise.
* m32r-stub.c: Likewise.
* i386-stub.c: Likewise.
|
|
linux_get_siginfo_type.
|
|
(PTRACE_GET_THREAD_AREA): Define.
(ps_get_thread_area): New function.
|
|
* remote.c (remote_get_noisy_reply): Replace `sprintf' with
`xsnprintf'.
(remote_query_attached): Likewise.
(remote_static_tracepoint_marker_at): Likewise.
(remote_set_permissions): Likewise.
(remote_detach_1, extended_remote_attach_1): Likewise.
(send_g_packet, remote_vkill): Likewise.
(extended_remote_disable_randomization): Likewise.
(remote_add_target_side_condition): Likewise.
(remote_insert_breakpoint): Likewise.
(remote_remove_breakpoint): Likewise.
(remote_insert_watchpoint): Likewise.
(remote_remove_watchpoint): Likewise.
(remote_insert_hw_breakpoint): Likewise.
(remote_insert_hw_breakpoint): Likewise.
(remote_remove_hw_breakpoint): Likewise.
(remote_download_command_source): Likewise.
(remote_download_tracepoint): Likewise.
(remote_download_trace_state_variable): Likewise.
(remote_disable_tracepoint): Likewise.
(remote_trace_set_readonly_regions): Likewise.
(remote_get_tracepoint_status): Likewise.
(remote_trace_find): Likewise.
(remote_get_trace_state_variable_value): Likewise.
(remote_set_disconnected_tracing): Likewise.
(remote_set_circular_trace_buffer): Likewise.
(remote_get_min_fast_tracepoint_insn_len): Likewise.
(remote_use_agent): Likewise.
(remote_add_target_side_condition): Add one parameter BUF_SIZE.
Update callers.
|
|
Fix false FAIL on distros with relro linkage as default.
* gdb.reverse/solib-precsave.exp: Try to compile the test using
-Wl,-z,norelro first.
|
|
|
|
gdb/doc/
* gdb.texinfo (General Query Packets): Document new
QProgramSignals packet.
* gdb.texinfo (Remote configuration): Mention
"program-signals-packet".
gdb/gdbserver/
* linux-low.c (get_detach_signal): New.
(linux_detach_one_lwp): Get rid of a pending SIGSTOP with SIGCONT.
Pass on pending signals to PTRACE_DETACH. Check the result of the
ptrace call.
* server.c (program_signals, program_signals_p): New.
(handle_general_set): Handle QProgramSignals.
* server.h (program_signals, program_signals_p): Declare.
gdb/
* NEWS: Mention QProgramSignals.
* inferior.h (update_signals_program_target): Declare.
* infrun.c: (update_signals_program_target): New.
(handle_command): Update the target of the new program signals
array changes.
* remote.c (PACKET_QProgramSignals): New enum.
(last_program_signals_packet): New global.
(remote_program_signals): New.
(remote_start_remote): Update the target with the program signals
list.
(remote_protocol_features): Add entry for QPassSignals.
(remote_open_1): Free anc clear last_program_signals_packet.
(init_remote_ops): Install remote_program_signals.
* target.c (update_current_target): Adjust.
(target_program_signals): New.
* target.h (struct target_ops) <to_program_signals>: New field.
(target_program_signals): Declare.
|
|
* NEWS: Add subtitle for new z0/z1 conditional breakpoint
extensions.
|
|
(getfpregs_supplies): Likewise.
(have_ptrace_getregs): Likewise.
|
|
|
|
gdb/ChangeLog:
* dwarf2read.c (dwarf2_get_die_type): Pass absolute offset
in call to get_die_type_at_offset.
|
|
* mi/mi-cmd-disas.c: Ditto.
* mi/mi-cmd-env.c: Ditto.
* mi/mi-cmd-file.c: Ditto.
* mi/mi-cmd-stack.c: Ditto.
* mi/mi-cmd-target.c: Ditto.
* mi/mi-cmd-var.c: Ditto.
* mi/mi-cmds.c: Ditto.
* mi/mi-cmds.h: Ditto.
* mi/mi-console.c: Ditto.
* mi/mi-getopt.c: Ditto.
* mi/mi-getopt.h: Ditto.
* mi/mi-interp.c: Ditto.
* mi/mi-main.c: Ditto.
* mi/mi-out.c: Ditto.
* mi/mi-parse.c: Ditto.
* mi/mi-parse.h: Ditto.
* mi/mi-symbol-cmds.c: Ditto.
* mi/mi-getopt.h: Move mi_opt struct up.
* mi/mi-main.c (captured_mi_execute_command): Remove redundant
return.
* mi/mi-out.c (_initialize_mi_out): Remove empty initialize.
|
|
space.
|
|
gdb/testsuite/ChangeLog:
* gdb.ada/bp_on_var: New testcase.
|
|
* gregset.h [HAVE_SYS_PROCFS_H]: Include <sys/procfs.h>.
|
|
gdb/testsuite/ChangeLog:
* gdb.ada/bp_enum_homonym: New testcase.
|
|
* gdb.trace/ftrace.exp (test_fast_tracepoints): Run test on target
x86_64-*-* and i?86-*-*.
Set up KFAIL for gdb/13808.
|