VirtualBox

Changeset 19762 in vbox


Ignore:
Timestamp:
May 18, 2009 6:56:08 AM (16 years ago)
Author:
vboxsync
Message:

iprt/asm.h: seems all 4.3.x versions of gcc have troulbe with cmpxchg (x86). Fixes #3924.

File:
1 edited

Legend:

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

    r19738 r19762  
    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. */
     116/** @def RT_INLINE_ASM_GCC_4_3_X_X86
     117 * Used to work around some 4.3.x register allocation issues in this version of
     118 * the compiler. */
    119119#ifdef __GNUC__
    120 # define RT_INLINE_ASM_GCC_4_3_3_X86 (__GNUC__ == 4 && __GNUC_MINOR__ == 3 && __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
     120# define RT_INLINE_ASM_GCC_4_3_X_X86 (__GNUC__ == 4 && __GNUC_MINOR__ == 3 && defined(__i386__))
     121#endif
     122#ifndef RT_INLINE_ASM_GCC_4_3_X_X86
     123# define RT_INLINE_ASM_GCC_4_3_X_X86 0
    124124#endif
    125125
     
    31103110 */
    31113111#if (RT_INLINE_ASM_EXTERNAL && !RT_INLINE_ASM_USES_INTRIN) \
    3112  || (RT_INLINE_ASM_GCC_4_3_3_X86 && defined(IN_RING3) && defined(__PIC__))
     3112 || (RT_INLINE_ASM_GCC_4_3_X_X86 && defined(IN_RING3) && defined(__PIC__))
    31133113DECLASM(bool) ASMAtomicCmpXchgU64(volatile uint64_t *pu64, const uint64_t u64New, const uint64_t u64Old);
    31143114#else
     
    40484048 */
    40494049#if (RT_INLINE_ASM_EXTERNAL && !defined(RT_ARCH_AMD64)) \
    4050  || (RT_INLINE_ASM_GCC_4_3_3_X86 && defined(IN_RING3) && defined(__PIC__))
     4050 || (RT_INLINE_ASM_GCC_4_3_X_X86 && defined(IN_RING3) && defined(__PIC__))
    40514051DECLASM(uint64_t) ASMAtomicReadU64(volatile uint64_t *pu64);
    40524052#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