Il 26/05/23 12:56, Samuel Thibault ha scritto:
Luca, le ven. 26 mai 2023 12:55:32 +0200, a ecrit:
read_exec() it seems that there is something wrong with the elf parsing, as
the size parameters look like kernel addresses:
(gdb) p/x file_size
$1 = 0xffffffff8106f4d3
Perhaps a spurious signedness bit extension?
Could be, the elf header seems ok when calling read_exec:
(gdb) frame 1
#1 0xffffffff8107a712 in exec_load (read=0xffffffff8106f45c
<boot_read>, read_exec=0xffffffff8106f4e5 <read_exec>,
handle=0xffffffffbd8faea0, out_info=0xffffffffbd8f0f70)
at ../kern/elf-load.c:87
87 result = (*read_exec)(handle,
(gdb) p/x *ph
$9 = {
p_type = 0x1,
p_flags = 0x5,
p_offset = 0x0,
p_vaddr = 0x400000,
p_paddr = 0x400000,
p_filesz = 0x1cfd58,
p_memsz = 0x1cfd58,
p_align = 0x1000
}
but I can't explain why I don't see the same issue with my build. I 've
now configured gnumach just with
../configure --enable-silent-rules MIG=/path_to_my/mig --disable-user32
--enable-kdb
and I'm building on Debian/Linux stable.
Luca