assembly - 如何在气体汇编代码中导出类型为 "FUNC"和 "GLOBAL"的符号?

标签 assembly x86 elf gnu-assembler

测试在 32 位 x86 Linux 上进行。

这个问题与这个question类似.

通常,我在我的 at&t 语法汇编代码中定义了一个函数 foo ,我想 将其导出为“全局函数”。

我尝试过这个:

 .globl foo
 foo:
 ....

然后我尝试使用以下命令检查符号表:

gcc test.s
readelf -s a.out | grep foo

但是,结果是:

9981: 08061d49     0 NOTYPE  GLOBAL DEFAULT   13 config_check_cond

类型信息显示NOTYPE,我想将其调整为FUNC类型,谁能告诉我如何调整它?

最佳答案

使用.type指令将其标记为函数,例如.type foo, @function。您可以在manual中找到更多详细信息。 .

关于assembly - 如何在气体汇编代码中导出类型为 "FUNC"和 "GLOBAL"的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26568585/

相关文章:

assembly - nand 2 俄罗斯方 block ASM "Expression Expected"

assembly - 如何在汇编中从用户输入多位数?

gcc - 如何设置 gcc 以永久使用 intel 语法?

symbols - 在运行时动态修改符号表(C语言)

c - 试图对一个函数进行逆向工程

c++ - 为什么 asm 中的这种差异对性能很重要(在未优化的 ptr++ 与++ptr 循环中)?

linux - 了解 ELF64 文本/数据段布局/填充

assembly - 在 8088/86 上,CL 的移位/旋转是否会改变 CL 中的值?

embedded - 为基于 ARM 的嵌入式系统创建 coredump

c - 如何链接 ELF 文件中的数据以在运行时显示? STM32