aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2012-03-15 * d-lang.c (d_language_defn) <la_iterate_over_symbols>: Set toTom Tromey2-1/+6
iterate_over_symbols.
2012-03-15gdb/gdbserver/Yao Qi2-25/+42
* tracepoint.c (install_tracepoint): Move duplicated tracepoint handling to ... (cmd_qtdp): ... here.
2012-03-15gdb/gdbserver/Yao Qi2-48/+114
* tracepoint.c (struct tracepoint_action_ops): New. (struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field. (m_tracepoint_action_download): New. (r_tracepoint_action_download): New. (x_tracepoint_action_download): New. (l_tracepoint_action_download): New. (add_tracepoint_action): Install `action->ops' according type. (download_tracepoint_1): Move code `download' function pointer of various tracepoint_action_ops.
2012-03-15gdb/testsuite/Thomas Schwinge14-169/+186
* gdb.dwarf2/dw2-ada-ffffffff.S: Use .4byte instead of .long for describing DWARF data structures. * gdb.dwarf2/dw2-bad-parameter-type.S: Likewise. * gdb.dwarf2/dw2-double-set-die-type.S: Likewise. * gdb.dwarf2/dw2-empty-pc-range.S: Likewise. * gdb.dwarf2/dw2-entry-value.S: Likewise. * gdb.dwarf2/dw2-modula2-self-type.S: Likewise. * gdb.dwarf2/dw2-param-error.S: Likewise. * gdb.dwarf2/dw2-skip-prologue.S: Likewise. * gdb.dwarf2/dw2-stack-boundary.S: Likewise. * gdb.dwarf2/dw4-sig-type-unused.S: Likewise. * gdb.dwarf2/implptr-optimized-out.S: Likewise. * gdb.dwarf2/member-ptr-forwardref.S: Likewise. * gdb.dwarf2/pr11465.S: Likewise.
2012-03-15 * dwarf2read.c (dwarf_stack_op_name): Add DW_OP_GNU_encoded_addr,Doug Evans2-0/+9
DW_OP_GNU_parameter_ref.
2012-03-15*** empty log message ***gdbadmin1-1/+1
2012-03-14gdb/Jan Kratochvil5-4/+64
Fix double prompt of 'interpreter-exec mi'. * mi/mi-interp.c (mi_execute_command_input_handler): New prototype. (mi_interpreter_resume): use it. (mi_execute_command_input_handler): New function. * mi/mi-main.c (mi_execute_command): Move prompt printing to mi_execute_command_input_handler. gdb/testsuite/ * gdb.mi/mi2-prompt.exp: New file.
2012-03-14Mark latest entry in ChangeLog as "tiny change".Joel Brobecker1-1/+1
2012-03-14Fix -Wmissing-prototypes build warnings on Darwin.Joel Brobecker5-2/+25
gdb/ 2012-03-13 Josh Matthews <josh@joshmatthews.net> * darwin-nat-info.c (_initialize_darwin_info_commands): Add prototype. (darwin_debug_port_info): Make static. * darwin-nat.c (_initialize_darwin_inferior): Add prototype. * machoread.c (_initialize_machoread): Add prototype. * i386-darwin-nat.c (i386_darwin_dr_set, i386_darwin_dr_get) (i386_darwin_set_control, i386_darwin_get_control) i386_darwin_dr_set_addr, i386_darwin_get_addr) i386_darwin_get_status, i386_darwin_get_control): Comment out with HW_WATCHPOINT_NOT_YET_ENABLED macro.
2012-03-14Testcase for: "ax-gdb: Do not treat enums and bools as integers".Joel Brobecker3-0/+96
gdb/testsuite/ChangeLog: * gdb.base/enum_cond.c, gdb.base/enum_cond.exp: New testcase.
2012-03-14ax-gdb: Do not treat enums and bools as integers.Joel Brobecker2-6/+5
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.
2012-03-14testcase for "gdb-ax.c: Add handling of TYPE_CODE_RANGE types"Joel Brobecker5-0/+111
gdb/testsuite/ChangeLog: * gdb.ada/bp_range_type: New testcase.
2012-03-14ax-gdb.c: Add handling of TYPE_CODE_RANGE types.Joel Brobecker2-0/+7
This patch fixes an error that occurs with GDB + GDBserver when trying to insert a breakpoint with a condition that involves a range type. For instance: type INT_T is range 0 .. 1000; INT_VAR : INT_T := 12; And then trying to insert the breakpoint: (gdb) break foo.adb:18 if int_var > 15 Breakpoint 1 at 0x4021eb: file foo.adb, line 18. (gdb) cont Continuing. /[...]/ax-gdb.c:560: internal-error: gen_fetch: bad type code A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) This patch fixes the problem by adding handling for range types in gen_fetch. gdb/ChangeLog: * ax-gdb.c (gen_fetch): Add handling for TYPE_CODE_RANGE types.
2012-03-14*** empty log message ***gdbadmin1-1/+1
2012-03-13Minor cleanup in aix-thread.c:supply_fprs.Joel Brobecker2-3/+9
This is a minor cleanup that makes supply_fprs more consistent with how fill_fprs was written. gdb/ChangeLog: * aix-thread.c (supply_fprs): Make more consistent with fill_fprs.
2012-03-13Fix buffer overflow in aix-thread.c:fill_fprsJoel Brobecker2-1/+7
gdb/ 2012-03-08 Chris January <chris.january@allinea.com> * aix-thread.c (fill_sprs): Store the floating point registers at the correct offsets into vals.
2012-03-13 * NEWS: Mention symbol-reloading has been deleted.Doug Evans12-77/+30
* symfile.c (symbol_reloading): Delete. (show_symbol_reloading): Delete. (_initialize_symfile): Delete set/show symbol-reloading. doc/ * gdb.texinfo (Help): Change apropos example to use "alias" instead of "reload". (Symbols): Delete docs for set/show symbol-reloading. * gdbint.texinfo (Defining Other Architecture Features): Delete SYMBOL_RELOADING_DEFAULT. * refcard.tex: Delete reference to symbol-reloading. testsuite/ * gdb.base/default.exp: Delete tests for symbol-reloading. * gdb.base/help.exp: Ditto. * gdb.base/setshow.exp: Ditto. * gdb.base/gdb_history: Delete references to symbol-reloading.
2012-03-13 * dwarf2read.c (load_partial_comp_unit): Defer adding cu toDoug Evans2-8/+16
read_in_chain until we have successfully read it in. (load_full_comp_unit): Ditto. (read_signatured_type): Add comment.
2012-03-13[stabs] The address of Fortran common blocks may be > INT_MAX.Joel Brobecker2-2/+7
gdb/ 2012-03-08 Chris January <chris.january@allinea.com> * stabsread.c (fix_common_block): Change type of valu argument to CORE_ADDR.
2012-03-13[ppc/prologue] Support the "oril r29, r1, 0x0" insn.Joel Brobecker2-0/+14
gdb/ 2012-03-13 Chris January <chris.january@allinea.com> * rs6000-tdep.c (skip_prologue): Support the oril r29, r1, 0x0 instruction.
2012-03-13gdb/Jan Kratochvil11-49/+237
* 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.
2012-03-13gdb/Jan Kratochvil26-54/+146
* 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.
2012-03-132012-03-13 Hui Zhu <teawater@gmail.com>Pedro Alves7-29/+72
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.
2012-03-132012-03-13 Pedro Alves <palves@redhat.com>Pedro Alves2-2/+34
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.
2012-03-13gdb:Yao Qi6-44/+110
* 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.
2012-03-13*** empty log message ***gdbadmin1-1/+1
2012-03-12 * inf-ptrace.c (inf_ptrace_post_attach): Make static.Mark Kettenis2-1/+5
2012-03-12Add missing prototypes for build in ppx-aix.Joel Brobecker4-0/+12
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.
2012-03-12amd64bsd-nat.c: Move "amd64bsd-nat.h" include...Joel Brobecker2-1/+6
... after include of "amd64-nat.h". gdb/ChangeLog: * amd64bsd-nat.c: Move #include of "amd64bsd-nat.h" after include of "amd64-nat.h".
2012-03-12 * buildsym.c (record_pending_block): Now static.Tom Tromey3-9/+10
* buildsym.h: (record_pending_block): Remove.
2012-03-122012-03-12 Andreas Tobler <andreast@fgznet.ch>Andreas Tobler2-0/+5
* amd64bsd-nat.c: Include amd64bsd-nat.h.
2012-03-12*** empty log message ***gdbadmin1-1/+1
2012-03-11*** empty log message ***gdbadmin1-1/+1
2012-03-10*** empty log message ***gdbadmin1-1/+1
2012-03-09 * dwarf2read.c (struct dwarf2_cu) <checked_producer,Tom Tromey2-10/+31
producer_is_gxx_lt_4_6>: New fields. (producer_is_gxx_lt_4_6): Use and update producer cache fields.
2012-03-09 * dwarf2read.c (dwarf2_attr): Avoid tail-recursive call.Tom Tromey2-13/+19
2012-03-09Fix a couple of ChangeLog entries.Joel Brobecker1-4/+2
2012-03-09 * lib/gdb.exp (gdb_get_line_number): Throw anKeith Seitz5-10/+17
error instead of returning -1. * gdb.base/break.exp: Remove unused variable bp_location5. * gdb.base/hbreak2.exp: Likewise. * gdb.base/sepdebug.exp: Likewise.
2012-03-092012-03-08 Yao Qi <yao@codesourcery.com>Yao Qi6-46/+187
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.
2012-03-09Add missing _initialize_ravenscar_sparc prototype.Joel Brobecker2-0/+8
This is required now that we compile GDB with -Wmissing-prototype. gdb/ChangeLog: * ravenscar-sparc-thread.c (_initialize_ravenscar_sparc): Add prototype.
2012-03-09Add missing _initialize_ravenscar prototype.Joel Brobecker2-0/+7
gdb/ChangeLog: * ravenscar-thread.c (_initialize_ravenscar): Add prototype.
2012-03-09*** empty log message ***gdbadmin1-1/+1
2012-03-08gdb/Jan Kratochvil3-2/+8
Fix -Wmissing-prototypes build. * arm-linux-nat.c (get_thread_id): Make it static. * xtensa-linux-nat.c (get_thread_id): Likewise.
2012-03-08Make breakpoint condition detection trace conditional on remote_debug.Joel Brobecker2-1/+7
gdb/gdbserver/ChangeLog: * server.c (process_point_options): If a conditional expression is found, only print a message if remote_debug is nonzero.
2012-03-08 * gdb.ada/array_bounds.exp: Get breakpoint for lineKeith Seitz3-3/+8
with "START", not "STOP". * gdb.python/py-infthread.exp: Do not continue to line marked "Break here.", which is undefined.
2012-03-08Revert "ax-gdb: Do not treat enums and bools as integers."Joel Brobecker1-0/+6
This patch was checked hasn't been reviewed and has been checked in by mistake (wrong patch applied).
2012-03-082012-03-08 Luis Machado <lgustavo@codesourcery.com>Luis Machado2-24/+23
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.
2012-03-082012-03-08 Luis Machado <lgustavo@codesourcery.com>Luis Machado2-6/+10
* ax-gdb.c (gen_fetch): Fail gracefully and use error instead of internal error for unknown/unsupported types.
2012-03-08ax-gdb: Do not treat enums and bools as integers.Joel Brobecker1-6/+0
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.
2012-03-08gdb/Jan Kratochvil5-3/+38
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.