0

我正在使用 bin 输出格式在 NASM 中编写程序。我正在手动创建 ELF 标头。我需要知道每个部分的起始地址和长度。

4

1 回答 1

1

通过定义部分顺序解决的问题

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  $-$$
于 2012-08-12T15:46:12.357 回答