使用 configure --target=m68k-linux --program-prefix=m68k- 交叉编译的 gdb 会产生错误,因为没有核心文件处理程序可以识别该格式。
详细信息:核心文件在m68k设备上生成,日志在i686-pc-linux-gnu GDB版本-7.6上分析
关于这个主题的任何线索?
核心文件的ELf格式为elf -a core
ELF Header:
Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, big endian
Version: 1 (current)
OS/ ABI:UNIX - System V
ABI 版本:0
类型:CORE(核心文件)
机器:MC68000
版本:0x1
入口点地址:0x0
程序头开始:52(文件中的字节)
节头开始:0(文件中的字节)
标志:0x0
此头的大小:52(字节)
程序头的大小:32(字节)
程序头的数量:10
节头的大小:0(字节)
节的数量标题:0
节标题字符串表索引:0
此文件中没有节。
此文件中没有节组。
程序标题:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
NOTE 0x000174 0x00000000 0x00000000 0x00570 0x00000 0
LOAD 0x002000 0x40000000 0x00000000 0x00000 0x16000 R E 0x2000
LOAD 0x002000 0x40016000 0x00000000 0x04000 0x04000 RW 0x2000
LOAD 0x006000 0x4001a000 0x00000000 0x132000 0x132000 R E 0x2000
LOAD 0x138000 0x4014c000 0x00000000 0x08000 0x08000 RW 0x2000
LOAD 0x140000 0x40154000 0x00000000 0x02000 0x02000 RW 0x2000
LOAD 0x142000 0x80000000 0x00000000 0x00000 0x02000 R E 0x2000
LOAD 0x142000 0x80002000 0x00000000 0x02000 0x02000 RW 0x2000
LOAD 0x144000 0x80004000 0x00000000 0x02000 0x02000 RWE 0x2000
LOAD 0x146000 0xbfffe000 0x00000000 0x02000 0x02000 RWE 0x2000
此文件中没有动态段。
此文件中没有重定位。
此文件中没有展开部分。
在此文件中找不到版本信息。
偏移量 0x00000174 处的注释,长度为 0x00000570:
Owner Data size Description
CORE 0x0000009a NT_PRSTATUS (prstatus structure)
CORE 0x0000007c NT_PRPSINFO (prpsinfo structure)
CORE 0x00000310 NT_TASKSTRUCT (task structure)
CORE 0x00000078 NT_AUXV (auxiliary vector)
CORE 0x0000006c NT_FPREGSET (floating point registers)
ps 使用较旧的 gdb 版本 6.3 我得到一个错误 - GDB 无法读取这台机器上的核心文件。