svn commit: r48611 - head/en_US.ISO8859-1/htdocs/news/status

Warren Block wblock at FreeBSD.org
Wed Apr 13 16:15:01 UTC 2016


Author: wblock
Date: Wed Apr 13 16:15:00 2016
New Revision: 48611
URL: https://svnweb.freebsd.org/changeset/doc/48611

Log:
  Add the lld linker report from Ed Maste <emaste at freebsd.org>.

Modified:
  head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml

Modified: head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml
==============================================================================
--- head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml	Wed Apr 13 16:06:33 2016	(r48610)
+++ head/en_US.ISO8859-1/htdocs/news/status/report-2016-01-2016-03.xml	Wed Apr 13 16:15:00 2016	(r48611)
@@ -1903,7 +1903,7 @@
 	community to consider.</p>
 
       <p>Core is also coordinating with the committee headed by Anne
-	Dickinson who are reviewing the Code of Conduct.  A corpus of
+	Dickison who are reviewing the Code of Conduct.  A corpus of
 	case studies is being assembled, which will be re-examined to
 	see what impact changes to the Code of Conduct would have
 	had.</p>
@@ -1925,4 +1925,92 @@
 	on lld and other parts of the toolchain.</p>
     </body>
   </project>
+
+  <project cat='bin'>
+    <title>Using <tt>lld</tt>, the LLVM Linker, to Link
+      FreeBSD</title>
+
+    <contact>
+      <person>
+	<name>
+	  <given>Ed</given>
+	  <common>Maste</common>
+	</name>
+	<email>emaste at FreeBSD.org</email>
+      </person>
+
+      <person>
+	<name>
+	  <given>Davide</given>
+	  <common>Italiano</common>
+	</name>
+	<email>davide at FreeBSD.org</email>
+      </person>
+    </contact>
+
+    <links>
+      <url href="https://wiki.freebsd.org/LLD">&os; lld wiki page</url>
+      <url href="http://lists.llvm.org/pipermail/llvm-dev/2016-March/096449.html">Status report on linking FreeBSD/amd64 with lld</url>
+    </links>
+
+    <body>
+      <p><tt>lld</tt> is the linker in the LLVM family of projects.
+	It is intended to be a high-performance linker and supports
+	the ELF, COFF and Mach-O object formats.  Where possible,
+	<tt>lld</tt> maintains command-line and functional
+	compatibility with existing linkers (GNU BFD <tt>ld</tt> and
+	<tt>gold</tt>), but <tt>lld</tt>'s authors are not constrained
+	by strict compatability where it would hamper performance or
+	desired functionality.</p>
+
+      <p>The upstream <tt>lld</tt> project made significant progress
+	in adding new functionality to <tt>lld</tt>'s ELF support over
+	the first quarter of 2016.  The <tt>lld</tt> ELF linker is
+	capable of self-hosting on FreeBSD/amd64 and is capable of
+	linking many test applications.</p>
+
+      <p><tt>lld</tt> currently lacks comprehensive linker script
+	expression evaluation support, and therefore cannot yet be
+	used to link the FreeBSD kernel.  It also lacks versioned
+	symbol support, and does not implement some options used in
+	the FreeBSD boot loader components.</p>
+
+      <p>I've been running experimental world builds of FreeBSD/amd64
+	with <tt>lld</tt> installed in place of <tt>ld.bfd</tt> as the
+	linker.  With workarounds for the current gaps in
+	functionality (using the <tt>WITHOUT_SYMVER</tt> option to
+	disable symbol versioning use, and linking the loader
+	components with GNU <tt>ld</tt>), <tt>lld</tt> is now able to
+	link a working FreeBSD system.</p>
+    </body>
+
+    <sponsor>The &os; Foundation</sponsor>
+
+    <help>
+      <task>
+	<p>Enable the <tt>lld</tt> option by default in the llvm-devel
+	  (and later llvm) ports for testing.</p>
+      </task>
+
+      <task>
+	<p>Develop symbol version support and linker script expression
+	  improvements in the upstream lld project.</p>
+      </task>
+
+      <task>
+	<p>Import a newer lld snapshot into the vendor area, add build
+	  infrastructure and connect it to the world build, installed
+	  as <tt>ld.lld</tt>.</p>
+      </task>
+
+      <task>
+	<p>Request a ports exp-run with <tt>/usr/bin/ld</tt> a symlink
+	  to <tt>ld.lld</tt>.</p>
+      </task>
+
+      <task>
+	<p>Extensive testing.</p>
+      </task>
+    </help>
+  </project>
 </report>


More information about the svn-doc-all mailing list