首页 > 解决方案 > .section .text 和 .text with gas 之间的区别

问题描述

据我所知,使用 objdump,使用气体

.section .text

.text

是等价的。这是真的?

来自气体手册.section名称

使用该.section指令将以下代码组装成一个名为name的部分。

来自气体手册.text小节

告诉as将以下语句组装到编号为subsection的文本 subsection 的末尾,这是一个绝对表达式。如果省略 subsection,则使用小节编号零

我的问题也适用于.data.

标签: x86directivegnu-assembler

解决方案


我认为有一个小的区别。

.section让程序员指定任何部分名称,因此,如文档中所述,该格式不支持a.out(但它适用于COFFELF)。

该指令仅支持实际支持任意命名部分的目标;例如,在 a.out 目标上,它不被接受,即使是标准的 a.out 部分名称。

.text相反,总是指定代码段,而不管其在输出格式中的实际名称。

考虑到在 96 年添加ELF之前a.out就使用了它,我不会认为与这种旧格式的兼容性是一个问题。

.text.data节省一些击键,但为了保持一致性,始终使用.section.


推荐阅读