1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:38:12 +00:00

Kernel+LibCoreDump: Implement more x86_64 coredump functionality

This commit is contained in:
Gunnar Beutner 2021-06-29 17:48:01 +02:00 committed by Andreas Kling
parent d3127efc01
commit 2016354c12
4 changed files with 38 additions and 18 deletions

View file

@ -78,7 +78,11 @@ KResult CoreDump::write_elf_header()
elf_file_header.e_ident[EI_MAG1] = 'E';
elf_file_header.e_ident[EI_MAG2] = 'L';
elf_file_header.e_ident[EI_MAG3] = 'F';
#if ARCH(I386)
elf_file_header.e_ident[EI_CLASS] = ELFCLASS32;
#else
elf_file_header.e_ident[EI_CLASS] = ELFCLASS64;
#endif
elf_file_header.e_ident[EI_DATA] = ELFDATA2LSB;
elf_file_header.e_ident[EI_VERSION] = EV_CURRENT;
elf_file_header.e_ident[EI_OSABI] = 0; // ELFOSABI_NONE
@ -90,7 +94,11 @@ KResult CoreDump::write_elf_header()
elf_file_header.e_ident[EI_PAD + 5] = 0;
elf_file_header.e_ident[EI_PAD + 6] = 0;
elf_file_header.e_type = ET_CORE;
#if ARCH(I386)
elf_file_header.e_machine = EM_386;
#else
elf_file_header.e_machine = EM_X86_64;
#endif
elf_file_header.e_version = 1;
elf_file_header.e_entry = 0;
elf_file_header.e_phoff = sizeof(ElfW(Ehdr));