From owner-freebsd-hackers Thu Jan 8 15:33:56 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.7/8.8.7) id PAA17708 for hackers-outgoing; Thu, 8 Jan 1998 15:33:56 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from rah.star-gate.com ([209.133.7.178]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id PAA17053 for ; Thu, 8 Jan 1998 15:28:34 -0800 (PST) (envelope-from hasty@rah.star-gate.com) Received: (from hasty@localhost) by rah.star-gate.com (8.8.8/8.8.8) id PAA04229; Thu, 8 Jan 1998 15:28:24 -0800 (PST) (envelope-from hasty) Date: Thu, 8 Jan 1998 15:28:24 -0800 (PST) From: Amancio Hasty Message-Id: <199801082328.PAA04229@rah.star-gate.com> To: dap@damon.com, hasty@rah.star-gate.com Subject: Re: dladdr hax Cc: freebsd-hackers@FreeBSD.ORG, nate@mt.sri.com, tlambert@primenet.com Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk Well, the exec part is component the other is that dladdr is used to locate where a library was loaded from. Again, for the command path argv[0] clearly tells you where the command got executed from. If I am not mistaken the command execution portion should be also in the U area or some clever location for the ps to be able to display it. My wild guess is that ld.so should keep an internal table of start - end address plus path of library . The dladdr should be a simple exercise to locate the address range where a variable lies in. If we don't want to implement dladdr if the table is accessible to the program we can do the library lookup 8) Cheers, Amancio