VirtualBox

Changeset 19524 in vbox for trunk


Ignore:
Timestamp:
May 8, 2009 1:26:13 PM (16 years ago)
Author:
vboxsync
Message:

iprt/asm.h: try work around gcc 4.3.3/x86 issues in ASMAtomicCmpXchgU64. (untested)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/asm.h

    r19305 r19524  
    114114#endif
    115115
     116/** @def RT_INLINE_ASM_GCC_4_3_3_X86
     117 * Used to work around some 4.3.3 register allocation issues in this version
     118 * of the compiler. */
     119#ifdef __GNUC__
     120# define RT_INLINE_ASM_GCC_4_3_3_X86 (__GNUC__ == 4 && __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ == 3 && defined(__i386__))
     121#endif
     122#ifndef RT_INLINE_ASM_GCC_4_3_3_X86
     123# define RT_INLINE_ASM_GCC_4_3_3_X86 0
     124#endif
     125
    116126
    117127
     
    30883098 * @param   u64Old  The value to compare with.
    30893099 */
    3090 #if RT_INLINE_ASM_EXTERNAL && !RT_INLINE_ASM_USES_INTRIN
     3100#if (RT_INLINE_ASM_EXTERNAL && !RT_INLINE_ASM_USES_INTRIN) \
     3101 || (RT_INLINE_ASM_GCC_4_3_3_X86 && defined(IN_RING3) && defined(__PIC__))
    30913102DECLASM(bool) ASMAtomicCmpXchgU64(volatile uint64_t *pu64, const uint64_t u64New, const uint64_t u64Old);
    30923103#else
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette