Closed
Bug 630854
Opened 15 years ago
Closed 14 years ago
make fails on MIPS64 due to missing cacheFlush support
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 638056
People
(Reporter: christophe.jarry, Unassigned)
Details
User-Agent: Mozilla/5.0 (X11; U; Linux mips64; fr; rv:1.9.2.13) Gecko/20110128 IceCat/3.6.13 (like Firefox/3.6.13)
Build Identifier: Mozilla/5.0 (X11; U; Linux mips64; fr; rv:1.9.2.13) Gecko/20110128 IceCat/3.6.13 (like Firefox/3.6.13)
cacheFlush support is said to be missing for MIPS but WTF_CPU_MIPS is never defined.
Reproducible: Always
Steps to Reproduce:
I downloaded the firefox beta 10 source code from mozilla servers.
Then:
tar -xjf firefox....tar.bz2
cd mozilla-central
[Wrote my .mozconfig]
./configure
make
Actual Results:
Error message after issuing make:
make[3]: Entering directory `/home/christophe/gnewsense/dev/metad/icecat/firefox/mozilla-central/js/src'
ExecutableAllocatorPosix.cpp
c++ -o ExecutableAllocatorPosix.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6.33\" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -Ictypes/libffi/include -I. -I. -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/home/christophe/gnewsense/dev/metad/icecat/firefox/mozilla-central/dist/include/nspr -I. -I./assembler -I./yarr -fPIC -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -fno-strict-aliasing -pthread -pipe -DNDEBUG -DTRIMMED -pipe -O3 -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/ExecutableAllocatorPosix.pp ./assembler/jit/ExecutableAllocatorPosix.cpp
In file included from ./assembler/jit/ExecutableAllocatorPosix.cpp:26:
./assembler/jit/ExecutableAllocator.h:395:6: error: #error "The cacheFlush support is missing on this platform."
My platform is MIPS, make should be able to go through this problem as there is cacheFlush code for MIPS in ExecutableAllocator.h (line 318):
#elif WTF_CPU_MIPS
static void cacheFlush(void* code, size_t size)
{
#if WTF_COMPILER_GCC && (GCC_VERSION >= 40300)
#if WTF_MIPS_ISA_REV(2) && (GCC_VERSION < 40403)
int lineSize;
asm("rdhwr %0, $1" : "=r" (lineSize));
//
// Modify "start" and "end" to avoid GCC 4.3.0-4.4.2 bug in
// mips_expand_synci_loop that may execute synci one more time.
// "start" points to the fisrt byte of the cache line.
// "end" points to the last byte of the line before the last cache line.
// Because size is always a multiple of 4, this is safe to set
// "end" to the last byte.
//
intptr_t start = reinterpret_cast<intptr_t>(code) & (-lineSize);
intptr_t end = ((reinterpret_cast<intptr_t>(code) + size - 1) & (-lineSize)) - 1;
__builtin___clear_cache(reinterpret_cast<char*>(start), reinterpret_cast<char*>(end));
#else
intptr_t end = reinterpret_cast<intptr_t>(code) + size;
__builtin___clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(end));
#endif
#else
_flush_cache(reinterpret_cast<char*>(code), size, BCACHE);
#endif
}
I found that WTF_CPU_MIPS was never defined:
mozilla-central$ grep 'WTF_CPU_MIPS' * -R
js/src/assembler/jit/ExecutableAllocator.h:#if WTF_CPU_MIPS && WTF_PLATFORM_LINUX
js/src/assembler/jit/ExecutableAllocator.h:#elif WTF_CPU_MIPS
js/src/assembler/assembler/MacroAssembler.h:#elif WTF_CPU_MIPS
js/src/assembler/assembler/AbstractMacroAssembler.h:#if WTF_CPU_ARM || WTF_CPU_MIPS
js/src/assembler/assembler/AbstractMacroAssembler.h:#if WTF_CPU_ARM || WTF_CPU_MIPS
js/src/assembler/assembler/AbstractMacroAssembler.h:#if WTF_CPU_ARM || WTF_CPU_MIPS
js/src/yarr/yarr/RegexJIT.cpp:#elif WTF_CPU_MIPS
js/src/yarr/yarr/RegexJIT.cpp:#elif WTF_CPU_MIPS
js/src/yarr/yarr/RegexJIT.cpp:#elif WTF_CPU_MIPS
Updated•15 years ago
|
Assignee: nobody → general
Component: Build Config → JavaScript Engine
Product: Firefox → Core
QA Contact: build.config → general
Updated•14 years ago
|
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•