<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jan 16, 2017 at 12:31 PM, Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Do we have any open projects on LLD?<div><br><div>I know we usually try to avoid any big "projects" and mainly add/fix things in response to user needs, but just wondering if somebody has any ideas.</div><div><br></div><div>Some really generic/simple stuff I can think of:</div><div>1. trying out LLD on a large program corpus and reporting/reducing/fixing bugs (e.g. contributing to the FreeBSD effort or trying to build a bunch of packages from a linux distro like Debian or Gentoo)</div></div></div></blockquote><div><br></div><div>I like that idea. FreeBSD is using a very old version of ld.bfd, so on Linux systems we may be able to find programs that use recent linker features which LLD does not support. This may sound like an ambitious goal, but I want make Linux distributions to use LLD as default linker, so it needs to be able to link entire Linux distributions.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>2. performance analysis and optimization of LLD</div><div>3. getting LLD to link a bootable Linux kernel and/or GRUB</div></div></div></blockquote><div><br></div><div>I don't know how hard/easy it is to link Linux kernel with LLD, but that should be doable if we spend enough effort on that. That should be a good project.</div><div><br></div><div>As to porting LLD to other architectures, you can use emulators like bochs, can't you? You don't even need any emulator for x86 32-bit.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>4. write an input verifier such that LLD can survive intensive fuzzing with no crashes / fatal errors [1] when the verifier says the input is okay. This will allow us to measure what the overhead of doing this actually is.</div><div><br></div><div><br></div><div>[1] As of the latest LLD discussion (in the thread "[llvm-dev] LLD status update and performance chart") it sounds like people are okay with LLD treating fatal errors the same way that LLVM uses assertions; for inputs from the C++ API, we can document to not pass corrupted object files. For inputs read from files, there is still community interest in at least having the option to run a "verifier" to validate the inputs. I think the best way to approach the verifier is to essentially follow the approach suggested by Peter (in the context of "hardening") in <a href="https://llvm.org/bugs/show_bug.cgi?id=30540#c5" target="_blank">https://llvm.org/bugs/show_<wbr>bug.cgi?id=30540#c5</a> i.e. getting to the point where LLD can survive intensive fuzzing.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-- Sean Silva</div></font></span></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 16, 2017 at 5:18 AM, Vassil Vassilev via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi folks,<br>
<br>
Happy new year!<br>
<br>
Last LLVM Developers' Meeting I had a BoF: 'Raising Next Generation LLVM Developers'. It was suggested that we should update our open projects page and possibly restructure it a little bit.<br>
<br>
I volunteered to do this work and I need your help.<br>
<br>
<br>
Chandler and I started working on a google doc [1]. We pinged few code owners asking them to list of work items we should get done in 2017 but we do not have the manpower. Now we would like to ask for your input, too.<br>
<br>
I believe an up to date list can serve as a good entry point for students, interns and new contributors.<br>
<br>
Feel free to propose a new item or comment under an existing one. I expect to start gradually updating the page beginning of Feb.<br>
<br>
-- Vassil<br>
<br>
[1] <a href="https://docs.google.com/document/d/1YLK_xINSg1Ei0w8w39uAMR1n0dlf6wrzfypiX0YDQBc/edit?usp=sharing" rel="noreferrer" target="_blank">https://docs.google.com/docume<wbr>nt/d/1YLK_xINSg1Ei0w8w39uAMR1n<wbr>0dlf6wrzfypiX0YDQBc/edit?usp=s<wbr>haring</a> <br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>