输入部分的大小 GNU ld

size of a input section GNU ld

如何在 ld 中获取输入部分的大小?我会假设它只是 SIZEOF(.section); 但是 ld 在尝试 运行 时给出了一个错误。有什么办法可以做到这一点? .section 将像这样在 .asm 文件中定义

section .section
    mov al, 15

这是我目前的链接描述文件:

SECTIONS {
    boot : {
        *( .boot );
        . += SECTOR_SIZE - SIZEOF( .boot_header );
        *( .boot_header );
    }
}

我对 SIZEOF 没问题。

刚刚测试:

  .data : 
  {
    . = ALIGN(4);
    _sdata = .;        /* create a global symbol at data start */
    *(.data)           /* .data sections */
    *(.data*)          /* .data* sections */

    . = ALIGN(4);
    _edata = .;        /* define a global symbol at data end */
  } >RAM AT> FLASH
  
    _datasize = SIZEOF(.data); 

按预期工作。