| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | 
							- <sect2>
 
- <title>Description</title>
 
- <para>
 
- The Binutils package contains the gasp, gprof, ld, as, ar, nm, objcopy, 
 
- objdump, ranlib, readelf,  size, strings, strip, c++filt and addr2line 
 
- programs
 
- </para>
 
- </sect2>
 
- <sect2><title>Description</title>
 
- <sect3><title>gasp</title>
 
- <para>
 
- Gasp is the Assembler Macro Preprocessor.
 
- </para>
 
- </sect3>
 
- <sect3><title>gprof</title>
 
- <para>
 
- gprof displays call graph profile data.
 
- </para>
 
- </sect3>
 
- <sect3><title>ld</title>
 
- <para>
 
- 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.
 
- </para>
 
- </sect3>
 
- <sect3><title>as</title>
 
- <para>
 
- as is primarily intended to assemble the output of the GNU C compiler gcc 
 
- for use by the linker ld.
 
- </para>
 
- </sect3>
 
- <sect3><title>ar</title>
 
- <para>
 
- 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).
 
- </para>
 
- </sect3>
 
- <sect3><title>nm</title>
 
- <para>
 
- nm lists the symbols from object files.
 
- </para>
 
- </sect3>
 
- <sect3><title>objcopy</title>
 
- <para>
 
- 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.  
 
- </para>
 
- </sect3>
 
- <sect3><title>objdump</title>
 
- <para>
 
- 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.
 
- </para>
 
- </sect3>
 
- <sect3><title>ranlib</title>
 
- <para>
 
- 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.
 
- </para>
 
- </sect3>
 
- <sect3><title>readelf</title>
 
- <para>
 
- readelf displays information about elf type binaries.
 
- </para>
 
- </sect3>
 
- <sect3><title>size</title>
 
- <para>
 
- 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.
 
- </para>
 
- </sect3>
 
- <sect3><title>strings</title>
 
- <para>
 
- 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.
 
- </para>
 
- <para>
 
- strings  is  mainly useful for determining the contents of non-text files.
 
- </para>
 
- </sect3>
 
- <sect3><title>strip</title>
 
- <para>
 
- 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.
 
- </para>
 
- </sect3>
 
- <sect3><title>c++filt</title>
 
- <para>
 
- 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.
 
- </para>
 
- </sect3>
 
- <sect3><title>addr2line</title>
 
- <para>
 
- 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.
 
- </para>
 
- </sect3>
 
- </sect2>
 
 
  |