Commit Graph

26229 Commits

Author SHA1 Message Date
Pierre Muller 9b79b476a6 * p-lang.c (pascal_one_char): Do not restrict C to 0..255 range. 2010-04-16 08:12:59 +00:00
Pierre Muller 711e434b39 Support for Windows OS Thread Information Block.
* NEWS: Document new feature.
	* remote.c (PACKET_qGetTIBAddr): New enum element.
	(remote_get_tib_address): New function.
	(init_remote_ops): Set to_get_tib_address field
	to remote_get_tib_address.
	(_initialize_remote): Add add_packet_config_cmd
	for PACKET_qGetTIBAddr.
	* target.c (update_current_target): Set default value for
	new to_get_tib_address field.
	* target.h (target_ops): New field to_get_tib_address.
	(target_get_tib_address): New macro.
	* windows-nat.c (thread_info): Add thread_local_base field.
	(windows_add_thread): Add tlb argument of type 'void *'.
	(fake_create_process): Adapt windows_add_thread call.
	(get_windows_debug_event): Idem.
	(windows_get_tib_address): New function.
	(init_windows_ops): Set to_get_tib_address field
	to remote_get_tib_address.
	(_initialize_windows_nat): Replace info_w32_cmdlist
	initialization by a call to init_w32_command_list.
	(info_w32_command, info_w32_cmdlist): Removed from here...
	to windows-tdep.c file.
	* windows-tdep.h (info_w32_cmdlist): Declare.
	(init_w32_command_list): New external function
	declaration.
	* windows-tdep.c: Add several headers.
	(info_w32_cmdlist): to here, made global.
	(thread_information_32): New struct.
	(thread_information_64): New struct.
	(TIB_NAME): New char array.
	(MAX_TIB32, MAX_TIB64, FULL_TIB_SIZE): New constants.
	(maint_display_all_tib): New static variable.
	(windows_get_tlb_type): New function.
	(tlb_value_read, tlb_value_write): New functions.
	(tlb_value_funcs): New static struct.
	(tlb_make_value): New function.
	(display_one_tib): New function.
	(display_tib): New function.
	(show_maint_show_all_tib):New function.
	(info_w32_command): Moved from windows-nat.c.
	(init_w32_command_list): New function.
	(_initialize_windows_tdep): New function.
	New "maint set/show show-all-tib" command
	New "$_tlb" internal variable.

gdbserver/ChangeLog entry:

	* server.c (handle_query): Handle 'qGetTIBAddr' query.
	* target.h (target_ops): New get_tib_address field.
	* win32-low.h (win32_thread_info): Add thread_local_base field.
	* win32-low.c (child_add_thread): Add tlb argument.
	Set thread_local_base field to TLB.
	(get_child_debug_event): Adapt to child_add_thread change.
	(win32_get_tib_address): New function.
	(win32_target_ops): Set get_tib_address field to
	win32_get_tib_address.
	* linux-low.c (linux_target_ops): Set get_tib_address field to NULL.

doc/ChangeLog entry:

	gdb.texinfo ($_tlb): Document new automatic convinience variable.
	(info w32 thread-information-block): Document new command.
	(qGetTIBAddress): Document new gdbserver query.
	(maint set/show show-all-tib): Document new command.
2010-04-16 07:49:37 +00:00
Joel Brobecker cae3f17bee * tui/tui-regs.c (tui_display_register): Add comment about
a couple of casts.
        * tui/tui-stack.c (tui_show_locator_content): Ditto.
2010-04-16 04:34:31 +00:00
Stan Shebs 2ce6d6bf7c 2010-04-15 Stan Shebs <stan@codesourcery.com>
* frame.c: Include tracepoint.h.
	(get_current_frame): Allow a trace frame to be an alternate source
	of stack frame data.
	* tracepoint.c (tfind_1): Don't try to get current stack frame if
	it won't succeed.
