GNU binutils 2.17.50 retirement planning

Ed Maste emaste at
Fri Nov 23 16:23:35 UTC 2018

For some time we have been incrementally working to retire the use of
obsolete GNU Binutils 2.17.50 tools. At present we still install three
binutils by default:


The intent is to retire all of these by FreeBSD 13. Depending on tool
and architecture we will just remove it, migrate to LLVM tools, or
rely on external toolchain components.

Retiring GNU as requires further investigation and effort as we have
some assembly files (for amd64 at least) which cannot be assembled by
Clang's integrated assembler. If Clang gains support for the required
functionality we'll switch to using IAS for all assembly files, and if
not we could rewrite the few assembly files to work with IAS.

ld.bfd is installed, but is not the default linker (/usr/bin/ld) on
amd64, arm64 and arm, and soon i386 as well. We can just stop
installing it at the appropriate time.

For objdump I have proposed installing LLVM's llvm-obdump as objdump,
in review D18307. It does not support all of the options that GNU
objdump does, but is usable for many common operations. In addition,
non-obsolete GNU objdump is available in the binutils port or package.
Please try out llvm-objdump and see if it supports the options you
need/use, and add a note in PR 229046 if not.

More information about the freebsd-current mailing list