Closed Bug 1300202 Opened 8 years ago Closed 8 years ago

Unable to compile js 32-bit ARM-simulator shells on Mac

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
blocker

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox51 --- fixed

People

(Reporter: gkw, Assigned: luke)

References

Details

(Keywords: regression, Whiteboard: [fuzzblocker])

Attachments

(2 files)

+++ This bug was initially created as a clone of Bug #1285652 +++

I hit a compile failure when compiling js 32-bit ARM-simulator shell on m-c rev d5f20820c805.

LD=ld CROSS_COMPILE=1 CC="clang -Qunused-arguments -msse2 -mfpmath=sse -arch i386" RANLIB=ranlib CXX="clang++ -Qunused-arguments -msse2 -mfpmath=sse -arch i386" AS=$CC AR=ar STRIP="strip -x -S" HOST_CC="clang -Qunused-arguments -msse2 -mfpmath=sse" AUTOCONF=/usr/local/Cellar/autoconf213/2.13/bin/autoconf213 HOST_CXX="clang++ -Qunused-arguments -msse2 -mfpmath=sse" sh /Users/skywalker/trees/mozilla-central/js/src/configure --target=i386-apple-darwin9.2.0 --enable-macos-target=10.5 --enable-arm-simulator --enable-debug --enable-optimize --enable-nspr-build --enable-more-deterministic --with-ccache --enable-gczeal --enable-debug-symbols --disable-tests

===

autoBisect shows this is probably related to the following changeset:

The first bad revision is:
changeset:   https://hg.mozilla.org/mozilla-central/rev/f6fddb22a8b5
user:        Dimo
date:        Mon Aug 29 21:30:04 2016 -0500
summary:     Bug 1287967 - Baldr: Add current_memory and grow_memory (r=luke,sunfish)

Luke/Dan, is bug 1287967 a likely regressor? This blocks fuzzing 32-bit ARM simulator builds on Mac.
Flags: needinfo?(sunfish)
Flags: needinfo?(luke)
Can you post the error message?
Flags: needinfo?(luke)
Attached file log
I had the log lying around..
I'll try to get to this as soon as I can but I think the basic problem is: the #ifdef is for CODEGEN_ARM but we're actually compiling on x86 so arm_thread_state_t is not available.  With the ARM simulator, fault handling isn't even needed (we handle it specially in the simulator) so with a bit of #ifdefery you should be able to avoid compiling any of this code in WasmSignalHandlers.cpp.
Attached patch fix-mac-arm-simSplinter Review
Oops, I think it's much simpler than that; just need to change some JS_CODEGEN_* to JS_CPU_*.
Assignee: nobody → luke
Status: NEW → ASSIGNED
Attachment #8787852 - Flags: review?(sunfish)
Attachment #8787852 - Flags: feedback?(gary)
Comment on attachment 8787852 [details] [diff] [review]
fix-mac-arm-sim

Review of attachment 8787852 [details] [diff] [review]:
-----------------------------------------------------------------

Makes sense. We don't use the signal-handling path with the simulator (Simulator::handleWasmFault), so it's ok that these types aren't available in that case.
Attachment #8787852 - Flags: review?(sunfish) → review+
Comment on attachment 8787852 [details] [diff] [review]
fix-mac-arm-sim

Fixes the compile failure, thanks!
Flags: needinfo?(sunfish)
Attachment #8787852 - Flags: feedback?(gary) → feedback+
Helping to set checkin-needed for a blocker fix.
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/120d57d59f38
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: