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)

Other
Linux
defect
Not set
normal

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
Assignee: nobody → general
Component: Build Config → JavaScript Engine
Product: Firefox → Core
QA Contact: build.config → general
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.