x86 - .section .text 和 .text with gas 之间的区别
问题描述
据我所知,使用 objdump,使用气体
.section .text
和
.text
是等价的。这是真的?
来自气体手册.section名称:
使用该
.section
指令将以下代码组装成一个名为name的部分。
来自气体手册.text小节:
告诉
as
将以下语句组装到编号为subsection的文本 subsection 的末尾,这是一个绝对表达式。如果省略 subsection,则使用小节编号零。
我的问题也适用于.data
.
解决方案
我认为有一个小的区别。
.section
让程序员指定任何部分名称,因此,如文档中所述,该格式不支持a.out
(但它适用于COFF和ELF)。
该指令仅支持实际支持任意命名部分的目标;例如,在 a.out 目标上,它不被接受,即使是标准的 a.out 部分名称。
.text
相反,总是指定代码段,而不管其在输出格式中的实际名称。
考虑到在 96 年添加ELF之前a.out
就使用了它,我不会认为与这种旧格式的兼容性是一个问题。
.text
并.data
节省一些击键,但为了保持一致性,始终使用.section
.
推荐阅读
- php - 为什么我的 sql 语句无法接受发布的 html 表单数据并将其插入到我的数据库中?
- html - 使 Bootstrap 输入在移动设备上垂直对齐,但在桌面上水平对齐
- php - 合并多数组 Laravel
- express - 如何在快速路由器中设置 cookie `Priority=High`?
- r - 使用R,如何掷出一些骰子并丢弃最低的骰子?
- mongodb - runValidator 属性无法在 mongodb 上使用 mongoose 进行 upsert
- c# - 在 C# 中将经典的 asp 代码转换为 asp.net 代码
- amazon-web-services - 如何获取事物活动数据,AWS IoT
- excel - 是否有 Excel 功能可以复制单元格的文本和颜色?
- c++ - 读取文件时如何忽略特定字符?