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

RESOLVED FIXED in Firefox 51

Status

()

Core
JavaScript Engine
--
blocker
RESOLVED FIXED
a year ago
a year ago

People

(Reporter: gkw, Assigned: luke)

Tracking

({regression})

Trunk
mozilla51
x86
Mac OS X
regression
Points:
---

Firefox Tracking Flags

(firefox51 fixed)

Details

(Whiteboard: [fuzzblocker])

Attachments

(2 attachments)

(Reporter)

Description

a year ago
+++ 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)
(Assignee)

Comment 1

a year ago
Can you post the error message?
Flags: needinfo?(luke)
(Reporter)

Comment 2

a year ago
Created attachment 8787779 [details]
log

I had the log lying around..
(Assignee)

Comment 3

a year ago
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.
(Assignee)

Comment 4

a year ago
Created attachment 8787852 [details] [diff] [review]
fix-mac-arm-sim

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)
(Assignee)

Updated

a year ago
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+
(Reporter)

Comment 6

a year ago
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+
(Reporter)

Comment 7

a year ago
Helping to set checkin-needed for a blocker fix.
Keywords: checkin-needed

Comment 8

a year ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/120d57d59f38
Status: ASSIGNED → RESOLVED
Last Resolved: a year ago
status-firefox51: affected → fixed
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in before you can comment on or make changes to this bug.