2010-04-16 01:12:07 +00:00
gdbadmin 47edb3fead *** empty log message *** 2010-04-16 00:00:33 +00:00
Pedro Alves 2d6e647aec s/Pedro Alves/Pedro Alves/ 2010-04-15 23:46:11 +00:00
Pedro Alves 8d95cc3b6c Fix date format in one entry. Fix whitespace throughout while there. 2010-04-15 23:43:40 +00:00
Pedro Alves 1a161f722d Remove src/gdb/ from entry. 2010-04-15 22:36:44 +00:00
Pedro Alves 7e559477b1 * ppc-linux-tdep.c (bsd_uthread_solib_loaded): Always pass 0 for
flags.
	* solib-spu.c (spu_solib_loaded): Always pass 0 for flags.
2010-04-15 20:19:24 +00:00
Doug Evans fa33c3cd05 * NEWS: Add entry for python program space support.
* Makefile.in (SUBDIR_PYTHON_OBS): Add py-progspace.o.
	(SUBDIR_PYTHON_SRCS): Add py-progspace.c.
	(py-progspace.o): New rule.
	* python/py-prettyprint.c (find_pretty_printer_from_objfiles): New
	function.
	(find_pretty_printer_from_progspace): New function.
	(find_pretty_printer_from_gdb): New function.
	(find_pretty_printer): Rewrite.
	* python/py-progspace.c: New file.
	* python/python-internal.h (program_space): Add forward decl.
	(pspace_to_pspace_object, pspy_get_printers): Declare.
	(gdbpy_initialize_pspace): Declare.
	* python/python.c: #include "progspace.h".
	(gdbpy_get_current_progspace, gdbpy_progspaces): New functions.
	(_initialize_python): Call gdbpy_initialize_pspace.
	(GdbMethods): Add current_progspace, progspaces.

	doc/
	* gdb.texinfo (Python API): Add progspaces section.
	(Selecting Pretty-Printers): Progspace pretty-printers are
	searched too.
	(Progspaces In Python): New section.

	testsuite/
	* gdb.python/py-progspace.c: New file.
	* gdb.python/py-progspace.exp: New file.
2010-04-15 19:54:13 +00:00
Doug Evans 3f7b2faa4b Add -s option to source command.
* NEWS: Document new option.
	* cli/cli-cmds.c (find_and_open_script): Add function comment.
	Delete from_tty and cleanupp args.  Split filep arg into file and
	full_pathp.  New arg search_path.
	(source_script_from_stream): New function.
	(source_script_with_search): New function.
	(source_script): Rewrite.
	(source_command): Parse "-s" option.
	(init_cli_cmds): Add "-s" docs to source command help, and reformat.
	* python/python.c (source_python_script): Make file arg a const char *.
	Don't call fclose, leave for caller.
	* python/python.h (source_python_script): Update.

	testsuite/
	* gdb.base/source-test.gdb: New file.
	* gdb.base/source.exp: Add tests for "source -s".

	doc/
	* gdb.texinfo (Command Files): Add docs for new "source -s" option.
2010-04-15 17:45:57 +00:00
gdbadmin 7a8f71bfab *** empty log message *** 2010-04-15 00:00:33 +00:00
Pedro Alves a86988f21a Avoid rereading shared libraries that haven't changed.
* solib.c (free_so_symbols): New function, from ...
	(free_so): ... here.  Call it.
	(solib_read_symbols): Don't warn here if symbols have already been
	loaded.
	(solib_add): Warn here instead, if a pattern was specified.
	(reload_shared_libraries_1): New.
	(reload_shared_libraries): Rewrite to not fetch the library list.
