source: appendixa/binutils-desc.xml@ 926b857

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v3_3 v4_0 v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 926b857 was 926b857, checked in by Mark Hymers <markh@…>, 22 years ago

Add libopcodes explanation to binutils-desc.xml

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@1753 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 4.7 KB
Line 
1<sect2>
2<title>Contents of binutils-&binutils-contversion;</title>
3
4<sect3><title>Program Files</title>
5
6<para>addr2line, ar, as, c++filt, gasp, gprof, ld, nm, objcopy, objdump,
7ranlib, readelf, size, strings and strip</para></sect3>
8
9<sect3><title>Descriptions</title>
10
11<sect4><title>addr2line</title>
12<para>addr2line translates program addresses into file names and line numbers.
13Given an address and an executable, it uses the debugging information in
14the executable to figure out which file name and line number are associated
15with a given address.</para></sect4>
16
17<sect4><title>ar</title>
18<para>The ar program creates, modifies, and extracts from archives. An archive
19is a single file holding a collection of other files in a structure that makes
20it possible to retrieve the original individual files (called members of
21the archive).</para></sect4>
22
23<sect4><title>as</title>
24<para>as is primarily intended to assemble the output of the GNU C compiler gcc
25for use by the linker ld.</para></sect4>
26
27<sect4><title>c++filt</title>
28<para>The C++ language provides function overloading, which means that it is
29possible to
30write many functions with the same name (providing each takes parameters
31of different types). All C++ function names are encoded into a low-level
32assembly label (this process is known as mangling). The c++filt program
33does the inverse mapping: it decodes (demangles) low-level names into
34user-level names so that the linker can keep these overloaded functions
35from clashing.</para></sect4>
36
37<sect4><title>gasp</title>
38<para>Gasp is the Assembler Macro Preprocessor.</para></sect4>
39
40<sect4><title>gprof</title>
41<para>gprof displays call graph profile data.</para></sect4>
42
43<sect4><title>ld</title>
44<para>ld combines a number of object and archive files, relocates their data
45and ties up symbol references. Often the last step in building a new compiled
46program to run is a call to ld.</para></sect4>
47
48<sect4><title>nm</title>
49<para>nm lists the symbols from object files.</para></sect4>
50
51<sect4><title>objcopy</title>
52<para>objcopy utility copies the contents of an object file to another. objcopy
53uses the GNU BFD Library to read and write the object files. It can write
54the destination object file in a format different from that of the source
55object file.</para></sect4>
56
57<sect4><title>objdump</title>
58<para>objdump displays information about one or more object files. The options
59control what particular information to display. This information is mostly
60useful to programmers who are working on the compilation tools, as opposed to
61programmers who just want their program to compile and work.</para></sect4>
62
63<sect4><title>ranlib</title>
64<para>ranlib generates an index to the contents of an archive, and stores it in
65the archive. The index lists each symbol defined by a member of an archive
66that is a relocatable object file.</para></sect4>
67
68<sect4><title>readelf</title>
69<para>readelf displays information about elf type binaries.</para></sect4>
70
71<sect4><title>size</title>
72<para>size lists the section sizes --and the total size-- for each of the
73object files objfile in its argument list. By default, one line of output is
74generated for each object file or each module in an archive.</para></sect4>
75
76<sect4><title>strings</title>
77<para>For each file given, strings prints the printable character sequences
78that are at least 4 characters long (or the number specified with an
79option to the program) and are followed by an unprintable character. By
80default, it only prints the strings from the initialized and loaded
81sections of object files; for other types of files, it prints the strings
82from the whole file.</para>
83
84<para>strings is mainly useful for determining the contents of non-text files.</para></sect4>
85
86<sect4><title>strip</title>
87<para>strip discards all or specific symbols from object files. The list of
88object files may include archives. At least one object file must be
89given. strip modifies the files named in its argument, rather than writing
90modified copies under different names.</para></sect4>
91
92</sect3>
93
94<sect3><title>Library Files</title>
95<para>libbfd.a, libiberty.a and libopcodes.a</para></sect3>
96
97<sect3><title>Descriptions</title>
98
99<sect4><title>libbfd</title>
100<para>libbfd is the Binary File Descriptor library.</para></sect4>
101
102<sect4><title>libiberty</title>
103<para>libiberty is a collection of subroutines used by various GNU
104programs including getopt, obstack, strerror, strtol and strtoul.</para></sect4>
105
106<sect4><title>libopcodes</title>
107<para>libopcodes is a native library for dealing with opcodes and is
108used in the course of building utilities such as objdump. Opcodes are
109actually "readable text" versions of instructions for the
110processor.</para></sect4>
111
112</sect3>
113
114</sect2>
115
Note: See TracBrowser for help on using the repository browser.