deps: fix v8 x32 build
authorBen Noordhuis <info@bnoordhuis.nl>
Tue, 14 Oct 2014 20:50:08 +0000 (22:50 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Thu, 16 Oct 2014 20:38:43 +0000 (22:38 +0200)
Fix double definition errors in the libv8_base.a library target by
compiling out stub functions when building for x32.

This fix is incomplete because, although V8 now builds, it makes a
number of bad assumptions about the size of stack slots, see
https://code.google.com/p/v8/issues/detail?id=3630.

PR-URL: https://github.com/node-forward/node/pull/24
Reviewed-By: Fedor Indutny <fedor@indutny.com>
deps/v8/src/compiler/instruction-selector.cc

index f36b07e..133dd8f 100644 (file)
@@ -722,7 +722,7 @@ void InstructionSelector::VisitFloat64LessThanOrEqual(Node* node) {
 #endif  // V8_TURBOFAN_BACKEND
 
 // 32 bit targets do not implement the following instructions.
-#if V8_TARGET_ARCH_32_BIT && V8_TURBOFAN_BACKEND
+#if V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_X64 && V8_TURBOFAN_BACKEND
 
 void InstructionSelector::VisitWord64And(Node* node) { UNIMPLEMENTED(); }
 
@@ -785,7 +785,7 @@ void InstructionSelector::VisitTruncateInt64ToInt32(Node* node) {
 
 // 32-bit targets and unsupported architectures need dummy implementations of
 // selected 64-bit ops.
-#if V8_TARGET_ARCH_32_BIT || !V8_TURBOFAN_BACKEND
+#if V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_X64 || !V8_TURBOFAN_BACKEND
 
 void InstructionSelector::VisitWord64Test(Node* node, FlagsContinuation* cont) {
   UNIMPLEMENTED();