From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 15 21:03:20 2015 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2E904FA7; Sun, 15 Mar 2015 21:03:20 +0000 (UTC) Received: from mail-ie0-x236.google.com (mail-ie0-x236.google.com [IPv6:2607:f8b0:4001:c03::236]) (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 E7E976AB; Sun, 15 Mar 2015 21:03:19 +0000 (UTC) Received: by iecvj10 with SMTP id vj10so152163628iec.0; Sun, 15 Mar 2015 14:03:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=iPGBKo1/hXA5x9RJWunvZWt1HiYX/gTWd6JF0o1daMo=; b=w5D11HZ1A9iqb+0gTwn2URaWA6O/RWqeMlobgA3IK5OMq1UDOKKFa5+fYhU47DMArD cTc6Mp+TtPunqniPVivP3mE0G0eRnWwLQp1oJ04qDkil3k90srSzN1Jw+xzbOoEJKVzX OU3AwirCuER88HCN9c3MK4ez0ZrTpBR9WV0Nd7punSMTljm69StN/eZ1xyWMei5E+ByQ Hd7+tImp59qKlMzKk0g0CMqAzdLj8Gnbkh+1vJM1XwDT13+YGiZwTp5to6Udqsjof2FN /c2DYb+ObrKk0SFWRhZBigA+sS7n0cWeIPvDLUEvH81fL37apPzFvQHJ65j8sHptG8Sz b7+w== X-Received: by 10.50.129.9 with SMTP id ns9mr101733243igb.24.1426453399253; Sun, 15 Mar 2015 14:03:19 -0700 (PDT) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.158.19 with HTTP; Sun, 15 Mar 2015 14:02:58 -0700 (PDT) In-Reply-To: <20150309153622.GB72806@spindle.one-eyed-alien.net> References: <54F9EFD7.7030803@mymail.vcu.edu> <20150309153622.GB72806@spindle.one-eyed-alien.net> From: Ed Maste Date: Sun, 15 Mar 2015 17:02:58 -0400 X-Google-Sender-Auth: 4GEPfQeE6j0ltmNaGMhizoP-2lw Message-ID: Subject: Re: GSoC idea - porting and patching of userland for lld, the LLVM linker To: Brooks Davis Content-Type: text/plain; charset=UTF-8 Cc: "freebsd-hackers@freebsd.org" , Jonathon McDaniels 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: Sun, 15 Mar 2015 21:03:20 -0000 On 9 March 2015 at 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. There's certainly enough to be done with lld on FreeBSD to find a good GSoC project. But I agree that we'd have to be very careful with scoping and pay particular attention to the external dependencies. Jonathon, if you're still really interested in trying to move ahead with an lld GSoC, I'd suggest getting a build environment set up, explore lld's current limitations, and try your hand at a small change (maybe there's some relocation type to be added, for example). I think this would help give you a sense of the scale of various projects here. I know that might seem like lot to ask prior to a proposal submission, but we'd need to plan very carefully to go ahead with an lld project as other parts are still changing so rapidly. -Ed