From owner-p4-projects@FreeBSD.ORG Mon Jun 28 17:42:15 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6BC1316A4D0; Mon, 28 Jun 2004 17:42:15 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2757E16A4CF; Mon, 28 Jun 2004 17:42:15 +0000 (GMT) Received: from ns1.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5FAF143D5E; Mon, 28 Jun 2004 17:42:14 +0000 (GMT) (envelope-from marcel@xcllnt.net) Received: from dhcp50.pn.xcllnt.net (dhcp50.pn.xcllnt.net [192.168.4.250]) by ns1.xcllnt.net (8.12.11/8.12.11) with ESMTP id i5SHgE3T019417; Mon, 28 Jun 2004 10:42:14 -0700 (PDT) (envelope-from marcel@piii.pn.xcllnt.net) Received: from dhcp50.pn.xcllnt.net (localhost [127.0.0.1]) i5SHgDLS051135; Mon, 28 Jun 2004 10:42:13 -0700 (PDT) (envelope-from marcel@dhcp50.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp50.pn.xcllnt.net (8.12.11/8.12.11/Submit) id i5SHgDbV051134; Mon, 28 Jun 2004 10:42:13 -0700 (PDT) (envelope-from marcel) Date: Mon, 28 Jun 2004 10:42:13 -0700 From: Marcel Moolenaar To: David Xu Message-ID: <20040628174213.GA51072@dhcp50.pn.xcllnt.net> References: <200406280413.i5S4DS0D033867@repoman.freebsd.org> <40DFBA3C.7040806@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <40DFBA3C.7040806@freebsd.org> User-Agent: Mutt/1.4.2.1i cc: Daniel Eischen cc: Perforce Change Reviews Subject: Re: PERFORCE change 55970 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2004 17:42:16 -0000 On Mon, Jun 28, 2004 at 02:27:08PM +0800, David Xu wrote: > > OK, I am glad to see you are working on libthread_db, but > I have already a libthread_db tree in ksedbg branch. I know. My focus is different. I don't care so much about libthread_db itself at the moment. My focus is on finding the best possible way to make it all work with the debugger. This includes core dumps, the proc services, ptrace and libthread_db. I need to play around with it all to understand what we need to do where and what it is that's being provided. Then I know how and what we need to add where. We may not need a ttrace(2) syscall for example. We can have ptrace(2) accept lwpids as well as pids and have it do the right thing. Also, as I've told you before, ttrace(2) is not standard, but it's something that already exists. We need to decide whether we want to be compatible with the HP-UX implementation and to what extend. I also found ways to preserve compatibility with RELENG_4, so that we can use gdb 6.1.1 with libthread_db on 4.x core files. This only needs to apply to libc_r of course. > I am current making libthread_db.so in two levels: > the first level is a umbrella, the second level is a driver, > every thread library will have a driver, I found you were trying > to mix three thread libraries code into in same functions, > things like following code looks strange for me, how can you > include three different thr_pirvate.h in same .c, and compile > them ? I don't include any private headers. I'm merely taking advantage of how the libc_r support was written. See src/gnu/usr.bin/binutils/gdb/freebsd-uthread.c Note that although cross-debugging is not something I'm focussed on, I try to avoid depending too much on native (private) headers. This at least keeps the option open for as much as possible. Anyway: I don't care about which libthread_db is eventually going to be used. I just need the stuff the play around with. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net