diff options
Diffstat (limited to 'appendixa/binutils-desc.xml')
-rw-r--r-- | appendixa/binutils-desc.xml | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/appendixa/binutils-desc.xml b/appendixa/binutils-desc.xml new file mode 100644 index 000000000..6211265cf --- /dev/null +++ b/appendixa/binutils-desc.xml @@ -0,0 +1,156 @@ +<sect2> +<title>Description</title> + +<para> +The Binutils package contains the ld, as, ar, nm, objcopy, objdump, +ranlib, size, strings, strip, c++filt, addr2line and nlmconv programs +</para> + +</sect2> + +<sect2><title>Description</title> + +<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>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> + +<sect3><title>nlmconv</title> + +<para> +nlmconv converts relocatable object files into the NetWare Loadable Module +files, optionally reading header files for NLM header information. +</para> + +</sect3> + +</sect2> + |