From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12713 invoked by alias); 11 Jan 2010 21:22:15 -0000 Received: (qmail 12705 invoked by uid 22791); 11 Jan 2010 21:22:14 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 11 Jan 2010 21:22:09 +0000 Received: (qmail 17078 invoked from network); 11 Jan 2010 21:22:07 -0000 Received: from unknown (HELO orlando) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 11 Jan 2010 21:22:07 -0000 From: Pedro Alves To: Vladimir Prus Subject: Re: [MI] core awareness Date: Mon, 11 Jan 2010 21:22:00 -0000 User-Agent: KMail/1.9.10 Cc: gdb-patches@sourceware.org References: <200912171533.21699.pedro@codesourcery.com> <201001111417.17050.pedro@codesourcery.com> <201001120001.08384.vladimir@codesourcery.com> In-Reply-To: <201001120001.08384.vladimir@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201001112122.08451.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-01/txt/msg00275.txt.bz2 On Monday 11 January 2010 21:01:08, Vladimir Prus wrote: > Implement core awareness. > > gdb/ > * bcache.c (compare_ints): Remove > (print_percentage): Use compare_positive_ints. > > * defs.h (compare_positive_ints): Declare. > * linux-nat.h (struct lin_lwp): New field core. > (linux_nat_core_of_thread_1): Declare. > * linux-nat.c (add_lwp): Init the 'core' field. > (linux_nat_wait_1): Record the core. > (linux_nat_core_of_thread_1, linux_nat_core_of_thread): New. > (linux_nat_add_target): Register the above. > * linux-thread-db.c (update_thread_core): New. > (thread_db_find_new_threads): Update core information for > every thread. > * remote.c (struct private_thread_info): New. > (free_private_thread_info, demand_private_info): New. > (PACKET_qXfer_threads, use_osdata_threads): New. > (struct thread_item, threads_parsing_context > (start_thread, end_thread, thread_attributes) > (thread_children, threads_children, threads_elements): New. > (remote_threads_info): Try qXfer:threads before anything > else. > (remote_protocol_packets): Register qXfer:threads. > (remote_open_1): Init use_osdata_threads. > (struct stop_reply): New field 'core'. > (remote_parse_stop_reply): Parse core number. > (process_stop_reply): Record core number. > (remote_xfer_partial): Handle qXfer:threads. > (remote_core_of_thread): New. > (init_remote_ops): Register remote_core_of_thread. > (_initialize_remote): Register qXfer:read. > * target.c (target_core_of_thread): New > * target.h (enum target_object): New value TARGET_OBJECT_THREADS. > (struct target_ops): New field to_core_of_threads. > (target_core_of_thread): Declare. > * gdbthread.h (struct thread_info): New field private_dtor. > * thread.c (print_thread_info): Report the core. > * ui-out.c (MAX_UI_OUT_LEVELS): Increase. > * utils.c (compare_positive_ints): New. > * features/threads.dtd: New. > * mi/mi-interp.c (mi_on_normal_stop): Report the core. > * mi/mi-main.c (struct collect_cores_data, collect_cores) > (do_nothing, free_vector_of_osdata_items) > (splay_tree_int_comparator, free_splay_tree): New. > (print_one_inferior_data): Implemented printing of selected > inferiors. Collect and print cores. > (output_cores): New. > (mi_cmd_list_thread_groups): Support --recurse. Permit specifying > thread groups together with --available. > > gdbserver/ > * linux-low.c (linux_core_of_thread): New. > (compare_ints, show_process, list_threads): New. > (linux_qxfer_osdata): Report threads and cores. > (linux_target_op): Register linux_core_of_thread. > * remote-utils.c (prepare_resume_reply): Report the core. > (buffer_xml_printf): Support %d specifier. > * server.c (handle_threads_qxfer_proper, handle_threads_qxfer): > New. > (handle_query): Handle qXfer:threads. Announce availability > thereof. > * target.h (struct target_ops): New field core_of_thread. This version is OK. Thanks. -- Pedro Alves