asm volatile ("cpuid; movl %%ebx, (%%edi); movl %%edx, 4(%%edi); movl %%ecx, 8(%%edi)"
: "+a"(eax) : "mD"(vendor_string) : "ebx", "ecx", "edx");
It should also be surrounded by push %ebx and pop %ebx, because as above ebx comes out corrupted in PIC [at lest with compilers I've tested].
But this should be surrounded by push %ebx/pop %ebx by the compiler, shouldn't it?
Yes, it should, but it does not. And as the problem seem to be present in various versions, we better preserve %ebx...
If it's OK with you I can fix the code to my "liking" and send it back... A.
Indeed ;-)
I'll post my suggestion shortly. I'm fixing even out=in thing problem... A.
______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]
