Is v8 expected to support x32 ABI? I tried "make native" (using v8 bleeding_edge, r12652) on an x32 ABI Gentoo install, and it failed with e.g.:
In file included from ../src/conversions-inl.h:35:0,
from ../src/conversions.cc:32:
../src/globals.h:243:33: warning: overflow in implicit constant conversion [-Woverflow]
../src/globals.h:244:38: warning: large integer implicitly truncated to unsigned type [-Woverflow]
../src/atomicops_internals_x86_gcc.h: In function 'void v8::internal::Acquire_Store(volatile Atomic64*, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:222:13: error: redefinition of 'void v8::internal::Acquire_Store(volatile Atomic64*, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:122:13: error: 'void v8::internal::Acquire_Store(volatile Atomic32*, v8::internal::Atomic32)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'void v8::internal::Release_Store(volatile Atomic64*, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:227:13: error: redefinition of 'void v8::internal::Release_Store(volatile Atomic64*, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:149:13: error: 'void v8::internal::Release_Store(volatile Atomic32*, v8::internal::Atomic32)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::NoBarrier_Load(const volatile Atomic64*)':
../src/atomicops_internals_x86_gcc.h:248:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::NoBarrier_Load(const volatile Atomic64*)'
../src/atomicops_internals_x86_gcc.h:155:17: error: 'v8::internal::Atomic32 v8::internal::NoBarrier_Load(const volatile Atomic32*)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Acquire_Load(const volatile Atomic64*)':
../src/atomicops_internals_x86_gcc.h:252:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Acquire_Load(const volatile Atomic64*)'
../src/atomicops_internals_x86_gcc.h:159:17: error: 'v8::internal::Atomic32 v8::internal::Acquire_Load(const volatile Atomic32*)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Release_Load(const volatile Atomic64*)':
../src/atomicops_internals_x86_gcc.h:260:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Release_Load(const volatile Atomic64*)'
../src/atomicops_internals_x86_gcc.h:166:17: error: 'v8::internal::Atomic32 v8::internal::Release_Load(const volatile Atomic32*)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Acquire_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:265:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Acquire_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:94:17: error: 'v8::internal::Atomic32 v8::internal::Acquire_CompareAndSwap(volatile Atomic32*, v8::internal::Atomic32, v8::internal::Atomic32)' previously defined here
../src/atomicops_internals_x86_gcc.h: In function 'v8::internal::Atomic64 v8::internal::Release_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)':
../src/atomicops_internals_x86_gcc.h:275:17: error: redefinition of 'v8::internal::Atomic64 v8::internal::Release_CompareAndSwap(volatile Atomic64*, v8::internal::Atomic64, v8::internal::Atomic64)'
../src/atomicops_internals_x86_gcc.h:104:17: error: 'v8::internal::Atomic32 v8::internal::Release_CompareAndSwap(volatile Atomic32*, v8::internal::Atomic32, v8::internal::Atomic32)' previously defined here
On the other hand, "make ia32.release" succeeded, but I'm not sure if that's what should be done on x32.
I have a working x32 install and can contribute patches, but any guidance and feedback is welcome.