source: appendixa/binutils-desc.xml@ 713cffb

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_0 v3_1 v3_2 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 713cffb was 3cc70a0, checked in by Thomas Balu Walter <tw@…>, 23 years ago

Removed all third person-references "you" - "a user" e.g.

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

  • Property mode set to 100644
File size: 4.1 KB
Line 
1<sect2>
2<title>Description</title>
3
4<para>
5The Binutils package contains the gasp, gprof, ld, as, ar, nm, objcopy,
6objdump, ranlib, readelf, size, strings, strip, c++filt and addr2line
7programs
8</para>
9
10</sect2>
11
12<sect2><title>Description</title>
13
14<sect3><title>gasp</title>
15
16<para>
17Gasp is the Assembler Macro Preprocessor.
18</para>
19
20</sect3>
21
22<sect3><title>gprof</title>
23
24<para>
25gprof displays call graph profile data.
26</para>
27
28</sect3>
29
30<sect3><title>ld</title>
31
32<para>
33ld combines a number of object and archive files, relocates their data
34and ties up symbol references. Often the last step in building a new compiled
35program to run is a call to ld.
36</para>
37
38</sect3>
39
40<sect3><title>as</title>
41
42<para>
43as is primarily intended to assemble the output of the GNU C compiler gcc
44for use by the linker ld.
45</para>
46
47</sect3>
48
49<sect3><title>ar</title>
50
51<para>
52The ar program creates, modifies, and extracts from archives. An archive is
53a single file holding a collection of other files in a structure that makes
54it possible to retrieve the original individual files (called members of
55the archive).
56</para>
57
58</sect3>
59
60<sect3><title>nm</title>
61
62<para>
63nm lists the symbols from object files.
64</para>
65
66</sect3>
67
68<sect3><title>objcopy</title>
69
70<para>
71objcopy utility copies the contents of an object file to another. objcopy
72uses the GNU BFD Library to read and write the object files. It can write
73the destination object file in a format different from that of the source
74object file.
75</para>
76
77</sect3>
78
79<sect3><title>objdump</title>
80
81<para>
82objdump displays information about one or more object files. The options
83control what particular information to display. This information is mostly
84useful to programmers who are working on the compilation tools, as opposed to
85programmers who just want their program to compile and work.
86</para>
87
88</sect3>
89
90<sect3><title>ranlib</title>
91
92<para>
93ranlib generates an index to the contents of an archive, and stores it in
94the archive. The index lists each symbol defined by a member of an archive
95that is a relocatable object file.
96</para>
97
98</sect3>
99
100<sect3><title>readelf</title>
101
102<para>
103readelf displays information about elf type binaries.
104</para>
105
106</sect3>
107
108<sect3><title>size</title>
109
110<para>
111size lists the section sizes --and the total size-- for each of the object
112files objfile in its argument list. By default, one line of output is
113generated for each object file or each module in an archive.
114</para>
115
116</sect3>
117
118<sect3><title>strings</title>
119
120<para>
121For each file given, strings prints the printable character sequences
122that are at least 4 characters long (or the number specified with an
123option to the program) and are followed by an unprintable character. By
124default, it only prints the strings from the initialized and loaded
125sections of object files; for other types of files, it prints the strings
126from the whole file.
127</para>
128
129<para>
130strings is mainly useful for determining the contents of non-text files.
131</para>
132
133</sect3>
134
135<sect3><title>strip</title>
136
137<para>
138strip discards all or specific symbols from object files. The list of
139object files may include archives. At least one object file must be
140given. strip modifies the files named in its argument, rather than writing
141modified copies under different names.
142</para>
143
144</sect3>
145
146<sect3><title>c++filt</title>
147
148<para>
149The C++ language provides function overloading, which means that it is
150possible to
151write many functions with the same name (providing each takes parameters
152of different types). All C++ function names are encoded into a low-level
153assembly label (this process is known as mangling). The c++filt program
154does the inverse mapping: it decodes (demangles) low-level names into
155user-level names so that the linker can keep these overloaded functions
156from clashing.
157</para>
158
159</sect3>
160
161<sect3><title>addr2line</title>
162
163<para>
164addr2line translates program addresses into file names and line numbers.
165Given an address and an executable, it uses the debugging information in
166the executable to figure out which file name and line number are associated
167with a given address.
168</para>
169
170</sect3>
171
172</sect2>
173
Note: See TracBrowser for help on using the repository browser.