GNU Binary Utilities
Encyclopedia
The GNU Binary Utilities, or binutils, comprise a collection of programming tool
Programming tool
A programming tool or software development tool is a program or application that software developers use to create, debug, maintain, or otherwise support other programs and applications...

s for the manipulation of object code
Object code
Object code, or sometimes object module, is what a computer compiler produces. In a general sense object code is a sequence of statements in a computer language, usually a machine code language....

 in various object file formats. The current versions were originally written by programmers at Cygnus Solutions
Cygnus Solutions
Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore, Michael Tiemann and David Henkel-Wallace to provide commercial support for free software...

 using the Binary File Descriptor library (libbfd). They are typically used in conjunction with GNU Compiler Collection
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

, make, and GDB
GNU Debugger
The GNU Debugger, usually called just GDB and named gdb as an executable file, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Java...

.

History

Originally the package consisted of only the minor utilities, but later the GNU Assembler
GNU Assembler
The GNU Assembler, commonly known as GAS , is the assembler used by the GNU Project. It is the default back-end of GCC. It is used to assemble the GNU operating system and the Linux kernel, and various other software. It is a part of the GNU Binutils package.GAS' executable is named after as, a...

 (GAS) and GNU Linker (GLD) were included in releases, since their functionality is so closely related.

Most of the binutils are rather simple programs. The Binary File Descriptor library and libopcodes libraries, which they share, encapsulate most of the complexity.

The original BFD versions were written by David Henkel-Wallace and Steve Chamberlain. Past maintainers have included Ken Raeburn and Ian Lance Taylor. the current maintainer is Nick Clifton.

Binutils for Linux is maintained by H.J. Lu.

Commands

The binutils include the following commands:
as
GNU Assembler
The GNU Assembler, commonly known as GAS , is the assembler used by the GNU Project. It is the default back-end of GCC. It is used to assemble the GNU operating system and the Linux kernel, and various other software. It is a part of the GNU Binutils package.GAS' executable is named after as, a...

assembler popularly known as GAS (Gnu ASsembler)
ld linker
gprof profiler
Performance analysis
In software engineering, profiling is a form of dynamic program analysis that measures, for example, the usage of memory, the usage of particular instructions, or frequency and duration of function calls...

addr2line convert address to file and line
ar
Ar (Unix)
The archiver is a Unix utility that maintains groups of files as a single archive file. Today, ar is generally used only to create and update static library files that the link editor or linker uses; it can be used to create archives for any purpose, but has been largely replaced by tar for...

create, modify, and extract from archives
Archive file
An archive file is a file that is composed of one or more files along with metadata that can include source volume and medium information, file directory structure, error detection and recovery information, file comments, and usually employs some form of lossless compression. Archive files may be...

c++filt demangling filter for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 symbols
dlltool creation of Windows dynamic-link libraries
Dynamic-link library
Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems...

gold
Gold (linker)
gold is a linker for ELF files. It became an official GNU package and was added to binutils on March, 2008 and first released in binutils version 2.19. Gold was developed by Ian Lance Taylor and a small team at Google...

alternative linker
nlmconv object file conversion to a NetWare Loadable Module
nm
Nm (Unix)
The nm command ships with a number of later versions of Unix and similar operating systems. nm is used to examine binary files and to display the contents of those files, or meta information stored in them, specifically the symbol table...

list symbols in object files
objcopy copy object files, possibly making changes
objdump
Objdump
objdump is a program for displaying various information about object files. For instance, it can be used as a disassembler to view executable in assembly form...

dump information about object files
ranlib generate indexes for archives
readelf display content of ELF
Executable and Linkable Format
In computing, the Executable and Linkable Format is a common standard file format for executables, object code, shared libraries, and core dumps. First published in the System V Application Binary Interface specification, and later in the Tool Interface Standard, it was quickly accepted among...

 files
size
Size (Unix)
size is a command line utility originally written for use with the Unix-like operating systems. It processes one or more ELF files and its output are the dimensions of the text, data and uninitialized sections, and their total.Common use:...

list total and section sizes
strings
Strings (Unix)
In computer software, strings is a program in Unix-like operating systems that finds and prints text strings embedded in binary files such as executables.It can be used on object files, and core dumps....

list printable strings
strip
Strip (Unix)
In Unix and Unix-like operating systems, the strip program removes unnecessary information from executable binary programs and object files, thus potentially resulting in better performance and sometimes significantly less disk space usage...

remove symbols from an object file
windmc generates Windows message resources
windres compiler for Windows resource
Resource (Windows)
In Microsoft Windows, resources are read-only data embedded in EXE, DLL, CPL or MUI files.The Windows API provides for easy access to all applications' resources.-Types:...

 files

See also

  • Coreutils
  • List of Unix utilities
  • GNU Debugger
    GNU Debugger
    The GNU Debugger, usually called just GDB and named gdb as an executable file, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, C, C++, Objective-C, Free Pascal, Fortran, Java...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK