Closed Bug 977759 Opened 10 years ago Closed 10 years ago

SharedArrayBuffer breaks --disable-ion builds

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla30

People

(Reporter: gwagner, Assigned: sstangl)

References

Details

(Whiteboard: [js:p2])

Attachments

(1 file)

I can't build an --enable-debug gecko for a b2g phone any more.

Even after a clobber I am getting
/Volumes/disc2/code/leo/B2G/prebuilt/darwin-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: ../libjs_static.a(Unified_cpp_js_src5.o): in function js::SharedArrayRawBuffer::New(unsigned int):/Volumes/mac/moz/ib2g/js/src/vm/SharedArrayObject.cpp:76: error: undefined reference to 'js::IsValidAsmJSHeapLength(unsigned int)'
/Volumes/disc2/code/leo/B2G/prebuilt/darwin-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: ../libjs_static.a(Unified_cpp_js_src5.o): in function js::SharedArrayBufferObject::New(JSContext*, unsigned int):/Volumes/mac/moz/ib2g/js/src/vm/SharedArrayObject.cpp:179: error: undefined reference to 'js::IsValidAsmJSHeapLength(unsigned int)'
/Volumes/disc2/code/leo/B2G/prebuilt/darwin-x86/toolchain/arm-linux-androideabi-4.4.x/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: ../libjs_static.a(Unified_cpp_js_src5.o): in function js::SharedArrayBufferObject::New(JSContext*, unsigned int):/Volumes/mac/moz/ib2g/js/src/vm/SharedArrayObject.cpp:182: error: undefined reference to 'js::RoundUpToNextValidAsmJSHeapLength(unsigned int)'
collect2: ld returned 1 exit status
js/src/vm/SharedArrayBuffer.cpp is missing |#include "jit/AsmJS.h"|. This wasn't noticed on other platforms because of unified builds (and even passed Tryserver! https://tbpl.mozilla.org/?tree=Try&rev=0c8831ec51b7).
Oh, nevermind, that correct file is included. Is AsmJS.cpp not being built on b2g builds?
Blocks: 933001
--disable-ion is indeed busted as seen on Linux powerpc64

http://mozillaproject.osuosl.org:8010/builders/runtests/builds/1044/steps/shell/logs/stdio
Severity: normal → blocker
I had a --disable-ion in my mozconfig and I hope my problem is fixed now. But the general problem that we can't compile without ion still holds.
Severity: blocker → normal
Summary: B2G debug: SharedArrayObject.cpp:76: error: undefined reference to 'js::IsValidAsmJSHeapLength(unsigned int) → SharedArrayBuffer breaks --disable-ion builds
OS: Mac OS X → All
Hardware: x86 → All
Whiteboard: [js:p2]
Attached patch patchSplinter Review
Moves RoundUpToNextValidAsmJSHeapLength() and IsValidAsmJSHeapLength() to jit/AsmJS.h, so vm/SharedArrayBuffer.cpp can include them even if --disable-ion.
Attachment #8384917 - Flags: review?(luke)
Attachment #8384917 - Flags: review?(luke) → review+
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/1663c434abc0
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: