Description
The Binutils package contains the ld, as, ar, nm, objcopy, objdump,
ranlib, size, strings, strip, c++filt, addr2line and nlmconv programs
Description
ld
ld combines a number of object and archive files, relocates their data
and ties up symbol references. Often the last step in building a new compiled
program to run is a call to ld.
as
as is primarily intended to assemble the output of the GNU C compiler gcc
for use by the linker ld.
ar
The ar program creates, modifies, and extracts from archives. An archive is
a single file holding a collection of other files in a structure that makes
it possible to retrieve the original individual files (called members of
the archive).
nm
nm lists the symbols from object files.
objcopy
objcopy utility copies the contents of an object file to another. objcopy
uses the GNU BFD Library to read and write the object files. It can write
the destination object file in a format different from that of the source
object file.
objdump
objdump displays information about one or more object files. The options
control what particular information to display. This information is mostly
useful to programmers who are working on the compilation tools, as opposed to
programmers who just want their program to compile and work.
ranlib
ranlib generates an index to the contents of an archive, and stores it in
the archive. The index lists each symbol defined by a member of an archive
that is a relocatable object file.
size
size lists the section sizes --and the total size-- for each of the object
files objfile in its argument list. By default, one line of output is
generated for each object file or each module in an archive.
strings
For each file given, strings prints the printable character sequences
that are at least 4 characters long (or the number specified with an
option to the program) and are followed by an unprintable character. By
default, it only prints the strings from the initialized and loaded
sections of object files; for other types of files, it prints the strings
from the whole file.
strings is mainly useful for determining the contents of non-text files.
strip
strip discards all or specific symbols from object files. The list of
object files may include archives. At least one object file must be
given. strip modifies the files named in its argument, rather than writing
modified copies under different names.
c++filt
The C++ language provides function overloading, which means that you can
write many functions with the same name (providing each takes parameters
of different types). All C++ function names are encoded into a low-level
assembly label (this process is known as mangling). The c++filt program
does the inverse mapping: it decodes (demangles) low-level names into
user-level names so that the linker can keep these overloaded functions
from clashing.
addr2line
addr2line translates program addresses into file names and line numbers.
Given an address and an executable, it uses the debugging information in
the executable to figure out which file name and line number are associated
with a given address.
nlmconv
nlmconv converts relocatable object files into the NetWare Loadable Module
files, optionally reading header files for NLM header information.