2010-04-14 23:20:27 +00:00
Doug Evans 589390d6ff fix typo in previous entry 2010-04-14 21:27:01 +00:00
Doug Evans e6d9b9c2fa * source.c (open): Strip DOS drive letter if present before
concatenating string to search path.
2010-04-14 21:22:29 +00:00
Pedro Alves 516ba65938 * objfiles.h (gdb_bfd_close_or_warn): Declare.
* objfiles.c (gdb_bfd_close_or_warn): New.
	* corelow.c: Include objfiles.h
	(core_close): Use gdb_bfd_close_or_warn.
	* elfread.c (build_id_verify): Ditto.
	* exec.c (exec_close, exec_close_1): Ditto.
2010-04-14 17:26:11 +00:00
Pedro Alves 048d532d6e Group errors for many missing shared libraries.
* solist.h (struct so_list): Remove from_tty.
	* solib.c (solib_bfd_open): Return NULL if we failed to open a BFD.
	(solib_map_sections): Take so_list argument.  Return 0 if we
	failed to open a BFD.  Add target sections here.
	(symbol_add_stub): Delete.
	(solib_read_symbols): Inline symbol_add_stub.  Use current flags,
	not from_tty copied from the so_list.  Don't warn a second time
	for a missing library.
	(update_solib_list): Don't save from_tty.  Use TRY_CATCH.  Do not
	add to the section table here.  Print out a single warning for all
	missing libraries.
	* bsd-uthread.c (bsd_uthread_solib_loaded): Always pass 0 for
	flags.
2010-04-14 13:49:53 +00:00
Phil Muldoon 044c0f87fe 2010-04-14 Phil Muldoon <pmuldoon@redhat.com>
* python/py-block.c (gdbpy_block_for_pc): Use i8n to encompass
	error/warning messages.  Capitalize and use complete sentences.
	(blpy_block_syms_iternext): Likewise.
	* python/py-cmd.c (parse_command_name, cmdpy_init): Likewise.
	* python/py-frame.c (FRAPY_REQUIRE_VALID, frapy_block)
	(frame_info_to_frame_object, frapy_read_var)
	(gdbpy_frame_stop_reason_string): Likewise.
	* python/py-lazy-string.c (stpy_convert_to_value)
	(gdbpy_create_lazy_string_object): Likewise.
	* python/py-objfile.c (objfpy_set_printers): Likewise.
	* python/py-prettyprint.c (gdbpy_default_visualizer): Likewise.
	* python/python.c (parameter_to_python): Likewise.
	* python/py-type.c (typy_range, typy_target): Likewise.
	* python/py-value.c (valpy_cast, valpy_length, valpy_getitem)
	(valpy_richcompare, valpy_int, valpy_long, valpy_float): Likewise.
2010-04-14 13:18:55 +00:00
Phil Muldoon 79f283fe85 2010-04-14 Phil Muldoon <pmuldoon@redhat.com>
PR python/11381

	* python/py-prettyprint.c (pretty_print_one_value): Test for
	Py_None.
	(print_string_repr): Test for Py_None.  Set flags accordingly.
	Return value depending on return type.
	(print_children): Take a value indicating whether data was printed
	before this function was called.  Alter output accordingly.
	(apply_val_pretty_printer): Capture return value from
	print_string_repr and pass to print_children.

2010-04-14  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.python/py-prettyprint.py (NoStringContainerPrinter): New printer.
	* gdb.python/py-prettyprint.c: Add justchildren struct, typedefs.
	* gdb.python/py-prettyprint.exp: New test for to_string returning None.
	* gdb.python/py-mi.exp: New test for to_string returning None.

2010-04-14  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.texinfo (Pretty Printing): Document behaviour when to_string
	returns None.
2010-04-14 12:02:46 +00:00
H.J. Lu e1caee70ee Correct PR number for PR corefiles/11481. 2010-04-14 00:40:13 +00:00
H.J. Lu b418b5529c Mention PR corefiles/11467. 2010-04-14 00:38:03 +00:00
gdbadmin 83d37c8c77 *** empty log message *** 2010-04-14 00:00:03 +00:00
Mark Kettenis 4ac5d44ece * i386-linux-tdep.c (i386_linux_regset_sections): Remove extended
register note sections.
(i386_linux_sse_regset_sections, i386_linux_avx_regset_sections):
New variables.
(i386_linux_init_abi): Install list of supported register note
sections that matches the target description.
2010-04-13 21:07:16 +00:00
Pedro Alves ad91cd9917 * remote.c (remote_get_noisy_reply): Don't error out on empty
replies.
	(remote_start_remote): Update and merge tracepoints and trace
	state variables as long as the target supports tracepoints.
	(remote_trace_init): Fix prototype.
	(remote_download_trace_state_variable): Validate reply.
	(remote_trace_set_readonly_regions): Fix prototype.
	(remote_trace_start): Fix prototype.  Check for empty reply.
	(remote_get_trace_status): Small cleanup.
	(remote_trace_stop): Fix prototype.  Check for empty reply.
	(remote_trace_find): Check for empty reply.
	(remote_save_trace_data): Validate reply.
	(remote_set_disconnected_tracing): Check for empty reply, and
	validate reply.
	(remote_set_circular_trace_buffer): Ditto.
2010-04-13 16:08:28 +00:00
Pierre Muller ae3bccd49a Suppress unused value warning during compilation.
* tui/tui-regs.c (tui_display_register): Cast wstandout and wstandend
	calls to void.
	* tui/tui-stack.c (tui_show_locator_content): Likewise.
2010-04-13 12:11:10 +00:00
Stan Shebs 523136f211 2010-04-12 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (tfile_xfer_partial): Check read result.
2010-04-13 03:53:50 +00:00
gdbadmin 02067d243b *** empty log message *** 2010-04-13 00:00:33 +00:00
Pedro Alves ef7278ebcc Remove gdb/gdbserver/ line. 2010-04-12 17:46:05 +00:00
Pedro Alves 505106cdc7 gdb/gdbserver/
* linux-low.c (linux_mourn): Also remove the process.
	* server.c (handle_target_event): Don't remove the process here.
	* nto-low.c (nto_mourn): New.
	(nto_target_ops): Install it.
	* spu-low.c (spu_mourn): New.
	(spu_target_ops): Install it.
	* win32-low.c (win32_mourn): New.
	(win32_target_ops): Install it.
2010-04-12 17:39:42 +00:00
Mike Frysinger 0d18d7205b gdb: constify remote files_info
The sim and m32r remote targets declare a local "file" variable and only
assign const strings to it before passing it to a printf() func.  So add
const markings to avoid gcc warnings like:
gdb/remote-sim.c: In function 'gdbsim_files_info':
gdb/remote-sim.c:789: warning: initialization discards qualifiers
	from pointer target type

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-04-12 16:04:43 +00:00
Richard Earnshaw 3b273a5534 2010-04-12 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* arm-tdep.h (gdb_regnum): Add ARM_FPSCR_REGNUM
	* arm-linux-nat.c (arm_linux_vfp_register_count): New
	variable.
	(fetch_vfp_registers): New function to fetch VFP registers.
	(store_vfp_registers): New function to store VFP registers.
	(arm_linux_fetch_inferior_registers): Add support for VFP
	registers.
	(arm_linux_store_inferior_registers): Likewise.
	(arm_linux_read_description): Likewise.
	(_initialize_arm_linux_nat): Delay initialising iWMMX tdesc
	until we need it.
2010-04-12 13:52:43 +00:00
Pedro Alves e8470a0645 * server.h (buffer_xml_printf): Remove redundant `;'. 2010-04-12 13:51:22 +00:00
Pedro Alves 45ba0d0206 * regcache.c (set_register_cache): Invalidate regcaches before
changing the register cache layout.
	(regcache_invalidate_one): Allow a NULL regcache.
	* linux-x86-low.c (x86_linux_update_xmltarget): Invalidate
	regcaches before changing the register cache layout or the target
	regsets.
2010-04-12 13:25:51 +00:00
H.J. Lu 59e0401339 Avoid unused variable warning on Linux/x86-64.
2010-04-12  H.J. Lu  <hongjiu.lu@intel.com>

	* linux-x86-low.c (x86_linux_update_xmltarget): Avoid unused
	variable warning on Linux/x86-64.
2010-04-12 13:18:13 +00:00
Phil Muldoon fc8eb08a3a 2010-04-12 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/py-breakpoint.c: Make result global.
2010-04-12 09:49:35 +00:00
gdbadmin 02063a34cf *** empty log message *** 2010-04-12 00:00:03 +00:00
H.J. Lu 778c709509 Remove the unused variable in amd64-tdep.c.
2010-04-11  H.J. Lu  <hongjiu.lu@intel.com>

	* amd64-tdep.c (amd64_supply_xstateregset): Remove the unused
	tdep.
	(amd64_collect_xstateregset): Likewise.
2010-04-11 20:20:31 +00:00
Pedro Alves 8336d594d5 GDBserver disconnected tracing support.
* linux-low.c (linux_remove_process): Delete.
	(add_lwp): Don't set last_resume_kind here.
	(linux_kill): Use `mourn'.
	(linux_detach): Use `thread_db_detach', and `mourn'.
	(linux_mourn): New.
	(linux_attach_lwp_1): Adjust comment.
	(linux_attach): last_resume_kind moved the thread_info; adjust.
	(status_pending_p_callback): Adjust.
	(linux_wait_for_event_1): Adjust.
	(count_events_callback, select_singlestep_lwp_callback)
	(select_event_lwp_callback, cancel_breakpoints_callback)
	(db_wants_lwp_stopped, linux_wait_1, need_step_over_p)
	(proceed_one_lwp): Adjust.
	(linux_async): Add debug output.
	(linux_thread_stopped): New.
	(linux_pause_all): New.
	(linux_target_ops): Install linux_mourn, linux_thread_stopped and
	linux_pause_all.
	* linux-low.h (struct lwp_info): Delete last_resume_kind field.
	(thread_db_free): Delete declaration.
	(thread_db_detach, thread_db_mourn): Declare.
	* thread-db.c (thread_db_init): Use thread_db_mourn.
	(thread_db_free): Delete, split in two.
	(disable_thread_event_reporting): New.
	(thread_db_detach): New.
	(thread_db_mourn): New.

	* server.h (struct thread_info) <last_resume_kind>: New field.
	<attached>: Add comment.
	<gdb_detached>: New field.
	(handler_func): Change return type to int.
	(handle_serial_event, handle_target_event): Ditto.
	(gdb_connected): Declare.
	(tracing): Delete.
	(disconnected_tracing): Declare.
	(stop_tracing): Declare.

	* server.c (handle_query) <qSupported>: Report support for
	disconnected tracing.
	(queue_stop_reply_callback): Account for running threads.
	(gdb_wants_thread_stopped): New.
	(gdb_wants_all_threads_stopped): New.
	(gdb_reattached_process): New.
	(handle_status): Clear the `gdb_detached' flag of all processes.
	In all-stop, stop all threads.
	(main): Be sure to leave tfind mode.  Handle disconnected tracing.
	(process_serial_event): If the remote connection breaks, or if an
	exit was forced with "monitor exit", force an event loop exit.
	Handle disconnected tracing on detach.
	(handle_serial_event): Adjust.
	(handle_target_event): If GDB isn't connected, forward events back
	to the inferior, unless the last process exited, in which case,
	exit gdbserver.  Adjust interface.

	* remote-utils.c (remote_open): Don't block in accept.  Instead
	register an event loop source on the listen socket file
	descriptor.  Refactor bits into ...
	(listen_desc): ... this new global.
	(gdb_connected): ... this new function.
	(enable_async_notification): ... this new function.
	(handle_accept_event): ... this new function.
	(remote_close): Clear remote_desc.

	* inferiors.c (add_thread): Set the new thread's last_resume_kind.

	* target.h (struct target_ops) <mourn, thread_stopped, pause_all>:
	New fields.
	(mourn_inferior): Define.
	(target_process_qsupported): Avoid the dangling else problem.
	(thread_stopped): Define.
	(pause_all): Define.
	(target_waitstatus_to_string): Declare.
	* target.c (target_waitstatus_to_string): New.

	* tracepoint.c (tracing): Make extern.
	(disconnected_tracing): New.
	(stop_tracing): Make extern.  Handle tracing stops due to GDB
	disconnecting.
	(cmd_qtdisconnected): New.
	(cmd_qtstatus): Report disconnected tracing status in trace reply.
	(handle_tracepoint_general_set): Handle QTDisconnected.

	* event-loop.c (event_handler_func): Change return type to int.
	(process_event): Bail out if the event handler wants the event
	loop to stop.
	(handle_file_event): Ditto.
	(start_event_loop): Bail out if the event handler wants the event
	loop to stop.

	* nto-low.c (nto_target_ops): Adjust.
	* spu-low.c (spu_wait): Don't remove the process here.
	(spu_target_ops): Adjust.
	* win32-low.c (win32_wait): Don't remove the process here.
	(win32_target_ops): Adjust.
2010-04-11 16:33:56 +00:00
Pedro Alves 5d267c4c70 * regcache.c (realloc_register_cache): Invalidate inferior's
regcache before recreating it.
2010-04-11 01:47:48 +00:00
gdbadmin a18ebeaf85 *** empty log message *** 2010-04-11 00:00:02 +00:00
gdbadmin fcfd64c2cc *** empty log message *** 2010-04-10 00:00:07 +00:00
Jan Kratochvil 26e197f641 gdb/testsuite/
Fix non-GNU make compatibility.
	* Makefile.in ($(TEST_TARGETS)): Conditionalize it by @GMAKE_TRUE@.
2010-04-09 20:50:46 +00:00
Stan Shebs 872906844b 2010-04-09 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (trace_status_mi): Report frames created.

	* gdb.texinfo (gdb/mi Tracepoint Commands) <-trace-status>:
	Describe the `frames-created' field, tweak grammar.
