From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14170 invoked by alias); 8 Jan 2008 18:55:43 -0000 Received: (qmail 14163 invoked by uid 22791); 8 Jan 2008 18:55:43 -0000 X-Spam-Status: No, hits=-4.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 08 Jan 2008 18:55:25 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id m08ItNrb030101 for ; Tue, 8 Jan 2008 13:55:23 -0500 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m08ItNSC013692 for ; Tue, 8 Jan 2008 13:55:23 -0500 Received: from localhost.localdomain (sebastian-int.corp.redhat.com [172.16.52.221]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id m08ItMBi004562 for ; Tue, 8 Jan 2008 13:55:23 -0500 Message-ID: <4783C6A8.7020102@redhat.com> Date: Tue, 08 Jan 2008 18:55:00 -0000 From: Andrew Cagney User-Agent: Thunderbird 2.0.0.9 (X11/20071115) MIME-Version: 1.0 To: frysk Subject: local vs remote; core vs exe vs ... Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2008-q1/txt/msg00012.txt.bz2 Hi, Lets consider one possible way that the user may be allowed to interact with local/remote machines: (fhpd) load /bin/bash [0] /bin/bash (fhpd) load remotemachine:/bin/bash [1] remotemachine:/bin/bash (fhpd) [0] start [0] running /bin/bash (fhpd) [1] start [1] running /bin/bash on remotemachine (fhpd) and: (fhpd) core remotemachine:/a/core/file [0] remotemachine:/a/corefile (fhpd) print i (fhpd) start [0] running /corefile/exe on remotemachine and to specify a sysroot: (fhpd) load remote:/bin/bash -sysroot /local/ia32 (fhpd) load /bin/bash -sysroot remote:/ia32 As always the questions are: Does this look reasonable? ...? What are the consequences? 1. At present frysk has a Host specialized for each possible type of Proc: core, exe, ptrace, utrace. If a CoreProc needs to be created, the LinuxCoreHost is used; similarly, if a new process needs to be started then the LinuxPtraceHost is used. The above interaction, however, suggests to me that perhaps the Host should be factored differently vis: Host - requestCreateProc - start a new process - requestProc - find a running process - requestCoreProc - create a Proc from the core - requestExeProc - create a Proc from the exe | +---------------------------. | | LocalHost RemoteHost o requestCoreProc o requestExeProc | +---------------------. LocalLinuxPtraceHost LocalLinuxUtraceHost o requestCreateProc o requestCreateProc o requestProc o requestProc This lets us implement an operation such as "start" directly, for instance: Proc.Host.requestCreateProc(Proc.exe). 2. When it comes to performing searches such as for shared libraries and executables, in addition to the local/remote host, there is a "search" object, the sysroot, that resolves lookups for debug information. Andrew