GNU Binutils: Difference between revisions
Appearance
Content deleted Content added
→See also: add <!-- Please keep entries in alphabetical order & add a short description WP:SEEALSO --> {{div col|colwidth=20em|small=yes}} {{div col end}} <!-- please keep entries in alphabetical order --> |
Not a compiler or interpreter |
||
(8 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{short description| |
{{short description|GNU software development tools for executable code}} |
||
{{primary sources|date=June 2017}} |
{{primary sources|date=June 2017}} |
||
{{Infobox software |
{{Infobox software |
||
| name = GNU Binutils |
|||
| logo = Heckert GNU white.svg |
|||
| screenshot = |
|||
| caption = |
|||
| developer = [[GNU Project]] |
|||
| latest release version = {{wikidata|property|preferred|references|edit|Q1144975|P348|P548=Q2804309}} |
|||
| latest release date = {{wikidata|qualifier|preferred|single|Q1144975|P348|P548=Q2804309|P577}} |
|||
{{cite mailing list |
|||
| latest preview version = {{wikidata|property|preferred|references|edit|Q1144975|P348|P548=Q51930650}} |
|||
|url = https://lists.gnu.org/archive/html/info-gnu/2021-02/msg00002.html |
|||
| latest preview date = {{wikidata|qualifier|preferred|single|Q1144975|P348|P548=Q51930650|P577}} |
|||
|title = GNU Binutils 2.36.1 has been released |
|||
| operating system = |
|||
| genre = [[Programming tool]]s |
|||
⚫ | |||
|access-date = 2021-03-09 |
|||
⚫ | |||
}}</ref> |
|||
|latest release date = {{start date and age|2021|07|18|df=yes}} |
|||
|operating system = |
|||
|genre = [[Programming tool]]s |
|||
⚫ | |||
⚫ | |||
}} |
}} |
||
The '''GNU Binary Utilities''', or {{mono|'''binutils'''}}, |
The '''GNU Binary Utilities''', or {{mono|'''binutils'''}}, is a collection of [[programming tool]]s maintained by the [[GNU Project]] for working with [[executable]] code including [[Assembler (computing)|assembly]], [[Linker (computing)|linking]] and many other development operations. |
||
⚫ | |||
⚫ | |||
⚫ | |||
The |
The tools are typically used along with other GNU tools such as [[GNU Compiler Collection]], and the [[GNU Debugger]]. |
||
⚫ | |||
Through the use of the [[Binary File Descriptor library]] ({{mono|libbfd}}), most tools support the various object file formats supported by {{mono|libbfd}}. |
|||
The tools include: |
|||
H. J. Lu maintains a version of <code>binutils</code> with features purely for [[Linux]].<ref>{{cite web |
|||
| url = https://www.kernel.org/pub/linux/devel/binutils/release.binutils-2.24.51.0.3 |
|||
| title = README-release.binutils-2.24.51.0.3}}</ref> |
|||
==Commands== |
|||
The {{mono|binutils}} include the following commands: |
|||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|- |
||
Line 58: | Line 48: | ||
| <code>nlmconv</code> || object file conversion to a [[NetWare Loadable Module]] |
| <code>nlmconv</code> || object file conversion to a [[NetWare Loadable Module]] |
||
|- |
|- |
||
| <code>[[nm (Unix)|nm]]</code> || list symbols exported by object |
| <code>[[nm (Unix)|nm]]</code> || list symbols exported by object files |
||
|- |
|- |
||
| <code>objcopy</code> || copy object files, possibly making changes |
| <code>objcopy</code> || copy object files, possibly making changes |
||
Line 66: | Line 56: | ||
| <code>[[ranlib]]</code> || generate indices for archives (for compatibility; same as {{code|ar -s}}) |
| <code>[[ranlib]]</code> || generate indices for archives (for compatibility; same as {{code|ar -s}}) |
||
|- |
|- |
||
| <code>[[readelf]]</code> || display |
| <code>[[readelf]]</code> || display contents of [[Executable and Linkable Format|ELF]] files |
||
|- |
|- |
||
| <code>size</code> || list |
| <code>size</code> || list section sizes and total size of binary files |
||
|- |
|- |
||
| <code>[[strings (Unix)|strings]]</code> || list printable strings |
| <code>[[strings (Unix)|strings]]</code> || list printable strings |
||
|- |
|- |
||
| <code>[[strip (Unix)|strip]]</code> || remove symbols from |
| <code>[[strip (Unix)|strip]]</code> || remove symbols from object files |
||
|- |
|- |
||
| <code>windmc</code> || generates Windows message resources |
| <code>windmc</code> || generates Windows message resources |
||
Line 84: | Line 74: | ||
==See also== |
==See also== |
||
{{Portal|Free and open-source software}} |
{{Portal|Free and open-source software}} |
||
⚫ | |||
{{div col|colwidth=20em|small=yes}} |
{{div col|colwidth=20em|small=yes}} |
||
⚫ | |||
⚫ | |||
* {{Annotated link|Binary File Descriptor library}} |
|||
⚫ | |||
⚫ | |||
*[[ldd (Unix)]], list symbols imported by the object file; similar to {{Code|nm}} |
|||
⚫ | |||
⚫ | |||
* {{Annotated link|ldd (Unix)}} |
|||
*[[LLVM|llvm]] provides similar set of tools |
|||
⚫ | |||
* [[strace]], a tool for system call debugging (enabled by kernel functionality) available on many distributions |
|||
* {{Annotated link|LLVM}} |
|||
* {{Annotated link|strace}} |
|||
{{div col end}} |
{{div col end}} |
||
<!-- please keep entries in alphabetical order --> |
|||
==References== |
==References== |
||
Line 100: | Line 90: | ||
==External links== |
==External links== |
||
* {{Official website|https://www.gnu.org/software/binutils/}} |
* {{Official website|https://www.gnu.org/software/binutils/}} |
||
* [https://mirrors.edge.kernel.org/pub/linux/devel/binutils/ Binutils for Linux] |
|||
* [http://elftoolchain.sourceforge.net/ The ELF Tool Chain Project] : the BSD license similar project ([https://github.com/elftoolchain/elftoolchain mirror]) |
* [http://elftoolchain.sourceforge.net/ The ELF Tool Chain Project] : the BSD license similar project ([https://github.com/elftoolchain/elftoolchain mirror]) |
||
Line 107: | Line 96: | ||
{{DEFAULTSORT:Binutils}} |
{{DEFAULTSORT:Binutils}} |
||
[[Category:Programming tools]] |
[[Category:Programming tools]] |
||
[[Category:Free compilers and interpreters]] |
|||
[[Category:GNU Project software]] |
[[Category:GNU Project software]] |
Latest revision as of 23:04, 30 October 2024
Developer(s) | GNU Project |
---|---|
Stable release | 2.43.1[1]
/ 17 August 2024 |
Repository | |
Type | Programming tools |
License | GNU GPLv3-or-later |
Website | www |
The GNU Binary Utilities, or binutils, is a collection of programming tools maintained by the GNU Project for working with executable code including assembly, linking and many other development operations.
The tools are originally from Cygnus Solutions.
The tools are typically used along with other GNU tools such as GNU Compiler Collection, and the GNU Debugger.
Tools
[edit]The tools include:
as |
assembler popularly known as GAS (GNU Assembler) |
ld |
linker |
gprof |
profiler |
addr2line |
convert address to file and line |
ar |
create, modify, and extract from archives |
c++filt |
demangling filter for C++ symbols |
dlltool |
creation of Windows dynamic-link libraries |
gold |
alternative linker for ELF files |
nlmconv |
object file conversion to a NetWare Loadable Module |
nm |
list symbols exported by object files |
objcopy |
copy object files, possibly making changes |
objdump |
dump information about object files |
ranlib |
generate indices for archives (for compatibility; same as ar -s )
|
readelf |
display contents of ELF files |
size |
list section sizes and total size of binary files |
strings |
list printable strings |
strip |
remove symbols from object files |
windmc |
generates Windows message resources |
windres |
compiler for Windows resource files |
elfutils
[edit]Ulrich Drepper wrote elfutils, to partially replace GNU Binutils, purely for Linux and with support only for ELF and DWARF. It distributes three libraries with it for programmatic access.[2][3]
See also
[edit]- Binary File Descriptor library – GNU support for multiple executable file formats
- GNU Core Utilities – Package of software containing basic utilities used on Unix-like operating systems
- GNU Debugger – Source-level debugger
- ldd (Unix) – Unix or Linux utility
- List of Unix commands
- LLVM – Compiler backend for multiple programming languages
- strace – Diagnostic, debugging and instructional userspace utility for Linux
References
[edit]- ^ Nick Clifton (17 August 2024). "GNU Binutils 2.43.1 released". Retrieved 18 August 2024.
- ^ elfutils home
- ^ elfutils at Drepper's home
External links
[edit]- Official website
- The ELF Tool Chain Project : the BSD license similar project (mirror)