[Webkit-unassigned] [Bug 129839] New: Build failure on OpenBSD/sparc64 within JSCJSValueInlines.h

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Mar 6 15:37:28 PST 2014


https://bugs.webkit.org/show_bug.cgi?id=129839

           Summary: Build failure on OpenBSD/sparc64 within
                    JSCJSValueInlines.h
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: landry at openbsd.org


Loosely related to https://bugs.webkit.org/show_bug.cgi?id=113638, even if adding CPU(SPARC64) in the relevant places in wtf/Platform.h:


-#if CPU(ARM) || CPU(MIPS) || CPU(SH4)
+#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(MIPS64) || CPU(SPARC64)
 #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1
 #endif

@@ -641,6 +646,8 @@
     || CPU(ALPHA) \
     || CPU(ARM64) \
     || CPU(S390X) \
+    || CPU(SPARC64) \
+    || CPU(MIPS64) \
     || CPU(PPC64)
 #define WTF_USE_JSVALUE64 1
 #else


the build of 2.3.91 fails with:

                 from Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:29:
./Source/JavaScriptCore/runtime/JSCJSValueInlines.h: In constructor 'JSC::JSValue::JSValue(JSC::JSCell*)':
./Source/JavaScriptCore/runtime/JSCJSValueInlines.h:201:75: error: cast from 'JSC::JSCell*' to 'int32_t {aka int}' loses precision [-fpermissive]
     u.asBits.payload = reinterpret_cast<int32_t>(ptr);
                                                                           ^
./Source/JavaScriptCore/runtime/JSCJSValueInlines.h: In constructor 'JSC::JSValue::JSValue(const JSC::JSCell*)':
./Source/JavaScriptCore/runtime/JSCJSValueInlines.h:210:74: error: cast from 'JSC::JSCell*' to 'int32_t {aka int}' loses precision [-fpermissive]
     u.asBits.payload = reinterpret_cast<int32_t>(const_cast<JSCell*>(ptr));

Here, there seems to be an assumption that a pointer can fit in an int32_t, which i doubt is possible on 64-bits platforms..

Next error message:

In file included from ./Source/WTF/wtf/FastMalloc.h:28:0,
                 from ./Source/JavaScriptCore/config.h:60,
                 from Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:26:
./Source/WTF/wtf/StdLibExtras.h: In instantiation of 'ToType WTF::bitwise_cast(FromType) [with ToType = JSC::JSCell*; FromType = int]':
./Source/JavaScriptCore/interpreter/Register.h:185:47:   required from here
./Source/WTF/wtf/StdLibExtras.h:137:5: error: static assertion failed: bitwise_cast size of FromType and ToType must be equal!
     static_assert(sizeof(FromType) == sizeof(ToType), "bitwise_cast size of FromType and ToType must be equal!");
     ^
./Source/WTF/wtf/StdLibExtras.h: In instantiation of 'ToType WTF::bitwise_cast(FromType) [with ToType = JSC::Instruction*; FromType = int]':
./Source/JavaScriptCore/interpreter/CallFrame.h:192:81:   required from here
./Source/WTF/wtf/StdLibExtras.h:137:5: error: static assertion failed: bitwise_cast size of FromType and ToType must be equal!
./Source/WTF/wtf/StdLibExtras.h: In instantiation of 'ToType WTF::bitwise_cast(FromType) [with ToType = int; FromType = JSC::Instruction*]':
./Source/JavaScriptCore/interpreter/CallFrame.h:197:75:   required from here
./Source/WTF/wtf/StdLibExtras.h:137:5: error: static assertion failed: bitwise_cast size of FromType and ToType must be equal!

Probably the same thing, casting a JSCell* to an int?

2.2.4 used to build fine on sparc64 (ok, it blewd at runtime, but at least it built)

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list