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]

Reply via email to