问题标签 [binutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
240 浏览

gcc - binutils: hex2asm

我从 android 的 logcat 得到堆栈转储,它显示了 pc 周围的代码,如下所示:

问题是:使用 gcc/binutils,我怎样才能将这些东西转换成 asm?

0 投票
2 回答
1821 浏览

c - 有没有办法用 GNU binutils 取消隐藏隐藏的可见性符号?

我正在编写一个脚本,以使 uClibc 在现有的 glibc 目标 gcc/binutils 工具链上可用,我剩下的一个问题是pthread_cancel需要dlopen libgcc_s.so.1. 主机 gcc 提供的版本链接到依赖于 glibc,所以我改为使用ld's-u选项来提取所需的符号(及其依赖项)libgcc_eh.a以进行替换libgcc_s.so.1

原则上我会完成,但是其中的所有符号libgcc_eh.a都将其可见性设置为隐藏,因此在输出.so文件中,它们都变为本地并且不会添加到.dynsym符号表中。

我正在寻找一种在文件或原始文件objcopy上使用 binutils(也许?或链接器脚本?)的方法来取消隐藏这些符号。这可能吗?.so.olibgcc_eh.a

0 投票
5 回答
5237 浏览

c - GNU ld 是否有完全省略 -dynamic-linker (PT_INTERP) 的选项?

我正在 Linux 上尝试纯静态链接的 PIE 可执行文件的概念,但遇到了 GNU binutils 链接器坚持在使用时将 PT_INTERP 标头添加到输出二进制文件的问题-pie,即使也给出了-static. 有没有办法抑制这种行为?也就是说,有没有办法专门告诉 GNU ld 不要将某些标头写入输出文件?也许使用链接器脚本?

(请不要回答声称它不起作用;我很清楚该程序仍然需要重定位处理 - 加载地址相对重定位只是因为我使用了-Bsymbolic- 而且我有特殊的启动代码代替处理这个问题的标准Scrt1.o。但是如果没有动态链接器已经启动并完成工作,我无法调用它,除非从二进制文件中对PT_INTERP标头进行十六进制编辑。)

0 投票
1 回答
130 浏览

networking - 在网络层工作的工具

我最近一直在使用telnet很多东西来测试许多不同类型的 tcp 连接(基本 TCP、标准 HTTP、通过 HTTP 的 Bayeux 等)作为了解事物如何工作的一种手段。

我想通过使用一种工具来学习网络层发生的事情,进一步了解 OSI 模型中的下一层是如何工作的。

就像 telnet 允许在 TCP 层发送消息以了解它上面的层发生了什么一样,我想使用一个允许我发送 IP 数据包消息的工具来查看 TCP 层做了什么。

有人对我可以使用什么工具有任何建议吗?

0 投票
1 回答
6959 浏览

macos - Binutils stat 非法选项 -c

我在脚本中使用 stat 两次,一次是查找文件文件权限,一次是查找文件的大小。

我正在使用 OSX 10.7,目录和文件是我所在的当前目录和文件的变量。

0 投票
1 回答
661 浏览

gcc - 如何找到哪个版本的 gcc 对应哪个版本的 binutils?

就像问题听起来一样。

如果对于任何给定的版本对都没有通用的方法来回答这个问题,那么至少有人可以回答 gcc 3.4.6 和 ld 2.15.92.0.2 是否相互对应的具体问题吗?

谢谢。

我正在看问题:-

帮助链接器失败:.gnu.linkonce.t

请解释此链接错误:在 .rodata 部分中引用

我得到的错误与这些问题的提问者完全相同。

0 投票
1 回答
499 浏览

linux - i386-pc-mingw32-objdump pe 反汇编中止

我正在尝试从 1C 光盘反汇编 Sid Meiers Railroads 1.1 原始二进制文件

如何处理这样的问题?您知道其他可以与 pe-i386 一起使用的反汇编程序(在 linux 上工作)吗?

0 投票
1 回答
2699 浏览

linux - Arch Linux 没有 i586-elf-gcc 或 i586-elf-gcc

我最初尝试按照本教程创建一个 C 内核:http : //wiki.osdev.org/Bare_Bones 但是,我的系统没有 i586-elf-gcc 或 i586-elf-ld。我真的不确定在哪里可以找到这些,或者它们是否已经在我的计算机上。我用 pacman 安装了 gcc 和 binutils。

输出

如果必须,我不介意编译,但更喜欢二进制文件。

0 投票
2 回答
732 浏览

assembly - GNU 对带有全局标签的 jmp 来说很奇怪

我想了解 GNU 的以下行为。

OS X 上的以下测试程序(Apple cctools-822/GNU as 1.38)

被编码为

而 GNU as on Linux (GNU as 2.22) 编码为

为什么后者会(对我)奇怪的跳跃?

此外,显然这个魔术0xfcffffff地址用于每次跳转到全局标签:

测试2.s

在 linux 上使用 GNU 生成(GNU 为 2.22)

谁能解释这种行为?

0 投票
1 回答
57449 浏览

windows - 如何使用/安装 GNU binutils (objdump)

我需要在 Windows 上运行的应用程序中使用 objdump 和 readelf 命令。我知道我可以安装 cygwin 来使用它们。我不想使用 cygwin 的原因是因为我想让它随笔进行部署。另外,我不知道如何进行 cygwin 的静默安装。因此,我相信我需要的是GNU Utilities For Win32,因为链接指出这些库是无服务器的。“可执行文件仅依赖于 Microsoft C 运行时 (msvcrt.dll),而不依赖于 Cygwin 工具提供的模拟层”

无论如何,一旦我转到该链接,我不知道如何安装它。具体来说,我想使用>这个工具<

如果有人能指出我将如何在我的应用程序中使用 objdump 和 readelf(cygwin 中的 binutils)的正确方向,我将不胜感激。