Commit Graph

29752 Commits

Author SHA1 Message Date
Tom Tromey fa86499982 * ada-lang.c: Include gdb_vecs.h.
* charset.c: Include gdb_vecs.h.
	* tracepoint.h: Include gdb_vecs.h.
	* gdb_vecs.h: New file.
2012-01-24 21:36:37 +00:00
Tom Tromey f90263c124 2012-01-24 Pedro Alves <pedro@codesourcery.com>
* breakpoint.c (breakpoint_hit_catch_fork)
	(breakpoint_hit_catch_vfork, breakpoint_hit_catch_syscall)
	(breakpoint_hit_catch_exec): Make use of the `ws' argument.
	* infrun.c (inferior_has_forked, inferior_has_vforked)
	(inferior_has_execd, inferior_has_called_syscall): Delete.
	(handle_syscall_event): Get syscall_number from the execution
	control state's wait status.
	(wait_for_inferior): Don't clear syscall_number.
2012-01-24 21:32:56 +00:00
Tom Tromey 09ac7c10d4 2012-01-24 Pedro Alves <palves@redhat.com>
* breakpoint.c (bpstat_check_location, bpstat_stop_status,
	pc_at_non_inline_function): Add `ws' parameter, and pass it down.
	(breakpoint_hit_catch_fork, breakpoint_hit_catch_vfork)
	(breakpoint_hit_catch_syscall, breakpoint_hit_catch_exec): Add
	`ws' parameter.
	(breakpoint_hit_ranged_breakpoint): Add `ws' parameter.  Return
	false for events other than TARGET_SIGNAL_TRAP.
	(breakpoint_hit_watchpoint, base_breakpoint_breakpoint_hit):
	Add `ws' parameter.
	(bkpt_breakpoint_hit): Add `ws' parameter.  Return false for
	events other than TARGET_SIGNAL_TRAP.
	(tracepoint_breakpoint_hit): Add `ws' parameter.
	* breakpoint.h (struct breakpoint_ops) <breakpoint_hit>: Add `ws'
	parameter.
	(bpstat_stop_status): Same.
	(pc_at_non_inline_function): Same.
	* infrun.c (handle_syscall_event, handle_inferior_event): Adjust
	to pass the current event's waitstatus to bpstat_stop_status
	and pc_at_non_inline_function.
2012-01-24 21:31:24 +00:00
Jan Kratochvil 86eb7e951a gdb/
Code cleanup.
	* cli/cli-cmds.c (source_script_from_stream): Never fclose STREAM.
	Update the function comment for it.
	(source_script_with_search): Call make_cleanup_fclose for STREAM.
	* cli/cli-script.c (script_from_file): Do not call make_cleanup_fclose
	for STREAM.
2012-01-24 20:56:33 +00:00
Jan Kratochvil 30b91c9079 gdb/testsuite/
Fix fuzzy results.
	* gdb.mi/var-cmd.c (do_locals_tests): Initialize variables lsimple,
	lpsimple and func.
2012-01-24 20:35:35 +00:00
Pedro Alves a9b3a50fba 2012-01-24 Pedro Alves <palves@redhat.com>
* breakpoint.c (bpstat_stop_status): Moving clearing print_it
	outside `bs->stop' block.
	(bpstat_what): Rework bp_shlib_event handling.
	(internal_bkpt_check_status): If the breakpoint is a
	bp_shlib_event, then set bs->stop and bs->print if
	stop_on_solib_events is set.
2012-01-24 19:12:32 +00:00
Gary Benson 53fe178334 ChangeLog:
Delete #if 0'd out code.
	* stack.c (print_frame_label_vars): Remove.
	(catch_info): Likewise.
	(_initialize_stack): Remove "info catch" command.
	* NEWS: Mention the above.

doc/ChangeLog:
	Delete #if 0'd out code.
	* gdb.texinfo (Frame Info): Remove "info catch".

testsuite/ChangeLog:
	Delete #if 0'd out code.
	* gdb.base/default.exp (info catch): Remove.
	* gdb.base/gdb_history (info catch): Likewise.
	* gdb.base/help.exp (info catch): Likewise.
2012-01-24 15:13:30 +00:00
Pedro Alves 49c62f2ef1 2012-01-24 Pedro Alves <palves@redhat.com>
* remote.c (remote_add_inferior): New `fake_pid_p' parameter.  Use
	it.
	(remote_notice_new_inferior): If the remote end doesn't support
	the multiprocess extensions, then the PID is fake.
	(add_current_inferior_and_thread): New.
	(remote_start_remote): Use it.
	(extended_remote_attach_1): Adjust.
	(extended_remote_create_inferior_1): Use
	add_current_inferior_and_thread.
