Hi,

the patch applied to mysql/extra/yassl/taocrypt/src/misc.cpp was
basically to check if the cpuid instruction is available by calling it
inside a block where a special handler for SIGILL has been installed,
see below. Thus I assume that when you run through the debugger you
could see that the SIGILL excpetion occur. But what happens if you
continue execution? Increase "ulimit -Sc unlimited" top generate a core
and do "gdb mysqladmin core" to see that's where the program fails.

Maybe there is something wrong with the approach to setup a SIGILL handler?

bool HaveCpuId()
{
    typedef void (*SigHandler)(int);

    SigHandler oldHandler = signal(SIGILL, SigIllHandler);
    if (oldHandler == SIG_ERR)
        return false;

    bool result = true;
    if (setjmp(s_env))
        result = false;
    else
        __asm__ __volatile
        (
            // save ebx in case -fPIC is being used
            "push %%ebx; mov $0, %%eax; cpuid; pop %%ebx"
            :
            :
            : "%eax", "%ecx", "%edx"
        );

    signal(SIGILL, oldHandler);
    return result;
}


As it's problematic for us to get acess to that kind of hardware, may I
ask you to download yaSSL - the package MySQL uses for SSL connections -
from yassl.com and try to compile it and run the testsuite? Then we can
try some alternatives to get it working.

Otherwise setup an ssh account on that machine accessible for me?

Best regards
Magnus

-- 
Magnus Svensson, Software Engineer
MySQL AB, www.mysql.com
Mobile: +46709164491


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to