GNU Binutils

The GNU Binutils are a collection of binary tools. The main ones are:

But they also include:

As well as some libraries:

Most of these programs use BFD, the Binary File Descriptor library, to do low-level manipulation. Many of them also use the opcodes library to assemble and disassemble machine instructions.

The binutils have been ported to most major Unix variants as well as Wintel systems, and their main reason for existence is to give the GNU system (and GNU/Linux) the facility to compile and link programs.

Obtaining binutils

The latest release of GNU binutils is 2.42. The various NEWS files (binutils, gas, and ld) have details of what has changed in this release.

See the SOFTWARE page for information on obtaining releases of GNU binutils and other GNU software. The current release can be downloaded from https://ftp.gnu.org/gnu/binutils or https://sourceware.org/pub/binutils/releases/

If you plan to do active work on GNU binutils, you can access the development source tree by anonymous git:

git clone git://sourceware.org/git/binutils-gdb.git

Alternatively, you can use the gitweb interface, or the source snapshots, available as compressed tar files from https://sourceware.org/pub/binutils/snapshots/.

Releases are made from branches in the repository, and commits are often made to the branches even after the release has gone out. The branches are named binutils-M_NN-branch where M is the major component of the version number and NN is the minor component. So the 2.42 release for example was taken from a branch called binutils-2_42-branch.

Releases and branches are tagged as well. The point where a branch was created is tagged as binutils-M_NN-branchpoint and the point where a release was created is tagged as binutils-M_NN. So for example the 2.40 release branch was split from the master branch at the binutils-2_40-branchpoint tag and the 2.40 release was made from that release at the binutils-2_40 tag.

Due to an unfortunate mistake the tag for the 2.41 release was not set to the correct location. Since this mistake was only discovered after the release had gone out we decided not to move the tag, but instead create a new one. Hence for the 2.41 release only, the release tag is called binutils-2_41-official-release.

Bug reports

There is a bug-tracking system at https://sourceware.org/bugzilla/.

Patches can be emailed to binutils@sourceware.org.

Mailing lists

There are three binutils mailing lists:

bug-binutils@gnu.org (archives)
For reporting bugs.
binutils@sourceware.org (archives)
For discussing binutils issues.
binutils-cvs (archives)
A read-only mailing list containing the notes from checkins to the binutils git repository. (This list has an odd name for historical reasons.)

To subscribe to the binutils@sourceware.org mailing list, see the binutils mailing list page.

To subscribe to the bug-binutils@gnu.org mailing list, see the bug-binutils info page.

You may wish to browse the old mail archives of the gas2 and bfd mailing lists. These were the discussion lists for binutils until May 1999. Please do not send mail to them any longer.

Documentation

All of these documents are maintained in a git repository, which can be cloned via:

git clone git://sourceware.org/git/binutils-htdocs


Note - there are two separate copies of this page. One is available at sourceware.org and one at gnu.org. The sourceware version is obtained from the git repository mentioned above. The gnu.org page is maintained by the GNU Webmasters.


Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to binutils@sourceware.org, send other questions to gnu@gnu.org.

Copyright (C) 1998, 2000-2024 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: Last modified: Fri Feb 16 UCT 2024