If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

selected processor does not support `blx PushActiveVMFrame'

RESOLVED INVALID

Status

()

Core
JavaScript Engine
RESOLVED INVALID
6 years ago
4 years ago

People

(Reporter: ajragusa, Unassigned)

Tracking

Trunk
ARM
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [js:p4])

(Reporter)

Description

6 years ago
I tried to compile the trunk of spidermonkey on a guruplug because the 1.8.5 release doesn't even make it past the configure stage.  trunk appears to have fixed that, so I didn't report it.  While compiling I get the following error


In file included from /home/aragusa/test/mozilla-central-f1a9dac39546/js/src/methodjit/MethodJIT.cpp:45:
/home/aragusa/test/mozilla-central-f1a9dac39546/js/src/methodjit/BaseAssembler.h: In member function ‘JSC::AbstractMacroAssembler<JSC::ARMAssembler>::Call js::mjit::Assembler::callWithABI(void*, bool)’:
/home/aragusa/test/mozilla-central-f1a9dac39546/js/src/methodjit/BaseAssembler.h:584: warning: unused variable ‘initFlushCount’
{standard input}: Assembler messages:
{standard input}:38: Error: selected processor does not support `blx PushActiveVMFrame'
{standard input}:44: Error: selected processor does not support `strd r4,r5,[r10,#24]'
{standard input}:46: Error: selected processor does not support `blx PopActiveVMFrame'
{standard input}:55: Error: selected processor does not support `blx js_InternalThrow'
{standard input}:60: Error: selected processor does not support `blx PopActiveVMFrame'
{standard input}:76: Error: selected processor does not support `blx js_InternalInterpret'
{standard input}:79: Error: selected processor does not support `ldrd r4,r5,[r10,#(4*6)]'
{standard input}:84: Error: selected processor does not support `blx PopActiveVMFrame'
{standard input}:93: Error: selected processor does not support `blx ip'
make[1]: *** [MethodJIT.o] Error 1
make[1]: Leaving directory `/home/aragusa/test/mozilla-central-f1a9dac39546/js/src'
make: *** [default] Error 2


here is /proc/cpuinfo

Processor	: Feroceon 88FR131 rev 1 (v5l)
BogoMIPS	: 1192.75
Features	: swp half thumb fastmult edsp 
CPU implementer	: 0x56
CPU architecture: 5TE
CPU variant	: 0x2
CPU part	: 0x131
CPU revision	: 1

Hardware	: Marvell Plug2 Reference Board
Revision	: 0000
Serial		: 0000000000000000

let me know if there are other pieces of information you would need to know to trouble shoot this.
It looks like that processor is ARMv5, when the earliest processor supported by JaegerMonkey is ARMv6.  You can disable JM by passing "--disable-methodjit" into configure.
(In reply to Marty Rosenberg [:mjrosenb] from comment #1)
> It looks like that processor is ARMv5, when the earliest processor supported
> by JaegerMonkey is ARMv6.  You can disable JM by passing
> "--disable-methodjit" into configure.

Perhaps, but ARMv5TE supports all of those instructions. (BLX requires v5T and LDRD requires v5E; ARMv5TE covers both.) I suspect that the default target of the compiler on that platform is ARMv5 (or perhaps some ARMv4* target), not ARMv5TE. Try passing in "--march=armv5te".

Whilst the lowest officially-supported architecture is ARMv6, there shouldn't be too many hurdles to cross to get ARMv5TE working. Of course, if you'd rather just get it working quickly, pass --disable-methodjit as Marty suggested, and you'll get a functional (but slower) build.
Whiteboard: [js:p4]
(Reporter)

Comment 3

5 years ago
Yes I got it to compile, with the --disable-methodjit. Thanks for the help

A.J.
JM is gone.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.