1:orphan:
2
3Anatomy of core dump image
4--------------------------
5
6Core dump component can be configured to use old legacy binary format or the new ELF one. The ELF format is recommended for new designs. It provides more information about the CPU and memory state of a program at the moment when panic handler is entered.
7The memory state embeds a snapshot of all tasks mapped in the memory space of the program. The CPU state contains register values when the core dump has been generated. Core dump file uses a subset of the ELF structures to register these information.
8Loadable ELF segments are used for the memory state of the process while ELF notes (ELF.PT_NOTE) are used for process metadata (pid, registers, signal, ...). Especially, the CPU status is stored in a note with a special name and type (``CORE``, ``NT_PRSTATUS type``).
9
10Here is an overview of coredump layout:
11
12.. figure:: ../../_static/core_dump_format_elf.png
13    :align: center
14    :alt: Core dump image format
15    :figclass: align-center
16
17    Core dump ELF image format
18
19.. figure:: ../../_static/core_dump_format_bin.png
20    :align: center
21    :alt: Core dump binary image format
22    :figclass: align-center
23
24    Core dump binary image format
25
26Note: The format of image file showed on the above pictures represents current version of image and can be changed in future releases.
27
28Overview of implementation
29--------------------------
30
31The figure below describes some basic aspects related to implementation of core dump:
32
33.. figure:: ../../_static/core_dump_impl.png
34    :align: center
35    :alt: Core dump implementation overview
36    :figclass: align-center
37
38    Core dump implementation overview
39
40Note: The diagram above hide some details and represents current implementation of the core dump and can be changed later.