[systemd-devel] Illegal CPUID instruction causes systemd core dump

Reindl Harald h.reindl at thelounge.net
Thu Dec 28 19:26:06 UTC 2017



Am 28.12.2017 um 20:07 schrieb tedheadster:
> I am doing regression testing on old hardware. systemd-233 just
> generated the following error on startup:
> 
> I believe it is getting an illegal instruction trap on this first
> generation 486 because it is calling "cpuid" in detect_vm_cpuid()
> without first checking if the hardware supports it; it doesn't in this
> case.
> 
> The gcc compiler provides a workaround in the cpuid.h header file. You
> can call __get_cpuid_max() first and check the return value > 0.
> 
> https://stackoverflow.com/questions/14266772/how-do-i-call-cpuid-in-linux#14266932
> 
> The Linux kernel still supports the 486 so we have to code around this
> case, even if it is ancient hardware

don't get me wrong - i am for 15 years now in the IT and my first PC in 
1999 was a i686

i don't see how a brand new systemd and a mordern userland is supposed 
to run on 20 years or older hardware where nearly eveyr distribution 
these days is i586 or i686 only or starts to drop 32bit at all

if you have that old hardware normally you don't use leading edge 
software on it and as a user (not systemd developer) i would love to see 
erevry single line of code for 20 years old hardware is removed to make 
it cleaner and in doubt faster on recent systems


More information about the systemd-devel mailing list