From owner-freebsd-hackers@FreeBSD.ORG Wed Apr 18 17:27:02 2007 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 84D7716A406 for ; Wed, 18 Apr 2007 17:27:02 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from smtpout.mac.com (smtpout.mac.com [17.250.248.186]) by mx1.freebsd.org (Postfix) with ESMTP id 6F50F13C45A for ; Wed, 18 Apr 2007 17:27:02 +0000 (UTC) (envelope-from xcllnt@mac.com) Received: from mac.com (smtpin08-en2 [10.13.10.153]) by smtpout.mac.com (Xserve/smtpout16/MantshX 4.0) with ESMTP id l3IHQqWb002085; Wed, 18 Apr 2007 10:26:57 -0700 (PDT) Received: from [172.24.104.161] (natint3.juniper.net [66.129.224.36]) (authenticated bits=0) by mac.com (Xserve/smtpin08/MantshX 4.0) with ESMTP id l3IHQlkO019808 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Wed, 18 Apr 2007 10:26:50 -0700 (PDT) In-Reply-To: <408150.28627.qm@web32901.mail.mud.yahoo.com> References: <408150.28627.qm@web32901.mail.mud.yahoo.com> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <394DF199-B2AA-467E-99AE-85AF5BBF0903@mac.com> Content-Transfer-Encoding: 7bit From: Marcel Moolenaar Date: Wed, 18 Apr 2007 10:25:34 -0700 To: Peter Holmes X-Mailer: Apple Mail (2.752.3) X-Brightmail-Tracker: AAAAAA== X-Brightmail-scanned: yes Cc: fbsd hackers Subject: Re: Shared library support X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 18 Apr 2007 17:27:02 -0000 On Apr 18, 2007, at 10:06 AM, Peter Holmes wrote: > I am trying to implement shared library support for a new > architecture. Where can I start looking . Can someone point out the > architecture dependent pieces. Roughly speaking: Start with the runtime specification for that architecture. In particular, look at the relocations designed for shared linking. Those relocations need to be supported by both the toolchain (gcc, as and ld) and the runtime linker (rtld). Assuming that the toolchain already supports shared linking, most of the work will be in rtld-elf. After the basics work, look at TLS (more relocations) and gdb. You may need to review threading support... HTH, -- Marcel Moolenaar xcllnt@mac.com