11.02.2024 00:10, Rudolf Marek:
Hi,
Hello! Thank you for the reply!
Dne 10. 02. 24 v 20:09 Kevin O'Connor napsal(a):
So it might not be a gcc issue really, but just a too large bios and gcc-13 is able to produce more compact code which actually fits.
Ah, that makes sense. In the future, if you enable the seabios logs it should help track these things down. (Take the log from the working version and compare it to the log from the non-working version.) I suspect in the log would be messages from seabios/seavgabios hinting to the issue.
Just a random idea, maybe there is something wrong with windows failing to emulate stuff? (the vgafixup.py)
Well.
Windows might fail to emulate something. The prob with that is that we can't fix this, we have to find where it is failing and work around this, because there are lots of systems running all around the world which works, and even if there's some quirk it all relies upon, and seabios is the only one which works correctly, this knowledge doesn't help, - we have to implement the same quirk to be compatible with the world.
Also, it seem strange at best that the thing depends on the compiler being used to compile seabios (vgabios) (I can't say for sure it is the size, but so far it seems like it is).
# It is also known that the Windows vgabios emulator has issues with # addressing negative offsets to the %esp register. That has been # worked around by not using the gcc parameter "-fomit-frame-pointer" # when compiling.
I would try to boot with non working vgabios something else, like grub2, and there I would do: insmod vbe videotest
This one seems to be working (I had to add `loadfont unicode' before; I never used grub before so don't know the details here).
I guess if the prob existed with grub, it'd be reported more widely, since many linux distros use grub in graphics mode.
And the original bug report talks about windows, especially windows 10 - just tried windows 7, and I don't see this behavior with it.
Probably should try with win11 - though this one is a bit more difficult to install in bios mode.
Thanks,
/mjt