I looked at the cpuid code in yassl, and while it tries to safely check for the cpuid instruction first, it does it in a broken way.
it currently sets up a signal handler to catch the illegal instruction if it isn't supported, by using signal(), but unfortunately that is not supported in multithreaded programs, which probably almost all libmysql using programs are. It would be MUCH safer to actually parse /proc/cpuinfo to check if the cpuid instruction is listed there as supported before trying to use it, and only then try to find out the cpu type in the system. Running the current yassl cpuid code without threads, works as expected. Running it with threads causes the signal to go to the parent thread rather than the one running cpuid (with the signal handler set), and the main thread terminals with 'illegal instruction' which aborts the whole program. -- Len Sorensen -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]