-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build errors under gcc 5.0 #13
Comments
hello, may I ask what kind of branch are you using to build? |
Following the instructions at git checkout origin/3.14-s390 -b 3.14-s390 hello, may I ask what kind of branch are you using to build? |
The lastest stable branch is 4.5-s390. Could you please try that out? |
Hi @nealef, thanks for pointing out these GCC warnings. When we developed 3.14-s390, we used / tested with GCC 4.3/4.4 from RH6.x / SLES 11. These are the compiler levels that were used to build Node.js 0.10 as well. Looks like the newer GCC 5.0 has introduced additional warnings over GCC 4.3/4.4. |
It appears the build instructions have to change as well. make dependencies tells me to use gclient sync but that command complains "Error: client not configured; see 'gclient config'". What do I need to do? |
any advice on getting past the gclient sync issue? |
Hi @nealef Once you check out depot_tools, you can run the following commands: gclient config --spec 'solutions = [{'\''name'\'': '\''v8'\'', '\''url'\'': '\''git@github.com:andrewlow/v8z.git@4.5-s390'\''}]'
gclient sync --with_branch_heads The gclient sync will then download the dependencies for you. Let me know if it works for you. Cheers. |
@nealef Just curious, are you trying to build V8 as a shared library, and include that in some other product? Mind if I ask which one? The product may have a dependency on specific level of V8. The V8 headers have changed between 3.14 and 4.5, and are not compatible. |
|
Yeah, as far as I'm aware, MongoDB is still dependent on V8 3.12, which is compatible with 3.14-s390. Were you able to build that branch successfully with GCC 5.0 without the -Werror? FYI, instructions to build MongoDB on Linux on z : https://github.com/linux-on-ibm-z/docs/wiki/Building-MongoDB |
Yes, 3.14 built cleanly once I removed the -Werror. |
Before I investigate too far, has this been seen before: Segv from - /home/neale/rpmbuild/BUILD/v8-3.14/out/s390x.release/d8 --test --stress-opt --always-opt --nobreak-on-abort --nodead-code-elimination --allow-natives-syntax /home/neale/rpmbuild/BUILD/v8-3.14/test/mjsunit/mjsunit.js /home/neale/rpmbuild/BUILD/v8-3.14/test/mjsunit/div-mod.js Core was generated by `/home/neale/rpmbuild/BUILD/v8-3.14/out/s390x.release/d8 --test --stress-opt --a'. |
I have not seen that before. AFAIK, 3.14 was running V8 FVT tests clean (with GCC 4.4). Will try to reproduce. |
I am able to reproduce the 'overflow-warning' with version 4.8, using the system's default GCC 4.8.3:
|
@maximmai Thanks for pointing out the fdlibm overflow errors. I believe these are different than the ones @nealef had pointed out in the first comment. This is a third party library code that's used by V8 for trig functions. Maybe we should move these errors into a separate issue tracker. Are you compiling the 4.5-s390 branch with GCC 4.8.3? That is the compiler version we are testing with, and I don't see those errors in our recent build logs. Edit: I've opened Issue #14 to track the fdlibm errors. |
Here are all the warnings from gcc 5.0: ../src/bignum.cc: In member function 'void v8::internal::Bignum::AssignDecimalString(v8::internal::Vector)': In file included from ../src/v8.h:62:0, ../src/bignum.cc: In member function 'void v8::internal::Bignum::AssignDecimalString(v8::internal::Vector)': In file included from ../src/v8.h:67:0, In file included from ../src/v8.h:62:0, In file included from ../src/v8.h:67:0, In file included from ../src/v8.h:62:0, In file included from ../src/v8.h:62:0, In file included from ../src/v8globals.h:32:0, ../src/parser.cc: In member function 'void v8::internal::RegExpBuilder::AddQuantifierToAtom(int, int, v8::internal::RegExpQuantifier::Type)': ../src/profile-generator.cc: In member function 'void v8::internal::ProfileTree::TraverseDepthFirst(Callback_) [with Callback = v8::internal::DeleteNodesCallback]': In file included from ../src/runtime.cc:34:0: In file included from ../src/v8.h:62:0, |
Merged 55b4df7 Merged d00da47 Merged 4da2e3d Merged c1507e1 [runtime] Unify comparison operator runtime entries. [turbofan] Don't use the CompareIC in JSGenericLowering. PPC: [runtime] Unify comparison operator runtime entries. PPC: [turbofan] Don't use the CompareIC in JSGenericLowering. R=hablich@chromium.org BUG=chromium:590832,v8:4788 LOG=N Review URL: https://codereview.chromium.org/1777503002 . Cr-Commit-Position: refs/branch-heads/5.0@{#13} Cr-Branched-From: ad16e6c-refs/heads/5.0.71@{#1} Cr-Branched-From: bd9df50-refs/heads/master@{#34215}
…bmruntimes#13 id:260001 of https://codereview.chromium.org/1759873002/ ) Reason for revert: Breaks compile: https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/7740 Probably had outdated tryjobs Original issue's description: > Assembler changes for enabling GrowHeap in Wasm > - New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change > - RelocInfo mode recorded for immediates that use the memory buffer as base > - Tests to verify address patching works > > BUG= > > Committed: https://crrev.com/cc815b69c17da368107ed77306a5bb161170c834 > Cr-Commit-Position: refs/heads/master@{#34831} TBR=titzer@chromium.org,yangguo@chromium.org,bradnelson@chromium.org,bradnelson@google.com,marija.antic@imgtec.com,gdeepti@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1808823002 Cr-Commit-Position: refs/heads/master@{#34832}
This is essentially a cherry-pick that was applied before plus the removal of a test that is now failing because it depends on more involved changes. The test case checks comparison of different undetectable JSReceivers, which is not relevant in practice, as there's only one of these at most, which is document.all. Merged 55b4df7 Merged d00da47 Merged 4da2e3d Merged c1507e1 [runtime] Unify comparison operator runtime entries. [turbofan] Don't use the CompareIC in JSGenericLowering. PPC: [runtime] Unify comparison operator runtime entries. PPC: [turbofan] Don't use the CompareIC in JSGenericLowering. R=yangguo@chromium.org BUG=chromium:590832,v8:4788,chromium:606181 LOG=N NOTRY=true NOPRESUBMIT=true Cr-Commit-Position: refs/branch-heads/5.0@{#13} Cr-Branched-From: ad16e6c-refs/heads/5.0.71@{#1} Cr-Branched-From: bd9df50-refs/heads/master@{#34215} Review URL: https://codereview.chromium.org/1925463003 Cr-Commit-Position: refs/branch-heads/5.0@{#44} Cr-Branched-From: ad16e6c-refs/heads/5.0.71@{#1} Cr-Branched-From: bd9df50-refs/heads/master@{#34215}
This is essentially a cherry-pick that was applied before plus the removal of a test that is now failing because it depends on more involved changes. The test case checks comparison of different undetectable JSReceivers, which is not relevant in practice, as there's only one of these at most, which is document.all. Merged 55b4df7 Merged d00da47 Merged 4da2e3d Merged c1507e1 [runtime] Unify comparison operator runtime entries. [turbofan] Don't use the CompareIC in JSGenericLowering. PPC: [runtime] Unify comparison operator runtime entries. PPC: [turbofan] Don't use the CompareIC in JSGenericLowering. R=yangguo@chromium.org BUG=chromium:590832,v8:4788,chromium:606181 LOG=N NOTRY=true NOPRESUBMIT=true Cr-Commit-Position: refs/branch-heads/5.0@{#13} Cr-Branched-From: ad16e6c-refs/heads/5.0.71@{#1} Cr-Branched-From: bd9df50-refs/heads/master@{#34215} Review URL: https://codereview.chromium.org/1925463003 Cr-Commit-Position: refs/branch-heads/5.0@{#44} Cr-Branched-From: ad16e6c-refs/heads/5.0.71@{#1} Cr-Branched-From: bd9df50-refs/heads/master@{#34215}
Merged 460bff5 [compiler] Make feedback vector cope with flag changes. BUG=chromium:600995,chromium:601331 LOG=N R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1903293003 . Cr-Commit-Position: refs/branch-heads/5.1@{#13} Cr-Branched-From: 167dc63-refs/heads/5.1.281@{#1} Cr-Branched-From: 03953f5-refs/heads/master@{#35282}
…nter/Leave calls Revision: e7fa71dc583588b22b00c45e5429834bb232dd23 BUG=chromium:669329 LOG=N NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true R=cbruni@chromium.org Change-Id: I813d8d1c7078ed455aa4fd51c42dee912f90526c Reviewed-on: https://chromium-review.googlesource.com/657679 Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/branch-heads/6.2@{#13} Cr-Branched-From: efa2ac4-refs/heads/6.2.414@{#1} Cr-Branched-From: a861ebb-refs/heads/master@{#47693}
1 - Uninitialized variable
In file included from ../src/v8.h:62:0,
from ../src/accessors.cc:28:
../src/heap-inl.h: In static member function 'static v8::internal::MaybeObject* v8::internal::Accessors::FunctionGetCaller(v8::internal::Object_, void_)':
../src/heap-inl.h:784:38: error: 'no_alloc' may be used uninitialized in this function [-Werror=maybe-uninitialized]
if (active_) HEAP->allow_allocation(old_state_);
^
../src/accessors.cc:714:22: note: 'no_alloc' was declared here
AssertNoAllocation no_alloc;
2 - Overflow warning
../src/bignum.cc: In member function 'void v8::internal::Bignum::AssignDecimalString(v8::internal::Vector)':
../src/bignum.cc:103:6: error: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow]
void Bignum::AssignDecimalString(Vector value) {
^
../src/jsregexp.cc: In member function ‘virtual void v8::internal::TextNode::FillInBMInfo(int, int, int, v8::internal::BoyerMooreLookahead_, bool)’:
../src/jsregexp.cc:5895:36: error: array subscript is above array bounds [-Werror=array-bounds]
bm->Set(offset, chars[j]);
^
../src/jsregexp.cc: In member function ‘void v8::internal::CharacterRange::AddCaseEquivalents(v8::internal::ZoneListv8::internal::CharacterRange_, bool, v8::internal::Zone*)’:
../src/jsregexp.cc:5390:25: error: array subscript is above array bounds [-Werror=array-bounds]
uc32 c = range[i];
^
The latter looks more like a problem with GCC than the code. I just got rid of the -Werror for the time being.
The text was updated successfully, but these errors were encountered: