Add report for ELF Tool Chain tools migration
Approved by: hrs (mentor, blanket)
This commit is contained in:
parent
ea2e573bcf
commit
cc72e02c9d
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=46180
1 changed files with 86 additions and 0 deletions
|
@ -1459,4 +1459,90 @@
|
|||
</help>
|
||||
</project>
|
||||
|
||||
<project cat='proj'>
|
||||
<title>Migration to ELF Tool Chain tools</title>
|
||||
|
||||
<contact>
|
||||
<person>
|
||||
<name>
|
||||
<given>Ed</given>
|
||||
<common>Maste</common>
|
||||
</name>
|
||||
<email>emaste@freebsd.org</email>
|
||||
</person>
|
||||
</contact>
|
||||
|
||||
<links>
|
||||
<url href="http://elftoolchain.sourceforge.net" />
|
||||
</links>
|
||||
|
||||
<body>
|
||||
<p>The ELF Tool Chain project provides BSD licensed
|
||||
implementations of compilation tools and libraries for building
|
||||
and analyzing ELF objects. It started as part of &os; but has
|
||||
moved to a standalone project to encourage wider participation
|
||||
from others in the open-source developer community. &os;'s
|
||||
libelf and libdwarf are now imported from upstream source in
|
||||
contrib/elftoolchain.</p>
|
||||
|
||||
<p>ELF Tool Chain provides a set of tools equivalent to the
|
||||
GNU Binutils suite. This project's goal is to import these tools
|
||||
into the &os; base system so that we have a set of up-to-date
|
||||
and maintained tools that also provide support for new CPU
|
||||
architectures of interest, such as arm64.</p>
|
||||
|
||||
<p>The following tools have now been imported and are available by
|
||||
setting the src.conf knob WITH_ELFTOOLCHAIN_TOOLS=yes:</p>
|
||||
|
||||
<ul>
|
||||
<li>addr2line</li>
|
||||
<li>nm</li>
|
||||
<li>size</li>
|
||||
<li>strings</li>
|
||||
<li>strip (elfcopy)</li>
|
||||
</ul>
|
||||
|
||||
<p>A ports exp-run uncovered some bugs in these tools. The
|
||||
bugs are being fixed in the &os; source tree and are in the
|
||||
process of being committed to the upstream project.</p>
|
||||
|
||||
<p>ELF Tool Chain's readelf will be enabled as well once some
|
||||
missing functionality in ELF note parsing is added. ELF Tool
|
||||
Chain's elfcopy provides equivalent functionality to Binutils
|
||||
objcopy, and accepts the same command-line arguments. For it to be
|
||||
a viable replacement for all uses of objcopy in the base system it
|
||||
will need to gain support for writing portable exectuable (PE)
|
||||
format binaries, which are used in by UEFI boot code.</p>
|
||||
|
||||
<p>The ELF Tool Chain project does not currently provide
|
||||
replacements for as, ld, and objdump. For &os; these tools will
|
||||
likely be obtained from the LLVM project.</p>
|
||||
</body>
|
||||
|
||||
<sponsor>The &os; Foundation</sponsor>
|
||||
|
||||
<help>
|
||||
<task>
|
||||
<p>Import readelf.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Add missing functionality to readelf.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Add missing functionality to elfcopy and migrate the base system
|
||||
build.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Fix issues found by fuzzing inputs to the tools.</p>
|
||||
</task>
|
||||
|
||||
<task>
|
||||
<p>Switch the default to WITH_ELFTOOLCHAIN_TOOLS.</p>
|
||||
</task>
|
||||
</help>
|
||||
</project>
|
||||
|
||||
</report>
|
||||
|
|
Loading…
Reference in a new issue