Samuel Thibault, le ven. 26 mai 2023 13:37:11 +0200, a ecrit: > Luca, le ven. 26 mai 2023 13:18:08 +0200, a ecrit: > > 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. > > Indeed, when I use that configuration, I don't get the issue. > > Heh, when I tell my students never to hide anything because you never > know what might be relevant... > > CFLAGS="" MIG=/usr/bin/x86_64-gnu-mig ../configure --disable-user32 > --enable-kdb > > does get the issue,
I.e. gnumach without optimizations gets things wrong. We do want to fix that :) Samuel