gnu binutils

2024-02-12 10:08
文章标签 gnu binutils

本文主要是介绍gnu binutils,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GNU binutils是一组二进制工具集。


binutils包含底下这些指令:

as 汇编器
ld 连接器
gprof 性能分析工具程序
addr2line 从目标文件的虚拟地址获取文件的行号或符号
ar 可以对静态库做创建、修改和取出的操作。
c++filt 解码 C++ 的符号
dlltool 创建Windows 动态库
gold 另一种连接器
nlmconv 可以转换成NetWare Loadable Module目标文件格式
nm 显示目标文件内的符号
objcopy 复制目标文件,过程中可以修改
objdump 显示目标文件的相关信息,亦可反汇编
ranlib 产生静态库的索引
readelf 显示ELF文件的内容
size 列出总体和section的大小
strings 列出任何二进制档内的可显示字符串
strip 从目标文件中移除符号
windmc 产生Windows消息资源
windres Windows 资源档编译器

详情看下面
src: http://www.gnu.org/software/binutils/

GNU Binutils

The GNU Binutils are a collection of binary tools. The main ones are:

  • ld - the GNU linker.
  • as - the GNU assembler.

But they also include:

  • addr2line - Converts addresses into filenames and line numbers.
  • ar - A utility for creating, modifying and extracting from archives.
  • c++filt - Filter to demangle encoded C++ symbols.
  • dlltool - Creates files for building and using DLLs.
  • gold - A new, faster, ELF only linker, still in beta test.
  • gprof - Displays profiling information.
  • nlmconv - Converts object code into an NLM.
  • nm - Lists symbols from object files.
  • objcopy - Copies and translates object files.
  • objdump - Displays information from object files.
  • ranlib - Generates an index to the contents of an archive.
  • readelf - Displays information from any ELF format object file.
  • size - Lists the section sizes of an object or archive file.
  • strings - Lists printable strings from files.
  • strip - Discards symbols.
  • windmc - A Windows compatible message compiler.
  • windres - A compiler for Windows resource files.

Most of these programs use BFD, the Binary File Descriptor library, to do low-level manipulation. Many of them also use the opcodes library to assemble and disassemble machine instructions.

The binutils have been ported to most major Unix variants as well as Wintel systems, and their main reason for existence is to give the GNU system (and GNU/Linux) the facility to compile and link programs.

Obtaining binutils

The latest release of GNU binutils is 2.27. The various NEWS files (binutils, gas, and ld) have details of what has changed in this release.

See the SOFTWARE page for information on obtaining releases of GNU binutils and other GNU software. The current release can be downloaded from http://ftp.gnu.org/gnu/binutils

If you plan to do active work on GNU binutils, you can access the development source tree by anonymous git:

  git clone git://sourceware.org/git/binutils-gdb.git

Alternatively, you can use the gitweb interface, or the source snapshots, available as bzipped tar files via anonymous FTP from ftp://sourceware.org/pub/binutils/snapshots.

Bug reports

There is a bug-tracking system at http://sourceware.org/bugzilla/.

Mailing lists

There are three binutils mailing lists:

bug-binutils@gnu.org ( archives)
For reporting bugs.
binutils@sourceware.org ( archives)
For discussing binutils issues.
binutils-cvs ( archives)
A read-only mailing list containing the notes from checkins to the binutils git repository. (This list has an odd name for historical reasons.)

You can use this form to subscribe to the binutils@sourceware.org or binutils-cvs@sourceware.org mailing lists:

Mailing list: 

  •          
  •          
  •          Your e-mail address: 
     Digest version? 
  •          
  •          
  •          
  • To subscribe to the bug-binutils@gnu.org mailing list, see the bug-binutils info page.

    You may wish to browse the old mail archives of the gas2 and bfd mailing lists. These were the discussion lists for binutils until May 1999. Please do not send mail to them any longer.

    Documentation

    The documentation for binutils 2.27 is available.

    A guide to porting the binutils to a new target has been contributed.


    Return to GNU's home page.

    Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

    Please send comments on these web pages to binutils@sourceware.org, send other questions to gnu@gnu.org.

    Copyright (C) 1998, 2000-2014 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

    Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

    Updated: Last modified: Mon Sep 23 08:45:03 BST 2014



    这篇关于gnu binutils的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/702362

    相关文章

    G++(GNU C++)安装及使用(windows)

    安装步骤: 1、下载 Cygnus 的G++编译器(http://www.claremontmckenna.edu/math/ALee/g++/full.exe),并保存到E盘(或其它任意盘),格式为E:full.exe。 2、直接运行该文件,可能需要十几分钟的时间(中间会有停顿甚至没有任何提示性图片或者符号,需要耐心等待哦)。       或者Win + R ,输入cmd,按Ent

    GNU工具集和MinGW

    GNU工具集         GNU工具集包含了一系列的基本工具和实用程序,这些工具为系统管理员、开发人员和普通用户提供了丰富的功能和工具支持。         许多开源软件和项目都依赖于GNU工具集提供的稳定和强大的功能,因此GNU工具集的发展与完善对整个开源社区都具有重要意义。通过GNU工具集,用户可以在命令行下完成各种任务,如文件操作、进程管理、编程开发等,为用户提供了强大的工具支持。

    GNU的伪操作 (25)

    这里主要是 对 GNU的 各个伪操作进行 详细的解释。 先来看着几个 伪操作。 .byte,  .short,  .long,  .quad , .float ,  这个是关于 字节的。 .string   .ascii 是关于字符串的。 这个字符串编译器是可以自动在末尾补0 的。 举例: val:         .word 0x11223344         m

    GNU/Linux - Open函数使用的O_CLOEXEC flag

    在 Linux 中,“O_CLOEXEC ”标志与 “open ”系统调用一起使用,用于指定在使用 “exec ”系列函数(如 “execve”、“execl ”等)执行新程序时,“open ”返回的文件描述符应自动关闭。 In Linux, the `O_CLOEXEC` flag is used with the `open` system call to specify that

    Gnu: binutils: ld: .gnu.warning.链接时的主动警告 glibc

    这个是一个gnu的extension,glibc会使用这个功能,标记即将被淘汰的符号,产生链接时的警告,比如: /* When a reference to SYMBOL is encountered, the linker will emit awarning message MSG. *//* We want the .gnu.warning.SYMBOL section to be u

    GNU/Linux - 进程关联的控制终端

    Controlling terminal 在类 Unix 操作系统中,控制终端是与进程组相关联的终端设备,它控制着进程与终端输入和输出的交互。控制终端通常是启动进程的终端。它负责处理进程的输入(如键盘输入)和输出(如显示文本)。 A controlling terminal is the terminal device associated with a process

    GNU/Linux - Linux kernel memory access

    User space memory access from the Linux kernel An introduction to Linux memory and user space APIs By M. Jones 10 August 2010 Archive date: 2023-08-31 虽然字节可能是 Linux 中内存的最低可寻址单位,但页面才是内存的可管理抽

    GNU 汇编语法基础

    目录 一、引言 二、GNU 汇编基本结构 1.指令格式 2.注释 3. 段 三、寄存器和寻址方式 1.寄存器命名 2.寻址方式 四、指令集  1.数据传送指令 2.算术运算指令  3.逻辑运算指令 4.控制流指令  五、宏和函数  1.宏定义   2. 函数定义 六、总结   一、引言         在嵌入式系统开发和底层编程中,汇编语言是

    ISO C++ 和 GNU C++ 的区别

    C++ 的 ios 标准和 gnu 标准是两种编译器标准或模式,主要由编译器在编译 C++ 代码时所遵循的规范决定。它们之间的区别主要在于是否包含标准之外的扩展以及对特定功能的支持。 1. ISO C++ 标准 (-std=c++11, -std=c++14, -std=c++17, 等) 定义: ISO C++ 标准是由国际标准化组织 (ISO) 制定的 C++ 语言标准。每个标准版本如 C

    GNU/Linux - RSYSLOG

    Getting started with RSYSLOG in Linux 用于日志处理的 Rocket-fast 系统(rsyslog)是 Linux 中提供的一个系统实用程序,支持消息日志。它具有高性能、出色的安全性和模块化设计。这是一个非常有用的工具,可以接受来自各种来源的输入,并将其转换和存储到多个不同的目的地。 The Rocket-fast System for