Re: [PATCH] gdb: add support for handling core dumps on arm-none-eabi

Paul Mathieu via Gdb-patches
2020-10-27T16:53:58Z

Hi Fredrik,

> This is the current format when trying from ARM simulator:
>
> fredrik@legion ~/src/armv4t_coretest$ readelf -aA test.core
> ELF Header:
> Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
> Class: ELF32
> Data: 2's complement, little endian
> Version: 1 (current)
> OS/ABI: ARM
> ABI Version: 0
> Type: CORE (Core file)
> Machine: ARM
> Version: 0x1
> Entry point address: 0x0
> Start of program headers: 52 (bytes into file)
> Start of section headers: 8084 (bytes into file)
> Flags: 0x0
> Size of this header: 52 (bytes)
> Size of program headers: 32 (bytes)
> Number of program headers: 5
> Size of section headers: 40 (bytes)
> Number of section headers: 7
> Section header string table index: 6
>
> Section Headers:
> [Nr] Name Type Addr Off Size ES Flg Lk Inf Al
> [ 0] NULL 00000000 000000 000000 00 0 0 0
> [ 1] note0 NOTE 00000000 001e44 000138 00 A 0 0 1
> [ 2] load PROGBITS 00010000 0000d4 000100 00 AX 0 0 1
> [ 3] load PROGBITS 00080000 0001d4 000000 00 WA 0 0 1
> [ 4] load PROGBITS 00080000 0001d4 000400 00 WA 0 0 1
> [ 5] load PROGBITS 000fe790 0005d4 001870 00 WA 0 0 1
> [ 6] .shstrtab STRTAB 00000000 001f7c 000016 00 0 0 1
> Key to Flags:
> W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
> L (link order), O (extra OS processing required), G (group), T (TLS),
> C (compressed), x (unknown), o (OS specific), E (exclude),
> y (purecode), p (processor specific)
>
> There are no section groups in this file.
>
> Program Headers:
> Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
> NOTE 0x001e44 0x00000000 0x00000000 0x00138 0x00000 R 0x1
> LOAD 0x0000d4 0x00010000 0x00000000 0x00100 0x00100 R E 0x1
> LOAD 0x0001d4 0x00080000 0x00000000 0x00000 0x00000 RW 0x1
> LOAD 0x0001d4 0x00080000 0x00000000 0x00400 0x00400 RW 0x1
> LOAD 0x0005d4 0x000fe790 0x00000000 0x01870 0x01870 RW 0x1
>
> Section to Segment mapping:
> Segment Sections...
> 00
> 01 load
> 02 load
> 03 load load
> 04 load
>
> There is no dynamic section in this file.
> There are no relocations in this file.
> There are no unwind sections in this file.
> No version information found in this file.
>
> Displaying notes found at file offset 0x00001e44 with length 0x00000138:
> Owner Data size Description
> CORE 0x0000007c NT_PRPSINFO (prpsinfo structure)
> CORE 0x00000094 NT_PRSTATUS (prstatus structure)

Does this support `.reg/xxx` notes for RTOS that support multiple tasks?
It would be really nice to have `info threads` "just work"

Paul