VirtualBox

Changeset 14429 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Nov 20, 2008 5:23:43 PM (16 years ago)
Author:
vboxsync
Message:

when building against glibc 2.6, use the Posix implementation of the event mutexes as the glibc futex bug is fixed there

Location:
trunk/src/VBox/Runtime
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/Makefile.kmk

    r14423 r14429  
    388388        r3/linux/semevent-linux.cpp \
    389389        r3/linux/semeventmulti-linux.cpp
     390# with glibc >= 2.6 we use the libc implementation
     391r3/linux/semevent-linux.cpp_INCS = .
     392r3/linux/semeventmulti-linux.cpp_INCS = .
    390393ifdef RT_NEW_LINUX_MUTEX_CODE
    391394 RuntimeR3_SOURCES.linux.amd64 += \
  • trunk/src/VBox/Runtime/r3/linux/semevent-linux.cpp

    r14412 r14429  
    2929 */
    3030
     31#include <features.h>
     32#if __GLIBC_PREREQ(2,6)
     33
     34/* glibc 2.6 fixed a serious bug in the mutex implementation
     35 * The external refernce to epoll_pwait is a hack which prevents
     36 * that we link against glibc < 2.6 */
     37
     38asm volatile (".global epoll_pwait");
     39
     40#include "r3/posix/semevent-posix.cpp"
     41
     42#else /* glibc < 2.6 */
     43
    3144/*******************************************************************************
    3245*   Header Files                                                               *
     
    297310}
    298311
     312#endif /* glibc < 2.6 */
  • trunk/src/VBox/Runtime/r3/linux/semeventmulti-linux.cpp

    r8707 r14429  
    2828 * additional information or have any questions.
    2929 */
     30
     31
     32#include <features.h>
     33#if __GLIBC_PREREQ(2,6)
     34
     35/* glibc 2.6 fixed a serious bug in the mutex implementation.
     36 * The external refernce to epoll_pwait is a hack which prevents
     37 * that we link against glibc < 2.6 */
     38
     39asm volatile (".global epoll_pwait");
     40
     41#include "r3/posix/semeventmulti-posix.cpp"
     42
     43#else /* glibc < 2.6 */
    3044
    3145/*******************************************************************************
     
    269283}
    270284
     285#endif /* glibc < 2.6 */
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