Replace previous change by different test
[minix.git] / include / sys / elf_core.h
blob18a18c2cd36df9b0240b681bd9fed1b6068ffd40
1 /*
2 * This file mainly provides a definition of the structures used
3 * to describe the notes section of an ELF file.
5 * It is the interface between MINIX core dump and GDB
6 */
8 #ifndef _SYS_ELF_CORE_H_
9 #define _SYS_ELF_CORE_H_
11 #include <sys/param.h>
12 #include <machine/stackframe.h>
14 /* MINIX core file format:
16 * The core file is in ELF format. Besides the regular program segments,
17 * it has a NOTE segment which contains two NOTE entries
18 * - one containing a minix_elfcore_info_t and the other one containing
19 * the general purpose registers (a stackframe_s structure)
22 typedef struct stackframe_s gregset_t; /* General purpose registers */
25 * A lot more things should be added to these structures. At present,
26 * they contain the absolute bare minimum required to allow GDB to work
27 * with MINIX ELF core dumps.
30 #define ELF_NOTE_MINIX_ELFCORE_NAME "MINIX-CORE"
31 #define NT_MINIX_ELFCORE_INFO 1
32 #define NT_MINIX_ELFCORE_GREGS 2
34 #define MINIX_ELFCORE_VERSION 1 /* Current version of minix_elfcore_info_t */
35 #define RESERVED_SIZE 5
37 typedef struct minix_elfcore_info {
38 /* Version 1 fields */
39 uint32_t mei_version; /* Version number of struct */
40 uint32_t mei_meisize; /* sizeof(minix_elfcore_info_t) */
41 uint32_t mei_signo; /* killing signal */
42 int32_t mei_pid; /* Process ID */
43 int8_t mei_command[MAXCOMLEN]; /* Command */
44 uint32_t flags; /* Flags */
45 int32_t reserved[RESERVED_SIZE];/* Reserved space*/
46 /* Put below version 2 fields */
47 } minix_elfcore_info_t;
49 #endif /* _SYS_ELF_CORE_H_ */