On Do, 28.12.17 14:07, tedheadster (tedheads...@gmail.com) wrote: > I am doing regression testing on old hardware. systemd-233 just > generated the following error on startup: > > traps:systemd[1] trap invalid opcode ip:b7d97361 sp:bfa2f6bc error:0 > in libsystemd-shared-233.so[b7d3e000+1cc000] > systemd[1]: Caught <ILL>, dumped core as pid 78. > systemd[1]: Freezing execution > > 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.
Please send a patch for this. We lack the relevant hardware and can't test this. In fact, for most such portability support for less-than-mainsrtream systems we rely on external patches. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel