From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6050 invoked by alias); 16 Aug 2008 15:29:34 -0000 Received: (qmail 6041 invoked by uid 22791); 16 Aug 2008 15:29:34 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 16 Aug 2008 15:28:59 +0000 Received: (qmail 24739 invoked from network); 16 Aug 2008 15:28:57 -0000 Received: from unknown (HELO orlando.local) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 16 Aug 2008 15:28:57 -0000 From: Pedro Alves To: gdb-patches@sourceware.org Subject: [RFC: 0/9] No context-switching Date: Sat, 16 Aug 2008 15:29:00 -0000 User-Agent: KMail/1.9.9 MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200808161629.12044.pedro@codesourcery.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit 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: 2008-08/txt/msg00440.txt.bz2 This series of patches removes inferior control globals, in favour of accessing thread_info members directly, effectivelly, getting rid of the need to context-switch. I've layed out the series so it is always functional at all of its incremental steps. At the end of the series, context_switch will just be a wrapper around switch_to_thread. I still left that function around, mainly, for "set debug infrun 1" purposes (it prints an useful message). I've tested the whole series on x86_64-unknown-linux-gnu, i386-unknown-openbsd4.3, i386-pc-solaris2.11, i686-pc-cygwin, and arm-none-linux-gnu (to cover software single-step), I found no regressions. This series depends on having all targets register the main thread in the the thread list, even when debugging a single-threaded inferior. Patches for most of the targets have been posted already, most approved. I believe the only missing targets to adjust are AIX, remote-mips.c, nto-procfs.c. I've talked with Aleksandar about nto, and we came to the conclusion that nto is easy to fix. remote-mips.c should be as similarly easy to remote-m32-sdi.c, monitor.c or remote-sim.c. I'll try to give another look at AIX this weekend, and browse over IBM's documentation, to see if I can come up with an initial patch, but it doesn't seem likelly, with no AIX access. In the mean time, I thought I'd post this series as an RFC. -- Pedro Alves