我正在使用bin输出格式在NASM中编写程序。我手动创建ELF标头。我需要知道每个部分的起始地址和长度。
答案 0 :(得分:2)
通过定义部分顺序
解决了问题SECTION .header progbits
SECTION .text progbits follows=.header align=16
SECTION .rodata progbits follows=.text align=16
SECTION .data progbits follows=.rodata align=16
SECTION .bss nobits follows=.data align=16
并在文件末尾添加这些行:
section .header
header_start equ $$
header_length equ $-$$
section .text
text_start equ $$
text_length equ $-$$
section .rodata
rodata_start equ $$
rodata_length equ $-$$
section .data
data_start equ $$
data_length equ $-$$
section .bss
bss_start equ $$
bss_length equ $-$$