Closed
Bug 644938
Opened 15 years ago
Closed 15 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•15 years ago
|
||
Hmm, that error doesn't make much sense. Gary, can you see if the attached diff fixes the problem?
| Reporter | ||
Comment 2•15 years ago
|
||
Nope, doesn't seem to.
Tested when compiling 32-bit opt shell in 64-bit Ubuntu Linux 10.04.
Comment 3•15 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•15 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•15 years ago
|
||
I can build jaegermonkey with this patch, but I don't like it one bit.
Comment 6•15 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•15 years ago
|
||
Actually, this now WFM since warnings-as-errors got disabled by default.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
Comment 8•15 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•15 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•15 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•15 years ago
|
||
azakai: delete your build directory and retry?
Comment 12•15 years ago
|
||
(In reply to comment #11)
> azakai: delete your build directory and retry?
Thanks, that fixed it...
Status: REOPENED → RESOLVED
Closed: 15 years ago → 15 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•