Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 483610 | Differences between
and this patch

Collapse All | Expand All

(-)a/Source/WTF/wtf/InlineASM.h (+2 lines)
Lines 44-49 Link Here
44
#define GLOBAL_REFERENCE(name) #name "@plt"
44
#define GLOBAL_REFERENCE(name) #name "@plt"
45
#elif CPU(X86) && COMPILER(MINGW)
45
#elif CPU(X86) && COMPILER(MINGW)
46
#define GLOBAL_REFERENCE(name) "@" #name "@4"
46
#define GLOBAL_REFERENCE(name) "@" #name "@4"
47
#elif OS(LINUX) && CPU(X86) && defined(__PIC__)
48
#define GLOBAL_REFERENCE(name) SYMBOL_STRING(name) "@plt"
47
#else
49
#else
48
#define GLOBAL_REFERENCE(name) SYMBOL_STRING(name)
50
#define GLOBAL_REFERENCE(name) SYMBOL_STRING(name)
49
#endif
51
#endif
(-)a/Source/JavaScriptCore/jit/ThunkGenerators.cpp (+23 lines)
Lines 604-609 double jsRound(double d) Link Here
604
        MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \
604
        MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \
605
    } \
605
    } \
606
    static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk;
606
    static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk;
607
#elif CPU(X86) && COMPILER(GCC) && OS(LINUX) && defined(__PIC__)
608
#define defineUnaryDoubleOpWrapper(function) \
609
    asm( \
610
        ".text\n" \
611
        ".globl " SYMBOL_STRING(function##Thunk) "\n" \
612
        HIDE_SYMBOL(function##Thunk) "\n" \
613
        SYMBOL_STRING(function##Thunk) ":" "\n" \
614
        "pushl %ebx\n" \
615
        "subl $20, %esp\n" \
616
        "movsd %xmm0, (%esp) \n" \
617
        "call __x86.get_pc_thunk.bx\n" \
618
        "addl $_GLOBAL_OFFSET_TABLE_, %ebx\n" \
619
        "call " GLOBAL_REFERENCE(function) "\n" \
620
        "fstpl (%esp) \n" \
621
        "movsd (%esp), %xmm0 \n" \
622
        "addl $20, %esp\n" \
623
        "popl %ebx\n" \
624
        "ret\n" \
625
    );\
626
    extern "C" { \
627
        MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \
628
    } \
629
    static MathThunk UnaryDoubleOpWrapper(function) = &function##Thunk;
607
#elif CPU(X86) && COMPILER(GCC) && (OS(DARWIN) || OS(LINUX))
630
#elif CPU(X86) && COMPILER(GCC) && (OS(DARWIN) || OS(LINUX))
608
#define defineUnaryDoubleOpWrapper(function) \
631
#define defineUnaryDoubleOpWrapper(function) \
609
    asm( \
632
    asm( \

Return to bug 483610