Closed
Bug 644938
Opened 13 years ago
Closed 13 years ago
TI: 32-bit compile errors on Linux JM changeset 7bfbc13e500a on Ubuntu 10.04
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: gkw, Unassigned)
Details
Attachments
(5 files)
2.51 KB,
text/plain
|
Details | |
998 bytes,
patch
|
Details | Diff | Splinter Review | |
2.48 KB,
text/plain
|
Details | |
772 bytes,
patch
|
Details | Diff | Splinter Review | |
1.77 KB,
patch
|
Details | Diff | Splinter Review |
See log
Comment 1•13 years ago
|
||
Hmm, that error doesn't make much sense. Gary, can you see if the attached diff fixes the problem?
Reporter | ||
Comment 2•13 years ago
|
||
Nope, doesn't seem to. Tested when compiling 32-bit opt shell in 64-bit Ubuntu Linux 10.04.
Comment 3•13 years ago
|
||
I think the problem is that the compiler doesn't like the assignment to a reference of a 'static const' variable. Can you try this diff? Failing that, can you check if putting UNASSIGNED_REGISTER in a uint32 local first fixes things?
Reporter | ||
Comment 4•13 years ago
|
||
(In reply to comment #3) > Created attachment 522134 [details] [diff] [review] > possible patch v2 > > I think the problem is that the compiler doesn't like the assignment to a > reference of a 'static const' variable. Can you try this diff? Failing that, > can you check if putting UNASSIGNED_REGISTER in a uint32 local first fixes > things? This didn't seem to work either, though there is now one less error on JM changeset 1cf3859b5f1e: cc1plus: warnings being treated as errors /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-64219-1cf3859b5f1e/compilePath/methodjit/FrameState.h: In member function ‘void js::mjit::FrameState::popLoop(jsbytecode*, JSC::AbstractMacroAssembler<JSC::X86Assembler>::Jump*, jsbytecode**)’: /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-64219-1cf3859b5f1e/compilePath/methodjit/FrameState.h:1208: error: ‘<anonymous>’ is used uninitialized in this function /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-64219-1cf3859b5f1e/compilePath/methodjit/FrameState.h:1208: note: ‘<anonymous>’ was declared here Still points to: regstate(reg) = UNASSIGNED_REGISTER;
Comment 5•13 years ago
|
||
I can build jaegermonkey with this patch, but I don't like it one bit.
Comment 6•13 years ago
|
||
I can no longer even figure out an ugly hack to get around this problem, my previous patch has stopped working.
Reporter | ||
Comment 7•13 years ago
|
||
Actually, this now WFM since warnings-as-errors got disabled by default.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
Comment 8•13 years ago
|
||
(In reply to comment #7) > Actually, this now WFM since warnings-as-errors got disabled by default. Am I doing something wrong then? 1. hg pull -u to make sure I am on latest JM 2. ./configure --enable-optimize --disable-debug 3. make on 32-bit Ubuntu 10.04. I get make[1]: Entering directory `/home/alon/Dev/jaegermonkey/js/src' FrameState.cpp c++ -o FrameState.o -c -I./dist/system_wrappers_js -include ./config/gcc_hidden.h -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -I. -I. -I./dist/include -I./dist/include/nsprpub -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 -g -O3 -fstrict-aliasing -fno-stack-protector -fomit-frame-pointer -Werror -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/FrameState.pp ./methodjit/FrameState.cpp cc1plus: warnings being treated as errors ./methodjit/FrameState.cpp: In member function ‘js::mjit::AnyRegisterID js::mjit::FrameState::bestEvictReg(uint32, bool) const’: ./methodjit/FrameState.cpp:509: error: ‘<anonymous>’ is used uninitialized in this function ./methodjit/FrameState.cpp:509: error: ‘<anonymous>’ is used uninitialized in this function ./methodjit/FrameState.h:1181: error: ‘<anonymous>’ is used uninitialized in this function ./methodjit/FrameState.h:1181: note: ‘<anonymous>’ was declared here ./methodjit/FrameState.h:1181: error: ‘<anonymous>’ is used uninitialized in this function ./methodjit/FrameState.h:1181: note: ‘<anonymous>’ was declared here ./methodjit/FrameState.h:1195: error: ‘<anonymous>’ is used uninitialized in this function ./methodjit/FrameState.h:1195: note: ‘<anonymous>’ was declared here ./methodjit/FrameState.cpp: In member function ‘js::mjit::AnyRegisterID js::mjit::FrameState::evictSomeReg(uint32)’: ./methodjit/FrameState.cpp:640: error: ‘<anonymous>’ may be used uninitialized in this function ./methodjit/FrameState.cpp:647: error: ‘<anonymous>’ may be used uninitialized in this function ./methodjit/FrameState.cpp:651: error: ‘<anonymous>’ may be used uninitialized in this function make[1]: *** [FrameState.o] Error 1 make[1]: Leaving directory `/home/alon/Dev/jaegermonkey/js/src' make: *** [default] Error 2
Reporter | ||
Comment 9•13 years ago
|
||
I'm really not sure. I've since upgraded to 10.10 (due to a variety of other reasons) and I don't think I see this issue.
Comment 10•13 years ago
|
||
The issue is still present on 10.04, then. Reopening. Removing 64-bit from the title since it happens on 32-bit also.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Summary: TI: 32-bit compile errors on Linux JM changeset 7bfbc13e500a on Ubuntu 10.04 64-bit → TI: 32-bit compile errors on Linux JM changeset 7bfbc13e500a on Ubuntu 10.04
Comment 11•13 years ago
|
||
azakai: delete your build directory and retry?
Comment 12•13 years ago
|
||
(In reply to comment #11) > azakai: delete your build directory and retry? Thanks, that fixed it...
Status: REOPENED → RESOLVED
Closed: 13 years ago → 13 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•