Date: Mon, 09 Mar 2015 14:09:05 -0400 From: Jonathon McDaniels <mcdanielsjr@mymail.vcu.edu> To: Brooks Davis <brooks@freebsd.org> Cc: freebsd-hackers@freebsd.org Subject: Re: GSoC idea - porting and patching of userland for lld, the LLVM linker Message-ID: <54FDE1C1.90304@mymail.vcu.edu> In-Reply-To: <20150309153622.GB72806@spindle.one-eyed-alien.net> References: <54F9EFD7.7030803@mymail.vcu.edu> <20150309153622.GB72806@spindle.one-eyed-alien.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54FDE1C1.90304>