一旦发生异常,我正在尝试为 Xtensa 创建一个 CORE ELF 文件。这适用于未连接硬件调试器的系统。
目前我有一个从 Xtensa GUI 生成的 CORE ELF 文件。此核心文件的信息如下所示。基本上我想添加相同的段并创建我的 CORE ELF 文件。
早些时候,我能够成功地为 ARM 系统创建 CORE ELF 文件,其中标题“NT_PRSTATUS”保留了“.reg”部分。但在这里,Xtensa gui 生成的核心文件中不存在“NT_PRSTATUS”。
我没有得到太多关于“.reg2”和“NT_FPREGSET”的信息。我想知道是否有人可以指导我添加“.reg2”和“NT_FPREGSET”以及在这种情况下命令“info register”如何获取寄存器值。
$ xt-objdump.exe -x core_file
core_dump_file: file format elf32-xtensa-le
core_dump_file architecture: xtensa, flags 0x00000000:
start address 0x00000000
Xtensa header:
Machine = Base
Insn tables = false
Literal tables = false
Program Header:
NOTE off 0x000000d4 vaddr 0x00000000 paddr 0x00000000 align 2**0
filesz 0x00000aa0 memsz 0x00000000 flags r--
LOAD off 0x00000b74 vaddr 0x63140000 paddr 0x00000000 align 2**0
filesz 0x00001ee8 memsz 0x00001ee8 flags rwx
LOAD off 0x00002a5c vaddr 0x63100000 paddr 0x00000000 align 2**0
filesz 0x00001324 memsz 0x00001324 flags rwx
LOAD off 0x00003d80 vaddr 0x63138c00 paddr 0x00000000 align 2**0
filesz 0x00000000 memsz 0x00000000 flags rwx
LOAD off 0x00003d80 vaddr 0x6313f920 paddr 0x00000000 align 2**0
filesz 0xffffd2e0 memsz 0xffffd2e0 flags rwx
Sections:
Idx Name Size VMA LMA File off Algn
0 note0 00000aa0 00000000 00000000 000000d4 2**0
CONTENTS, READONLY
1 .reg2/0 000009fc 00000000 00000000 00000178 2**2
CONTENTS
2 .reg2 000009fc 00000000 00000000 00000178 2**2
CONTENTS
3 load1 00001ee8 63140000 00000000 00000b74 2**0
CONTENTS, ALLOC, LOAD, CODE
4 load2 00001324 63100000 00000000 00002a5c 2**0
CONTENTS, ALLOC, LOAD, CODE
5 load4 ffffd2e0 6313f920 00000000 00003d80 2**0
CONTENTS, ALLOC, LOAD, CODE
SYMBOL TABLE:
no symbols
$ xt-readelf.exe -n core_file
Notes at offset 0x000000d4 with length 0x00000aa0:
Owner Data size Description
CORE 0x0000007c NT_PRPSINFO (prpsinfo structure)
note0 0x000009fc NT_FPREGSET (floating point registers)