Binutils
- GNU Project - Free Software Foundation
Skip to main text
JOIN THE FSF
GNU
Operating System
Supported by the
Free Software Foundation
Site navigation
Skip
ABOUT GNU
PHILOSOPHY
LICENSES
EDUCATION
SOFTWARE
DISTROS
DOCS
MALWARE
HELP GNU
AUDIO & VIDEO
GNU ART
FUN
GNU'S WHO?
SOFTWARE DIRECTORY
HARDWARE
GNU Binutils
The GNU Binutils are a collection of binary tools. The main
ones are:
ld
- the GNU linker.
as
- the GNU assembler.
gold
- a new, faster, ELF only linker.
But they also include:
addr2line
- Converts addresses into filenames and
line numbers.
ar
- A utility for creating, modifying and
extracting from archives.
c++filt
- Filter to demangle encoded C++
symbols.
dlltool
- Creates files for building and using DLLs.
elfedit
- Allows alteration of ELF format files.
gprof
- Displays profiling information.
gprofng
- Collects and displays application performance data.
nlmconv
- Converts object code into an NLM.
nm
- Lists symbols from object files.
objcopy
- Copies and translates object files.
objdump
- Displays information from object
files.
ranlib
- Generates an index to the contents of an
archive.
readelf
- Displays information from any ELF format
object file.
size
- Lists the section sizes of an object or
archive file.
strings
- Lists printable strings from files.
strip
- Discards symbols.
windmc
- A Windows compatible message compiler.
windres
- A compiler for Windows resource
files.
As well as some libraries:
libbfd
- A library for manipulating binary files in a variety of
different formats.
libctf
- A library for manipulating the CTF debug format.
libopcodes
- A library for assembling and disassembling a variety
of different assembler languages.
libsframe
- A library for manipulating the SFRAME debug format.
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.46. 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
or
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
There is also a mirror of the repository at
sourcehut
Snapshots of the sources are taken after every commit and are made
available as compressed tar files from
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
is the major component of the
version number and
NN
is the minor component. So the 2.43 release for
example was taken from a branch called binutils-2_43-branch.
When a release is imminent a pre-release tarball is created in order to
allow users a chance to preview the changes before they become official.
These are available from here:
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.43 release branch was split from the master branch at
the binutils-2_43-branchpoint tag and the 2.43 release was made from
that release at the binutils-2_43 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
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
The
documentation for the current binutils release
is available here.
guide to
porting the binutils
to a new target has been contributed.
wiki for the GNU
Binutils
contains more information about the project and the various tools
that it contains.
The GNU Binutils has a
Code
of Conduct
for anyone wishing to work with the project.
All of these documents are maintained in a
git repository
which can be cloned via:
git clone git://sourceware.org/git/binutils-htdocs
Contributing
The GNU Binutils project is always happy to accept contributions of new
features, bug fixes, documentation updates, web page improvements and so on.
Details on how to contribute can be found on the Binutils
Wiki's
How To
Contribute
page. Similar information can also be found on the
gcc.gnu.org's
Contributing
to GCC
page.
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
“The Free Software Foundation (FSF) is a nonprofit with a worldwide
mission to promote computer user freedom. We defend the rights of all
software users.”
JOIN
DONATE
SHOP
Please send general FSF & GNU inquiries to

There are also
other ways to contact
the FSF. Broken links and other corrections or suggestions can be sent
to

Please see the
Translations
README
for information on coordinating and contributing translations
of this article.
Copyright © 1998, 2000-2024 Free Software Foundation, Inc.
This page is licensed under a
Creative
Commons Attribution-NoDerivatives 4.0 International License
Copyright Infringement Notification
Updated:
$Date: 2026/02/08 19:05:50 $