On Wed, Jun 20, 2018 at 10:46:46AM -0400, Ed Maste wrote:
> Work is in progress to migrate fully to modern and permissively
> licensed components for the tool chain. This includes moving away from
> the three obsolete binutils components that are still in the base
> system (as, ld, objdump). objdump is a tool to report information
> about binary objects (such as headers, symbols, etc.), is not required
> as a build tool, and in any case many uses of objdump are better
> served by readelf.
> For FreeBSD 12 I intend to remove GNU objdump 2.17.50. PR 229046 is
> open to track tasks related to its removal, and users who need GNU
> objdump can install an up-to-date version from the ports tree or the
> binutils package.
> That said, llvm includes a somewhat equivalent llvm-objdump, and it is
> built by default in FreeBSD now. If llvm-objdump's command line option
> support and output format is "close enough" to GNU objdump for most
> users we may decide to install it as /usr/bin/objdump. Therefore, I
> would like to ask users of GNU objdump in FreeBSD to give llvm-objdump
> a try. Please let me know if it works for your uses, or describe
> deficiencies that you found.
In preparation for Cross-DSO CFI support, HardenedBSD switched to
llvm-ar, llvm-nm, and llvm-objdump on 12-CURRENT/arm64 with commit
a3db6f9006499b55c2042faccd0ed6a6777b9d9f (22 Dec 2017).
There are some issues with the ports tree, but I haven't quantified
them, yet. All high-visibility applications (firefox, apache, nginx,
openvpn, etc.) all work with a full llvm toolchain (again: llvm-ar,
llvm-nm, and llvm-objdump).
Some applications break during runtime and not build time. Certain
pidgin plugins break, for example, at runtime due to a full llvm
toolchain, but compile just fine.
Would you like me to quantify the compilation breakages due to the
full llvm toolchain switch? If so, I can do that after July 12th.
Cofounder and Security Engineer
Tor-ified Signal: +1 443-546-8752
GPG Key ID: 0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89 3D9E 6A84 658F 5245 6EEE