2012-01-24 14:19:03 +00:00
Jan Kratochvil d0d8b0c667 gdb/
Fix watchpoints to be specific for each inferior.
	* breakpoint.c (watchpoint_in_thread_scope): Verify also
	current_program_space.
	* i386-nat.c (i386_inferior_data_cleanup): New.
	(i386_inferior_data_get): Replace variable inf_data_local by an
	inferior_data call.
	(i386_use_watchpoints): Initialize i386_inferior_data.
	* linux-nat.c (linux_nat_iterate_watchpoint_lwps): Use INFERIOR_PTID
	specific iterate_over_lwps.

gdb/testsuite/
	Fix watchpoints to be specific for each inferior.
	* gdb.multi/watchpoint-multi.c: New file.
	* gdb.multi/watchpoint-multi.exp: New file.
2012-01-24 13:49:58 +00:00
Jan Kratochvil 4403d8e9b3 gdb/
Fix watchpoints across inferior fork.
	* amd64-linux-nat.c (update_debug_registers_callback): Update the
	comment for linux_nat_iterate_watchpoint_lwps.
	(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use
	linux_nat_iterate_watchpoint_lwps.
	(amd64_linux_prepare_to_resume): New comment on Linux kernel.
	* i386-linux-nat.c (update_debug_registers_callback): Update the
	comment for linux_nat_iterate_watchpoint_lwps.
	(i386_linux_dr_set_control, i386_linux_dr_set_addr): Use
	linux_nat_iterate_watchpoint_lwps.
	(i386_linux_prepare_to_resume): New comment on Linux kernel.
	* i386-nat.c: Include inferior.h.
	(dr_mirror): Remove.
	(i386_inferior_data, struct i386_inferior_data)
	(i386_inferior_data_get): New.
	(i386_debug_reg_state): Use i386_inferior_data_get.
	(i386_cleanup_dregs, i386_update_inferior_debug_regs)
	(i386_insert_watchpoint, i386_remove_watchpoint)
	(i386_stopped_data_address, i386_insert_hw_breakpoint)
	(i386_remove_hw_breakpoint): New variable state, use
	i386_debug_reg_state instead of DR_MIRROR.
	* linux-nat.c (delete_lwp): New declaration.
	(num_lwps): Move here from downwards.
	(delete_lwp_cleanup): New.
	(linux_child_follow_fork): Create new child_lp, call
	linux_nat_new_thread and linux_nat_prepare_to_resume before calling
	PTRACE_DETACH.
	(num_lwps): Move upwards.
	(linux_nat_iterate_watchpoint_lwps): New.
	* linux-nat.h (linux_nat_iterate_watchpoint_lwps_ftype): New.
	(linux_nat_iterate_watchpoint_lwps_ftype): New declaration.

gdb/testsuite/
	Fix watchpoints across inferior fork.
	* gdb.threads/watchpoint-fork-child.c: New file.
	* gdb.threads/watchpoint-fork-mt.c: New file.
	* gdb.threads/watchpoint-fork-parent.c: New file.
	* gdb.threads/watchpoint-fork-st.c: New file.
	* gdb.threads/watchpoint-fork.exp: New file.
	* gdb.threads/watchpoint-fork.h: New file.
2012-01-24 13:46:55 +00:00
gdbadmin 2992c9a711 GDB 7.4 released. 2012-01-24 11:35:39 +00:00
gdbadmin 82d4eca981 *** empty log message *** 2012-01-24 00:00:33 +00:00
Pedro Alves e360902bf6 2012-01-23 Pedro Alves <palves@redhat.com>
* top.c (caution): Rename to ...
	(confirm): ... this.
	(show_caution): Rename to ...
	(show_confirm): ... this.
	(quit_cover): Adjust.
	(init_main): Adjust.
	* top.h (caution): Rename to ...
	(confirm): ... this.
	* utils.c (internal_vproblem, defaulted_query): Adjust.
2012-01-23 17:12:30 +00:00
Pedro Alves 050a2e1dab gdb/
2012-01-23  Pedro Alves  <palves@redhat.com>

	* top.c (caution): Update comment.
	(execute_command): Don't consider the current value of `caution'.

gdb/testsuite/
2012-01-23  Pedro Alves  <palves@redhat.com>

	* gdb.base/call-signal-resume.exp: Allow output after "return".
2012-01-23 17:11:50 +00:00
Pedro Alves 01b1789443 2012-01-23 Pedro Alves <palves@redhat.com>
* server.c (main): Avoid yet another case of infinite loop while
	detaching/killing after a longjmp.
2012-01-23 16:40:26 +00:00
Jan Kratochvil 77a35dd897 gdb/
* cli/cli-cmds.c (find_and_open_script): Handle failure of fdopen.
2012-01-23 16:37:03 +00:00
Ulrich Weigand a71b5a3812 * inf-child.c: Include "gdb_stat.h" instead of <sys/stat.h>.
* linux-tdep.c (linux_info_proc): Avoid ARI coding style warning.
	* target.c (target_fileio_pwrite): Remove buffer address from
	debug output.
	(target_fileio_pread): Likewise.
2012-01-23 13:35:22 +00:00
gdbadmin 2d6bdbd03f *** empty log message *** 2012-01-23 00:00:03 +00:00
gdbadmin c4e97bc937 *** empty log message *** 2012-01-22 00:00:33 +00:00
gdbadmin cfb8ec168f *** empty log message *** 2012-01-21 00:00:02 +00:00
Jan Kratochvil e825046fcf gdb/gdbserver/
Code cleanup.
	* linux-low.c (linux_wait_for_event_1): Use ptid_is_pid.
2012-01-20 20:02:25 +00:00
Pedro Alves 6a52fb620c 2012-01-20 Pedro Alves <palves@redhat.com>
* gdb.python/py-finish-breakpoint.py: Fix typo.
2012-01-20 20:00:14 +00:00
Ulrich Weigand d99bd577a1 * NEWS: Document remote "info proc" and "generate-core-file". 2012-01-20 10:31:26 +00:00
Ulrich Weigand 35c2fab7c6 * gdbarch.sh (find_memory_regions): New callback.
* gdbarch.c, gdbarch.h: Regenerate.

	* gcore.c (gcore_memory_sections): Try gdbarch find_memory_regions
	callback before falling back to target method.

	* linux-nat.c (read_mapping, linux_nat_find_memory_regions): Remove.
	(linux_target_install_ops): No longer install it.

	* linux-tdep.c (linux_find_memory_regions): New function.
	(linux_init_abi): Install it.
2012-01-20 09:59:15 +00:00
Ulrich Weigand 6432734d1d * gdbarch.sh (make_corefile_notes): New architecture callback.
* gdbarch.c: Regenerate.
	* gdbarch.h: Likewise.

	* gcore.c (write_gcore_file): Try gdbarch_make_corefile_notes
	before target_make_corefile_notes.  If NULL is returned, the
	target does not support core file generation.

	* linux-nat.c: Include "linux-tdep.h".
	(find_signalled_thread, find_stop_signal): Remove.
	(linux_nat_do_thread_registers): Likewise.
	(struct linux_nat_corefile_thread_data): Likewise.
	(linux_nat_corefile_thread_callback): Likewise.
	(iterate_over_spus): Likewise.
	(struct linux_spu_corefile_data): Likewise.
	(linux_spu_corefile_callback): Likewise.
	(linux_spu_make_corefile_notes): Likewise.
	(linux_nat_collect_thread_registers): New function.
	(linux_nat_make_corefile_notes): Replace contents by call to
	linux_make_corefile_notes passing linux_nat_collect_thread_registers
	as native-only callback.

	* linux-tdep.h: Include "bfd.h".
	(struct regcache): Add forward declaration.
	(linux_collect_thread_registers_ftype): New typedef.
	(linux_make_corefile_notes): Add prototype.
	* linux-tdep.c: Include "gdbthread.h", "gdbcore.h", "regcache.h",
	"regset.h", and "elf-bfd.h".
	(find_signalled_thread, find_stop_signal): New functions.
	(linux_spu_make_corefile_notes): Likewise.
	(linux_collect_thread_registers): Likewise.
	(struct linux_corefile_thread_data): New data structure.
	(linux_corefile_thread_callback): New funcion.
	(linux_make_corefile_notes): Likewise.
	(linux_make_corefile_notes_1): Likewise.
	(linux_init_abi): Install it.
2012-01-20 09:56:56 +00:00
Ulrich Weigand 3030c96e66 * gdbarch.sh (info_proc): New callback.
* gdbarch.c, gdbarch.h: Regenerate.

	* infcmd.c (info_proc_cmd_1): Try gdbarch info_proc callback
	before falling back to the target info_proc callback.

	* linux-nat.c: Do not include "cli/cli-utils.h".
	(linux_nat_info_proc): Remove.
	(linux_target_install_ops): No longer install it.

	* linux-tdep.c: Include "cli/cli-utils.h" and <ctype.h>.
	(read_mapping): New function.
	(linux_info_proc): Likewise.
	(linux_init_abi): Install it.
2012-01-20 09:49:58 +00:00
Ulrich Weigand 145b16a97a ChangeLog:
* defs.h (enum info_proc_what): Moved here from linux-nat.c
	* infcmd.c: (info_proc_cmd_1): New function.
	(info_proc_cmd): New function, moved here from equivalent routine
	orignally in linux-nat.c.
	(info_proc_cmd_mappings): Likewise.
	(info_proc_cmd_stat): Likewise.
	(info_proc_cmd_status): Likewise.
	(info_proc_cmd_cwd): Likewise.
	(info_proc_cmd_cmdline): Likewise.
	(info_proc_cmd_exe): Likewise.
	(info_proc_cmd_all): Likewise.
	(_initialize_infcmd): Install "info proc" command and subcommands.

	* target.h (struct target_ops): Add to_info_proc.
	(target_info_proc): Add prototype.
	* target.c (target_info_proc): New function.

	* procfs.c (procfs_info_proc): Add prototype.
	(info_proc_cmd): Rename into ...
	(procfs_info_proc): ... this.  Update argument types as appropriate
	for a to_info_proc implementation.  Handle "what" argument.
	(procfs_target): Install procfs_info_proc.
	(_initialize_procfs): No longer install "info proc" command.

	* linux-nat.c: (enum info_proc_what): Remove.
	(linux_nat_info_proc_cmd_1): Rename into ...
	(linux_nat_info_proc): ... this.  Update argument types as appropriate
	for a to_info_proc implementation.
	(linux_nat_info_proc_cmd): Remove.
	(linux_nat_info_proc_cmd_mappings): Likewise.
	(linux_nat_info_proc_cmd_stat): Likewise.
	(linux_nat_info_proc_cmd_status): Likewise.
	(linux_nat_info_proc_cmd_cwd): Likewise.
	(linux_nat_info_proc_cmd_cmdline): Likewise.
	(linux_nat_info_proc_cmd_exe): Likewise.
	(linux_nat_info_proc_cmd_all): Likewise.
	(linux_target_install_ops): Install linux_nat_info_proc.
	(_initialize_linux_nat): No longer install "info proc" command
	and subcommands.

testsuite/ChangeLog:

	* gdb.base/info-proc.exp: Also run on remote targets.  Main
	"info proc" command is now always present; whether target supports
	actual info proc operation is detected when attempting to issue
	the command.
2012-01-20 09:49:01 +00:00
Ulrich Weigand b9e7b9c3de ChangeLog:
* 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.

doc/ChangeLog:

	* gdb.texinfo (Remote Configuration): Document
	"set remote hostio-readlink-packet" command.
	(General Query Packets): Document vFile:readlink packet.

gdbserver/ChangeLog:

	* hostio.c (handle_readlink): New function.
	(handle_vFile): Call it to handle "vFile:readlink" packets.
2012-01-20 09:47:32 +00:00
Ulrich Weigand 7313baad7c 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 09:45:51 +00:00
Ulrich Weigand 901f991244 2012-01-20 Pedro Alves <palves@redhat.com>
Ulrich Weigand  <ulrich.weigand@linaro.org>

ChangeLog:

	* 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.

gdbserver/ChangeLog:

	* server.c (handle_v_requests): Only support vAttach and vRun to
	start multiple processes when in extended protocol mode.
2012-01-20 09:44:35 +00:00
Ulrich Weigand e714e1bf77 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-20 09:42:44 +00:00
gdbadmin 8b70fe3ad6 *** empty log message *** 2012-01-20 00:00:33 +00:00
Tom Tromey 508972892c * NEWS: Combine the two Python sections. 2012-01-19 16:54:03 +00:00
Jan Kratochvil 1afc203311 gdb/
* target.h (target_close): Update comment on the target's unpush state.
2012-01-19 16:36:38 +00:00
Pedro Alves 305436e07a 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 16:32:59 +00:00
Gary Benson 4932389582 2012-01-19 Gary Benson <gbenson@redhat.com>
* mdebugread.c (sort_blocks): Replace integer constants with ones
	derived from FIRST_LOCAL_BLOCK.
2012-01-19 12:51:04 +00:00
Jan Kratochvil 26f6125ebd gdb/testsuite/
* .gdbinit: Remove.
2012-01-19 12:44:01 +00:00
Pedro Alves eb5227ce35 2012-01-19 Pedro Alves <palves@redhat.com>
* gdb.java/jprint.exp: Don't rely on inferior output, but instead
	look at the funtions' returns.
	* gdb.java/jprint.java (jvclass.addprint, jprint.print(int))
	(jprint.print(int, int)): Change return type to int.  Adjust.
2012-01-19 12:37:28 +00:00
gdbadmin 8da108ce40 *** empty log message *** 2012-01-19 00:00:32 +00:00
Paul Pluzhnikov 1db333787d 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.

testsuite/ChangeLog:

2012-01-18  Paul Pluzhnikov  <ppluzhnikov@google.com>

	PR gdb/9538
	* gdb.base/sepdebug.exp: New test.
2012-01-18 18:58:43 +00:00
Doug Evans f83d8a90ae * 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 18:35:43 +00:00
Pedro Alves b9736cf836 2012-01-18 Pedro Alves <palves@redhat.com>
* gdb.ada/mi_task_info.exp (-ada-task-info with no argument):
	Allow output before ^done.
2012-01-18 17:00:17 +00:00
Sergio Durigan Junior 2dbca4d632 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 12:47:35 +00:00
Pedro Alves 0695b514b3 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-18 11:51:55 +00:00
gdbadmin b750fb87a1 *** empty log message *** 2012-01-18 00:00:33 +00:00
Doug Evans 136e1c3078 * 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 20:30:22 +00:00
Pedro Alves fc1ab1a0ff 2012-01-17 Pedro Alves <palves@redhat.com>
* tracepoint.c (initialize_tracepoint): Use mmap instead of
	memalign plus mprotect to allocate the scratch buffer.
2012-01-17 17:22:10 +00:00
Pedro Alves c0bf857deb 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 14:03:33 +00:00
Jan Kratochvil b486de6062 gdb/
Fix compilation error.
	* m2-exp.y (yyerror): Use ANSI C prototype.
2012-01-17 00:06:47 +00:00
gdbadmin a3f2b44cfd *** empty log message *** 2012-01-17 00:00:33 +00:00
Sergio Durigan Junior d04550a6d7 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 21:03:36 +00:00
Tom Tromey 4aac40c837 gdb
* 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.
gdb/doc
	* gdb.texinfo (Specify Location): Document relative file name
	handling.
gdb/testsuite
	* gdb.linespec/linespec.exp: Change some tests to use $decimal.
	Add tests for relative directory.
2012-01-16 20:40:53 +00:00
Tom Tromey cafec44190 gdb
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.
gdb/doc
	* gdb.texinfo (gdb.printing): Document FlagEnumerationPrinter.
gdb/testsuite
	* gdb.base/printcmds.c (enum flag_enum): New.
	(three): New global.
	* gdb.base/printcmds.exp (test_print_enums): Add test for flag
	enum printing.
	* gdb.python/py-pp-maint.py (build_pretty_printer): Instantiate
	FlagEnumerationPrinter.
	* gdb.python/py-pp-maint.exp: Add tests for FlagEnumerationPrinter.
	* gdb.python/py-pp-maint.c (enum flag_enum): New.
	(fval): New global.
2012-01-16 19:44:16 +00:00
Sergio Durigan Junior 983af33b26 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-16 17:44:36 +00:00
Pedro Alves abcc497831 2012-01-16 Pedro Alves <palves@redhat.com>
* lib/gdb.exp (banned_procedures): New variable.
	(banned_variables_traced): Rename to ...
	(banned_traced): ... this.
	(gdb_init): Also trace banned procedures.
	(gdb_finish): Also untrace banned procedures.
2012-01-16 17:31:25 +00:00
Pedro Alves 97ccebe869 2012-01-16 Pedro Alves <palves@redhat.com>
Remove all calls to strace.
2012-01-16 16:21:53 +00:00
gdbadmin bfcfb5c9a1 *** empty log message *** 2012-01-16 00:00:04 +00:00
gdbadmin 4442237884 *** empty log message *** 2012-01-15 00:00:03 +00:00
Doug Evans 4795f3986a * NEWS: Update text for "maint set python print-stack".
It is deprecated in gdb 7.4 and deleted in 7.5.
2012-01-14 18:13:27 +00:00
Jan Kratochvil 2af7517b11 gdb/testsuite/
* gdb.dwarf2/dw2-namespaceless-anonymous.S: New file.
	* gdb.dwarf2/dw2-namespaceless-anonymous.exp: New file.
2012-01-14 10:46:35 +00:00
gdbadmin 5376855288 *** empty log message *** 2012-01-14 00:00:33 +00:00
Pedro Alves 7d5d4e982d 2012-01-13 Pedro Alves <palves@redhat.com>
* server.c (attach_inferior): Clear `cont_thread'.
2012-01-13 20:06:40 +00:00
Pedro Alves f128d5e9da 2012-01-13 Pedro Alves <palves@redhat.com>
* server.c (main): Avoid infinite loop while detaching/killing
	after a longjmp.
2012-01-13 20:02:36 +00:00
Paul Pluzhnikov 9241a8bcf3 2012-01-13 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.base/attach-pie-misread.exp: Pass -pie only to the linker.
	* gdb.base/pie-execl.exp: Likewise.
2012-01-13 18:39:31 +00:00
Jan Kratochvil 0ee339bc47 gdb/doc/
* gdbint.texinfo (Coding Standards): Require braces for two lines of
	code.
2012-01-13 14:31:55 +00:00
Eli Zaretskii ee5106fede Avoid compiler warnings in gdb_curses.h on MinGW.
See http://sourceware.org/ml/gdb-patches/2012-01/msg00298.html
for more details about the problem.

 gdb/gdb_curses.h (MOUSE_MOVED) [__MINGW32__]: Undefine before
 including curses.h.
2012-01-13 10:44:35 +00:00
gdbadmin 763bf0cf3b *** empty log message *** 2012-01-13 00:00:32 +00:00
Jan Kratochvil b161e06ff6 gdb/
* configure: Regenerate.
	* config.in: Regenerate.
2012-01-12 23:38:47 +00:00
Keith Seitz 85254831c0 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 22:51:10 +00:00
Keith Seitz 3848a17fe5 PR mi/10586
* gdb.mi/var-cmd.c (struct anonymous): New structure.
	(do_anonymous_type_tests): New function.
	(main): Call do_anonymous_type_tests.
	* gdb.mi/mi2-var-child.exp: Add anonymous type tests.
	(verify_everything): New procedure.
	* gdb.mi/mi-var-cp.cc (class A): New class.
	(anonymous_structs_and_unions): New function.
	(main): Call anonymous_structs_and_unions.
	* gdb.mi/mi-var-cp.exp: Add anonymous type tests.
	(verify_everything): New procedure.
2012-01-12 22:50:49 +00:00
Keith Seitz 440e2fca6a * lib/mi-support.exp: Expand comments about PATH_EXPR.
(varobj_tree::get_path_expr): Assume that all varobjs are
	compound unless they are known simple types.
	Adjust path expressions based on parent type, path parent type,
	and tree language.
	(varobj_tree::walk_tree): Add LANGUAGE parameter and save it into
	the root varobj.
	(mi_walk_varobj_tree): Add LANGUAGE parameter.
2012-01-12 22:28:34 +00:00
Pedro Alves 620fa63a22 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-12 15:39:36 +00:00
gdbadmin bc71dbbe56 *** empty log message *** 2012-01-12 00:00:32 +00:00
Paul Pluzhnikov f888f159f4 Trivial cleanup: kill trailing whitespace 2012-01-12 00:00:01 +00:00
Andreas Tobler 2efa2c79ea 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 21:51:31 +00:00
Tom Tromey 88e7d25d8d PR gdb/9598:
* breakpoint.c (_initialize_breakpoint): Fix help for "catch
	catch" and "catch throw".
2012-01-11 18:30:19 +00:00
Pedro Alves 675399c96d 2012-01-11 Pedro Alves <palves@redhat.com>
* gdb.base/default.exp (core-file): Don't expect "GDB can't read
	core files on this machine" anymore.
2012-01-11 10:59:51 +00:00
Paul N. Hilfinger 97ddaa9bd5 Add test for use of "<block>::<variable>" syntax for locals in watch.
First, fix a technical problem with the function recurser.  The test sets a
watch on local_x at a point where its value is technically undefined.  The
test is written assuming that the value is not initially 2, but nothing in the
C standard guarantees that.

Second, augment the existing test for variables in recursive calls to check an
equivalent expression that explicitly sets the scope of the local variable
being tracked.

2012-01-11  Paul Hilfinger  <hilfingr@adacore.com>

	* gdb.base/watchpoint.c (recurser): Initialize local_x.
	(main): Repeat recurser call.
	* gdb.base/watchpoint.exp: Check that 'watch recurser::local_x' is
	equivalent to 'local_x'.
2012-01-11 10:36:18 +00:00
Paul N. Hilfinger ea73357595 Add testcase for locals identified with FUNCTION::VAR syntax.
This test stops inside a recursive function after a few levels of recursion,
goes up some frames, and then accesses a local variable with 'print foo::val'
rather than the usual 'print val' to see if the former pays attention to the
selected frame.

2012-01-11  Paul Hilfinger  <hilfingr@adacore.com>
    	    Joel Brobecker <brobecker@adacore.com>

	* gdb.base/recpar.c, gdb.base/recpar.exp: New files.
2012-01-11 10:35:12 +00:00
Paul N. Hilfinger 72384ba31a Have block_innermost_frame start from selected frame and document.
GDB used to search for the frame containing variables in a particular
lexical block starting from the current (top) frame, ignoring any
currently selected frame.  It is not clear why this is desirable for
variables that require a frame; why would a user deliberately select
one frame and then expect to see the value of a variable in a more
recent frame?  This change causes block_innermost_frame to start
looking from the selected frame, if there is one.  It may be
unnecessarily conservative: we use get_selected_frame_if_set rather
than get_selected_frame in order to avoid the side effect of calling
select_frame, which would probably be harmless.

Expression-parsing routines previously made the unwarranted assumption
that all block-qualified variables (written with the GDB extension
<block>::<variable>) are static.  As a result, they failed to update
innermost_block, which confused the watch commands about when
variables in watched expressions went out of scope, and also caused
the wrong variables to be watched.  This patch also modifies these
routines to treat all local variables the same whether or not they are
block-qualified.

Finally, we add a paragraph to the "Program Variables" section of the texinfo
documentation concerning the use of "::" for accessing non-static variables.

2012-01-11  Paul Hilfinger  <hilfingr@adacore.com>

	* gdb/blockframe.c (block_innermost_frame): Start search from selected
	frame, if present, or otherwise the current frame.

	* gdb/c-exp.y (variable): Update innermost_block for
	'block COLONCOLON NAME' clause.
	* gdb/m2-exp.y (variable): Ditto.
	* gdb/objc-exp.y (variable): Ditto.

	* gdb/doc/gdb.texinfo (Variables): Document use of :: for non-static
	variables.
2012-01-11 10:34:21 +00:00
gdbadmin 313a658140 *** empty log message *** 2012-01-11 00:00:03 +00:00
Tom Tromey 065a711fc5 PR python/13199:
* python/python.c (finish_python_initialization): Set sys.argv.
2012-01-10 21:26:39 +00:00
Doug Evans f3f5162ecf * 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 21:16:59 +00:00
Jan Kratochvil 9934703b91 gdb/
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 19:29:12 +00:00
Jan Kratochvil 06b9f45fe4 gdb/
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-10 16:30:49 +00:00
gdbadmin 4299088ecd *** empty log message *** 2012-01-10 00:00:32 +00:00
Doug Evans 3436505436 * 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 22:31:39 +00:00
Keith Seitz 696166a376 * breakpoint.c (wrapper.h): Don't include. 2012-01-09 20:47:47 +00:00
Keith Seitz 8e7b59a53f * 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 20:27:49 +00:00
Doug Evans 9ff913ba1b * 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.
2012-01-09 17:40:05 +00:00
Doug Evans 1a4eeb9811 * parser-defs.h (namecopy): Delete.
* parse.c (namecopy, namecopy_size): Move into copy_name.
2012-01-09 17:27:20 +00:00
Doug Evans 06db92f054 * server.c (start_inferior): Set last_ptid in --wrapper case. 2012-01-09 17:17:50 +00:00
Jan Kratochvil 2e6af8c045 gdb/
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 15:21:13 +00:00
Pedro Alves 9f2f828a17 2012-01-09 Pedro Alves <palves@redhat.com>
* MAINTAINERS: Update my email address.
2012-01-09 10:07:30 +00:00
gdbadmin e71bd25763 *** empty log message *** 2012-01-09 00:00:03 +00:00
Doug Evans d467dd7300 * 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.
2012-01-08 22:20:17 +00:00
Doug Evans 4d72c0bc3e * gdbtypes.h (struct cplus_struct_type): Delete member
nfn_fields_total.  All uses removed.
2012-01-08 21:02:45 +00:00
gdbadmin 49c57d84cd *** empty log message *** 2012-01-08 00:00:02 +00:00
gdbadmin 48b5efd2c0 *** empty log message *** 2012-01-07 00:00:03 +00:00
Doug Evans 21b2bd31ce * 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 18:13:22 +00:00