VirtualBox

Changeset 12237

Show
Ignore:
Timestamp:
09/08/08 18:31:15 (2 months ago)
Author:
vboxsync
Message:

fixed r36224

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/include/iprt/asm.h

    r12235 r12237  
    37873787#   if defined(PIC) || defined(RT_OS_DARWIN) /* darwin: 4.0.1 compiler option / bug? */ 
    37883788    uint32_t u32EBX = 0; 
     3789    uint32_t u32Spill; 
    37893790    Assert(!((uintptr_t)pu64 & 7)); 
    37903791    __asm__ __volatile__("xor   %%eax,%%eax\n\t" 
    37913792                         "xor   %%ecx,%%ecx\n\t" 
    37923793                         "xor   %%edx,%%edx\n\t" 
    3793                          "xchgl %%ebx, %2\n\t" 
    3794                          "lock; cmpxchg8b (%3)\n\t" 
     3794                         "xchgl %%ebx, %3\n\t" 
     3795                         "lock; cmpxchg8b (%4)\n\t" 
    37953796                         "movl %3, %%ebx\n\t" 
    37963797                         : "=A" (u64), 
    3797                            "+m" (*pu64) 
     3798                           "+m" (*pu64), 
     3799                           "=c" (u32Spill) 
    37983800                         : "m" (u32EBX), 
    37993801                           "S" (pu64)); 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy