Closed Bug 1210456 Opened 9 years ago Closed 9 years ago

ARM64: Build fails with missing js::jit::AtomicOperations::loadSafeWhenRacy functions

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
firefox44 --- fixed

People

(Reporter: jolesen, Assigned: jolesen)

References

Details

Attachments

(1 file)

The arm64 simulator build started failing with linker errors complaining about missing loadSafeWhenRacy and storeSafeWhenRacy functions. Steps to reproduce: 1. Configure SpiderMonkey with js/src/configure --enable-simulator=arm64 2. make Alternatively: js/src/devtools/automation/autospider.py arm64-sim Results: (On OS X El Capitan) Compiler warnings (truncated): ... In file included from /Users/jolesen/gecko-dev/obj-spider/js/src/Unified_cpp_js_src0.cpp:2: In file included from /Users/jolesen/gecko-dev/js/src/asmjs/AsmJSCompile.cpp:22: In file included from /Users/jolesen/gecko-dev/js/src/jit/CodeGenerator.h:10: In file included from /Users/jolesen/gecko-dev/js/src/jit/IonCaches.h:22: In file included from /Users/jolesen/gecko-dev/js/src/vm/TypedArrayCommon.h:20: /Users/jolesen/gecko-dev/js/src/jit/AtomicOperations.h:138:21: warning: inline function 'js::jit::AtomicOperations::loadSafeWhenRacy<unsigned char>' is not defined [-Wundefined-inline] static inline T loadSafeWhenRacy(T* addr); ^ ... Linker errors (truncated): Undefined symbols for architecture x86_64: "unsigned char js::jit::AtomicOperations::loadSafeWhenRacy<unsigned char>(unsigned char*)", referenced from: js::ElementSpecific<SharedTypedArrayObjectTemplate<signed char>, js::SharedOps>::setFromAnyTypedArray(JSContext*, JS::Handle<js::SharedTypedArrayObject*>, JS::Handle<JSObject*>, unsigned int) in libjs_static.a(Unified_cpp_js_src12.o) js::ElementSpecific<SharedTypedArrayObjectTemplate<unsigned char>, js::SharedOps>::setFromAnyTypedArray(JSContext*, JS::Handle<js::SharedTypedArrayObject*>, JS::Handle<JSObject*>, unsigned int) in libjs_static.a(Unified_cpp_js_src12.o) js::ElementSpecific<SharedTypedArrayObjectTemplate<short>, js::SharedOps>::setFromAnyTypedArray(JSContext*, JS::Handle<js::SharedTypedArrayObject*>, JS::Handle<JSObject*>, unsigned int) in libjs_static.a(Unified_cpp_js_src12.o) js::ElementSpecific<SharedTypedArrayObjectTemplate<unsigned short>, js::SharedOps>::setFromAnyTypedArray(JSContext*, JS::Handle<js::SharedTypedArrayObject*>, JS::Handle<JSObject*>, unsigned int) in libjs_static.a(Unified_cpp_js_src12.o) js::ElementSpecific<SharedTypedArrayObjectTemplate<int>, js::SharedOps>::setFromAnyTypedArray(JSContext*, JS::Handle<js::SharedTypedArrayObject*>, JS::Handle<JSObject*>, unsigned int) in libjs_static.a(Unified_cpp_js_src12.o) js::ElementSpecific<SharedTypedArrayObjectTemplate<unsigned int>, js::SharedOps>::setFromAnyTypedArray(JSContext*, JS::Handle<js::SharedTypedArrayObject*>, JS::Handle<JSObject*>, unsigned int) in libjs_static.a(Unified_cpp_js_src12.o) js::ElementSpecific<SharedTypedArrayObjectTemplate<float>, js::SharedOps>::setFromAnyTypedArray(JSContext*, JS::Handle<js::SharedTypedArrayObject*>, JS::Handle<JSObject*>, unsigned int) in libjs_static.a(Unified_cpp_js_src12.o) ...
See Also: → 1206187
See Also: → 1208663
These methods landed with 1084248 for other architectures. A real implementation is still needed, but this allows the code to build.
Attachment #8668571 - Flags: review?(lhansen)
Attachment #8668571 - Flags: review?(lhansen) → review+
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6add8e90ce5d (Although this patch fixes an arm64 build failure which try cannot test)
Keywords: checkin-needed
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: