From owner-freebsd-hackers@FreeBSD.ORG Mon Mar 9 18:09:14 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5DCD494E for ; Mon, 9 Mar 2015 18:09:14 +0000 (UTC) Received: from mail-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 15CC5FA6 for ; Mon, 9 Mar 2015 18:09:13 +0000 (UTC) Received: by qgdz107 with SMTP id z107so30512383qgd.3 for ; Mon, 09 Mar 2015 11:09:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:user-agent:mime-version:to :cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=hMLCEu4DwGHrc6ZgGzKP2PYILBEwG6eaY2MYHTfOgyU=; b=YwsnU4PH3gQkgzqzTXsBI98fhxRM5Fq6zdn+Et2Wbp2pUzfn7lUaM3PpVsPT57g9wR cNg/U2SzGrx2xUn5LKClwSW7Z/hr+8vAXBA09w1rJJ73Aj+yYK7mrkNdu1C6ZI9wJo6J X6KThtzpZ8SsKhAq7i+joYoxVlsGKWIHwe6KCvaHQnttNcr1Qm9jr/8pkNsrG9K7B57a PySNZXTX7+8xntBaSommcOwSO5kut/u7qbWNM3a8XlAHwxHubOCVUAqnsOhZW4Ns4aK4 jprdqVauaqJkfQSe0SHT0IzjbnVjoCsutDZfpiMkS/r+hN6jsFfCIomsGqbDzuUvJQ8Q 4lyg== X-Gm-Message-State: ALoCoQnCr3tHRzC/sDyp9lNiQEjhH8BkM4yiOmYDj2RTcQHhK0Xc+IRnq9KWyzGefy6SeD6AXlkk X-Received: by 10.140.31.246 with SMTP id f109mr35464171qgf.23.1425924547427; Mon, 09 Mar 2015 11:09:07 -0700 (PDT) Received: from blackrose.teamblackfox.local (pool-173-53-56-48.rcmdva.fios.verizon.net. [173.53.56.48]) by mx.google.com with ESMTPSA id d186sm12017281qhc.3.2015.03.09.11.09.06 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 09 Mar 2015 11:09:06 -0700 (PDT) Message-ID: <54FDE1C1.90304@mymail.vcu.edu> Date: Mon, 09 Mar 2015 14:09:05 -0400 From: Jonathon McDaniels User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Brooks Davis Subject: Re: GSoC idea - porting and patching of userland for lld, the LLVM linker References: <54F9EFD7.7030803@mymail.vcu.edu> <20150309153622.GB72806@spindle.one-eyed-alien.net> In-Reply-To: <20150309153622.GB72806@spindle.one-eyed-alien.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Mar 2015 18:09:14 -0000 Good points Brooks, Instead of lld I'm actually considering doing the idea of making a new linker from scratch to work with FreeBSD on all architectures, but that's dependent on my study and comprehension of all of the things GNU ld does, and furthermore that I get enough experience to take on such a daunting task. Luckily this week is spring break for me, so I'll have time to brain storm and look more into this. The good thing is that any changes I make I can test on almost all major architectures supported by FreeBSD, excluding SPARC, PC-98 and a few others since I own a large variety of hardware. If you've any advice or other ideas that would involve leveraging us off of binutils, I'm all ears. As it stands though I'm not interested or experienced enough to do either gdb or gas, since assembler isn't my primary interest. On 03/09/2015 11:36, Brooks Davis wrote: > On Fri, Mar 06, 2015 at 01:20:07PM -0500, Jonathon McDaniels wrote: >> Hey guys, >> >> After giving it some thought, I was thinking of porting ( as in, make it >> a port of ) and patching the userland so a make buildworld can go >> through on x86/AMD64 on lld, the LLVM linker, and if time permits, >> patching the kernel to make use of it.. As the binutils included in base >> is over 7 years old, and is unlikely to be updated due to the GPLv3, it >> would make sense to assist with removing dependence of the FreeBSD >> platforms now using LLVM/Clang for compiling. >> >> Before I go contact the mentors that would be within the scope of this >> project, I wanted to make sure of the following: >> >> * That this would be a good use of GSoC >> * That it is narrow enough in scope to be feasible, but broad enough >> that it would prove a beneficial project. >> >> Considering the environment we have now, I think it would allow me to >> further my knowledge of C beyond what I already know ( currently working >> on learning about dynamic linking of libraries, and I already know about >> data structures, stacks, pointers etc. and plan to be much farther along >> by the time of the start of the project and deliverables. ). >> >> And since lld is compatible with the BSD license terms, and is >> interoperable with LLVM, it seems a viable and good project to undertake. >> >> Thoughts from you guys? > Not to be too discouraging, I want lld in the base soon, but I'm not > convinced there's a good GSoC project here. Creating a port of lld is > probably a week's work even starting with no knowledge of the ports > system. There may be some FreeBSD specific changes to lld required, > but they should be small. > > Resolving compatibility issues with FreeBSD and ports might be a good > project, but being able to work on that depends on the completion of > linker script support. I think that's an unacceptably large external > dependency for a GSoC project given that there's no public timeline for > that work. > > -- Brooks