You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

298 lines
10KB

  1. .\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
  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
  13. ..
  14. .de Ve \" End verbatim text
  15. .ft R
  16. .fi
  17. ..
  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 turned on, 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
  56. ..
  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"
  63. ..
  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'
  105. .\}
  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 \
  121. \{\
  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
  131. .\}
  132. .rm #[ #] #H #V #F C
  133. .\" ========================================================================
  134. .\"
  135. .IX Title "SIZE 1"
  136. .TH SIZE 1 "2020-11-24" "binutils-2.35.1" "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
  140. .nh
  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.
  158. .PP
  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"
  173. .PD
  174. Using one of these options, you can choose whether the output from \s-1GNU
  175. \&\s0\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.
  181. .Sp
  182. Here is an example of the Berkeley (default) format of output from
  183. \&\fBsize\fR:
  184. .Sp
  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
  190. .Ve
  191. .Sp
  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.
  196. .Sp
  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:
  202. .Sp
  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
  208. .Ve
  209. .Sp
  210. This is the same data, but displayed closer to System V conventions:
  211. .Sp
  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
  228. .Ve
  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"
  241. .PD
  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"
  258. .PD
  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"
  270. .PD
  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.
  278. .Sp
  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. \&\fIar\fR\|(1), \fIobjdump\fR\|(1), \fIreadelf\fR\|(1), and the Info entries for \fIbinutils\fR.
  288. .SH "COPYRIGHT"
  289. .IX Header "COPYRIGHT"
  290. Copyright (c) 1991\-2020 Free Software Foundation, Inc.
  291. .PP
  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".