首页 > 解决方案 > 节的详细形式 .text

问题描述

以下两个部分定义之间有什么区别吗?

.section .text

和:

.text
.section    .text.startup,"ax",@progbits

我在一些gcc编译器输出中遇到了第二个,但似乎只是在执行.section .text.text初始化该.text部分是一样的:

$ readelf file2 -S -W

[Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al

# using .text
[ 1] .text             PROGBITS        00000000004000b0 0000b0 000016 00  AX  0   0  1

# using .section .text
[ 1] .text             PROGBITS        00000000004000b0 0000b0 000016 00  AX  0   0  1

# using .text; .text.startup,"ax",@progbits
[ 1] .text             PROGBITS        00000000004000b0 0000b0 000016 00  AX  0   0  1

编译器输出只是一种更冗长的说法.text吗?再举一个例子,.rodataand.data部分是否会“详细地写”为:

.section .rodata,"a",@progbits
.string "Not-writable"

.section .data,"wa",@progbits
.string "Writable"

似乎也与:X86 程序集: .text.startup 部分和 .text 部分有什么区别

标签: assemblygccelfgnu-assembler

解决方案


推荐阅读