.dwsect 伪操作

用途

定义用于保存 DWARF 调试信息以供符号调试器使用的部分。

语法

描述
.dwsect [, opt-标签 ]

描述

.dwsect 伪操作用于标识包含要由符号调试器使用的数据的部分的开始或继续。 还会生成相应的 DWARD 符号。 所有数据定义 pseudo-ops 都可以在 .dwsect pseudo-op 后使用,但在 DWARD 节中生成的数据未对齐。 可以使用具有相同标志的 .dwsect 语句来继续 dwarf 节。

通过指定 opt-标签 参数,可以为同一标志值生成多个 DURF 符号。 将收集给定 opt-标签 参数的数据并在其前面加上长度 ( .dwabrev 部分除外,该部分没有长度字段)。 在 32 位方式下,长度字段为 4 个字节,在 64 位方式下为 12 个字节。 然后,将具有相同标志值的所有部分的数据合并并保存在该标志标识的 DURF 部分中。

开始更改) 标志参数可取下列值之一:
  • 映射到特定 DWARD 节的数字。
  • 这是一个字符串,它是 XCOFF 格式中记录的简短节名称,或者是 DURF 规范中记录的完整节名称。
注意:当标志值为字符串时,不会生成 "length字段。
结束更改

当指定了 DVERDY 节时,不需要用于指定调试器的符号表项的伪操作。

参数

描述
标记 指定 DURF 节的类型。 以下为有效值:
 
0x10000
.dwinfo部分
0x20000
.dwline部分
0x30000
.dwpbnms部分
0x40000
.dwpbtyp部分
0x50000
.dwarnge部分
0x60000
.dwabrev部分
0x70000
.dwstr部分
0x80000
.dwrnges部分
0x90000
.dwloc部分
0xA0000
.dwframe部分
0xB0000
.dwmac部分
opt-标签 指定为每个唯一标志, opt-label 对生成的 DURF 符号。 opt-标签 标识仅用于与具有相同标志值的其他 .dwsect 语句相匹配,并且不会出现在输出对象文件中。 opt-标签 参数是标识特定 DWARD 符号的可选标签。

示例

  1. 定义 .dwinfo 节。
    
           .dwsect       0x00010000              # section name .dwinfo
    .dwinfo:
           .short        0x0002                  # dwarf version
           .long         .dwabrev                # Reference to .dwabrev section
           .llong        0x04012f7473743133
           ...
    
  2. 定义 .dwabrev 节。
    
           .dwsect       0x00060000              # section name .dwabrev
    .dwabrev:
           .llong       0x0111010308100611
           .llong       0x011201130b1b0825
    
  3. 继续第一个示例中第一个 .dwinfo 符号的数据。
    
           .dwsect 0x10000
           .llong       0x312f6469732f6432
    
  4. 定义第二个 .dwinfo 符号。
    
           .dwsect 0x10000,dwinfo_2
           .short  2       # Version number