2010-04-09 20:46:40 +00:00
Stan Shebs 2114d44c8d 2010-04-09 Stan Shebs <stan@codesourcery.com>
* tracepoint.c (trace_dump_command): Include default-collect
	expressions.
2010-04-09 19:34:57 +00:00
Ulrich Weigand 86da934b14 * symtab.c (find_function_start_sal): Never return SAL pointing
before function start address, even if line info is missing.
2010-04-09 15:31:41 +00:00
Pedro Alves d337e9f09e * NEWS: Mention tracepoints support. 2010-04-09 15:26:54 +00:00
Pedro Alves a97153c7f8 gdb/
* tracepoint.c (trace_status_mi): Report disconnected tracing and
	circular trace buffer statuses.

	gdb/doc/
	* gdb.texinfo (gdb/mi Tracepoint Commands) <-trace-status>:
	Describe the `circular' and `disconnected' fields.
2010-04-09 15:22:09 +00:00
Jan Kratochvil 7a66d6033a gdb/
* config/djgpp/fnchange.lst: Fix typo in translations for
	symbol-without-target_section.exp and symbol-without-target_section.c.
2010-04-09 15:15:05 +00:00
H.J. Lu 5c5dcc1b7a Mention unavailable and invisible registers.
2010-04-09  H.J. Lu  <hongjiu.lu@intel.com>

	* gdb.texinfo (maint print registers): Mention unavailable and
	invisible registers.
2010-04-09 15:12:31 +00:00
Pedro Alves 623ccd7217 * tracepoint.c (cmd_qtstatus): Report trace buffer circularity. 2010-04-09 14:40:48 +00:00