struct / union in initializer, RFE #901.
[sdcc.git] / sdcc / support / sdbinutils / binutils / doc / size.1
blobf332faf8111e7fbb497fcf9d2ae86863bee61cec
1 .\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 .    ds C`
42 .    ds C'
43 'br\}
44 .\"
45 .\" Escape single quotes in literal strings from groff's Unicode transform.
46 .ie \n(.g .ds Aq \(aq
47 .el       .ds Aq '
48 .\"
49 .\" If the F register is >0, we'll generate index entries on stderr for
50 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
51 .\" entries marked with X<> in POD.  Of course, you'll have to process the
52 .\" output yourself in some meaningful fashion.
53 .\"
54 .\" Avoid warning from groff about undefined register 'F'.
55 .de IX
57 .nr rF 0
58 .if \n(.g .if rF .nr rF 1
59 .if (\n(rF:(\n(.g==0)) \{\
60 .    if \nF \{\
61 .        de IX
62 .        tm Index:\\$1\t\\n%\t"\\$2"
64 .        if !\nF==2 \{\
65 .            nr % 0
66 .            nr F 2
67 .        \}
68 .    \}
69 .\}
70 .rr rF
71 .\"
72 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
74 .    \" fudge factors for nroff and troff
75 .if n \{\
76 .    ds #H 0
77 .    ds #V .8m
78 .    ds #F .3m
79 .    ds #[ \f1
80 .    ds #] \fP
81 .\}
82 .if t \{\
83 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
84 .    ds #V .6m
85 .    ds #F 0
86 .    ds #[ \&
87 .    ds #] \&
88 .\}
89 .    \" simple accents for nroff and troff
90 .if n \{\
91 .    ds ' \&
92 .    ds ` \&
93 .    ds ^ \&
94 .    ds , \&
95 .    ds ~ ~
96 .    ds /
97 .\}
98 .if t \{\
99 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
100 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
101 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
102 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
103 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
104 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
106 .    \" troff and (daisy-wheel) nroff accents
107 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
108 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
109 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
110 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
111 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
112 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
113 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
114 .ds ae a\h'-(\w'a'u*4/10)'e
115 .ds Ae A\h'-(\w'A'u*4/10)'E
116 .    \" corrections for vroff
117 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
118 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
119 .    \" for low resolution devices (crt and lpr)
120 .if \n(.H>23 .if \n(.V>19 \
122 .    ds : e
123 .    ds 8 ss
124 .    ds o a
125 .    ds d- d\h'-1'\(ga
126 .    ds D- D\h'-1'\(hy
127 .    ds th \o'bp'
128 .    ds Th \o'LP'
129 .    ds ae ae
130 .    ds Ae AE
132 .rm #[ #] #H #V #F C
133 .\" ========================================================================
135 .IX Title "SIZE 1"
136 .TH SIZE 1 "2022-02-09" "binutils-2.38" "GNU Development Tools"
137 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
138 .\" way too many mistakes in technical documents.
139 .if n .ad l
141 .SH "NAME"
142 size \- list section sizes and total size of binary files
143 .SH "SYNOPSIS"
144 .IX Header "SYNOPSIS"
145 size [\fB\-A\fR|\fB\-B\fR|\fB\-G\fR|\fB\-\-format=\fR\fIcompatibility\fR]
146      [\fB\-\-help\fR]
147      [\fB\-d\fR|\fB\-o\fR|\fB\-x\fR|\fB\-\-radix=\fR\fInumber\fR]
148      [\fB\-\-common\fR]
149      [\fB\-t\fR|\fB\-\-totals\fR]
150      [\fB\-\-target=\fR\fIbfdname\fR] [\fB\-V\fR|\fB\-\-version\fR]
151      [\fIobjfile\fR...]
152 .SH "DESCRIPTION"
153 .IX Header "DESCRIPTION"
154 The \s-1GNU\s0 \fBsize\fR utility lists the section sizes and the total
155 size for each of the binary files \fIobjfile\fR on its argument list.
156 By default, one line of output is generated for each file or each
157 module if the file is an archive.
159 \&\fIobjfile\fR... are the files to be examined.  If none are
160 specified, the file \f(CW\*(C`a.out\*(C'\fR will be used instead.
161 .SH "OPTIONS"
162 .IX Header "OPTIONS"
163 The command-line options have the following meanings:
164 .IP "\fB\-A\fR" 4
165 .IX Item "-A"
166 .PD 0
167 .IP "\fB\-B\fR" 4
168 .IX Item "-B"
169 .IP "\fB\-G\fR" 4
170 .IX Item "-G"
171 .IP "\fB\-\-format=\fR\fIcompatibility\fR" 4
172 .IX Item "--format=compatibility"
174 Using one of these options, you can choose whether the output from \s-1GNU\s0
175 \&\fBsize\fR resembles output from System V \fBsize\fR (using \fB\-A\fR,
176 or \fB\-\-format=sysv\fR), or Berkeley \fBsize\fR (using \fB\-B\fR, or
177 \&\fB\-\-format=berkeley\fR).  The default is the one-line format similar to
178 Berkeley's.  Alternatively, you can choose the \s-1GNU\s0 format output
179 (using \fB\-G\fR, or \fB\-\-format=gnu\fR), this is similar to
180 Berkeley's output format, but sizes are counted differently.
182 Here is an example of the Berkeley (default) format of output from
183 \&\fBsize\fR:
185 .Vb 4
186 \&        $ size \-\-format=Berkeley ranlib size
187 \&           text    data     bss     dec     hex filename
188 \&         294880   81920   11592  388392   5ed28 ranlib
189 \&         294880   81920   11888  388688   5ee50 size
192 The Berkeley style output counts read only data in the \f(CW\*(C`text\*(C'\fR
193 column, not in the \f(CW\*(C`data\*(C'\fR column, the \f(CW\*(C`dec\*(C'\fR and \f(CW\*(C`hex\*(C'\fR
194 columns both display the sum of the \f(CW\*(C`text\*(C'\fR, \f(CW\*(C`data\*(C'\fR, and
195 \&\f(CW\*(C`bss\*(C'\fR columns in decimal and hexadecimal respectively.
197 The \s-1GNU\s0 format counts read only data in the \f(CW\*(C`data\*(C'\fR column, not
198 the \f(CW\*(C`text\*(C'\fR column, and only displays the sum of the \f(CW\*(C`text\*(C'\fR,
199 \&\f(CW\*(C`data\*(C'\fR, and \f(CW\*(C`bss\*(C'\fR columns once, in the \f(CW\*(C`total\*(C'\fR column.
200 The \fB\-\-radix\fR option can be used to change the number base for
201 all columns.  Here is the same data displayed with \s-1GNU\s0 conventions:
203 .Vb 4
204 \&        $ size \-\-format=GNU ranlib size
205 \&              text       data        bss      total filename
206 \&            279880      96920      11592     388392 ranlib
207 \&            279880      96920      11888     388688 size
210 This is the same data, but displayed closer to System V conventions:
212 .Vb 7
213 \&        $ size \-\-format=SysV ranlib size
214 \&        ranlib  :
215 \&        section         size         addr
216 \&        .text         294880         8192
217 \&        .data          81920       303104
218 \&        .bss           11592       385024
219 \&        Total         388392
220 \&        
221 \&        
222 \&        size  :
223 \&        section         size         addr
224 \&        .text         294880         8192
225 \&        .data          81920       303104
226 \&        .bss           11888       385024
227 \&        Total         388688
229 .IP "\fB\-\-help\fR" 4
230 .IX Item "--help"
231 Show a summary of acceptable arguments and options.
232 .IP "\fB\-d\fR" 4
233 .IX Item "-d"
234 .PD 0
235 .IP "\fB\-o\fR" 4
236 .IX Item "-o"
237 .IP "\fB\-x\fR" 4
238 .IX Item "-x"
239 .IP "\fB\-\-radix=\fR\fInumber\fR" 4
240 .IX Item "--radix=number"
242 Using one of these options, you can control whether the size of each
243 section is given in decimal (\fB\-d\fR, or \fB\-\-radix=10\fR); octal
244 (\fB\-o\fR, or \fB\-\-radix=8\fR); or hexadecimal (\fB\-x\fR, or
245 \&\fB\-\-radix=16\fR).  In \fB\-\-radix=\fR\fInumber\fR, only the three
246 values (8, 10, 16) are supported.  The total size is always given in two
247 radices; decimal and hexadecimal for \fB\-d\fR or \fB\-x\fR output, or
248 octal and hexadecimal if you're using \fB\-o\fR.
249 .IP "\fB\-\-common\fR" 4
250 .IX Item "--common"
251 Print total size of common symbols in each file.  When using Berkeley
252 or \s-1GNU\s0 format these are included in the bss size.
253 .IP "\fB\-t\fR" 4
254 .IX Item "-t"
255 .PD 0
256 .IP "\fB\-\-totals\fR" 4
257 .IX Item "--totals"
259 Show totals of all objects listed (Berkeley or \s-1GNU\s0 format mode only).
260 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4
261 .IX Item "--target=bfdname"
262 Specify that the object-code format for \fIobjfile\fR is
263 \&\fIbfdname\fR.  This option may not be necessary; \fBsize\fR can
264 automatically recognize many formats.
265 .IP "\fB\-V\fR" 4
266 .IX Item "-V"
267 .PD 0
268 .IP "\fB\-\-version\fR" 4
269 .IX Item "--version"
271 Display the version number of \fBsize\fR.
272 .IP "\fB@\fR\fIfile\fR" 4
273 .IX Item "@file"
274 Read command-line options from \fIfile\fR.  The options read are
275 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
276 does not exist, or cannot be read, then the option will be treated
277 literally, and not removed.
279 Options in \fIfile\fR are separated by whitespace.  A whitespace
280 character may be included in an option by surrounding the entire
281 option in either single or double quotes.  Any character (including a
282 backslash) may be included by prefixing the character to be included
283 with a backslash.  The \fIfile\fR may itself contain additional
284 @\fIfile\fR options; any such options will be processed recursively.
285 .SH "SEE ALSO"
286 .IX Header "SEE ALSO"
287 \&\fBar\fR\|(1), \fBobjdump\fR\|(1), \fBreadelf\fR\|(1), and the Info entries for \fIbinutils\fR.
288 .SH "COPYRIGHT"
289 .IX Header "COPYRIGHT"
290 Copyright (c) 1991\-2022 Free Software Foundation, Inc.
292 Permission is granted to copy, distribute and/or modify this document
293 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
294 or any later version published by the Free Software Foundation;
295 with no Invariant Sections, with no Front-Cover Texts, and with no
296 Back-Cover Texts.  A copy of the license is included in the
297 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".