binutils-desc.xml 4.1 KB

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