我正在尝试构建Google V8库。在this篇文章之后,我调用了以下命令
$ make ia32 -j2
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=ia32 \
-S.ia32 -Dv8_can_use_vfp_instructions=true
CXX(target) /Projects/v8/out/ia32.release/obj.target/preparser_lib/src/allocation.o
CXX(target) /Projects/v8/out/ia32.debug/obj.target/preparser_lib/src/allocation.o
...
CXX(target) /Projects/v8/out/ia32.debug/obj.target/cctest/test/cctest/test-bignum-dtoa.o
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa320()’:
../test/cctest/test-assembler-ia32.cc:66: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:66: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:66: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:67: error: ‘class v8::internal::Assembler’ has no member named ‘add’
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa321()’:
../test/cctest/test-assembler-ia32.cc:95: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:95: error: ‘edx’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:95: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:96: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:100: error: ‘class v8::internal::Assembler’ has no member named ‘add’
../test/cctest/test-assembler-ia32.cc:101: error: ‘class v8::internal::Assembler’ has no member named ‘sub’
../test/cctest/test-assembler-ia32.cc:104: error: ‘class v8::internal::Assembler’ has no member named ‘test’
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa322()’:
../test/cctest/test-assembler-ia32.cc:133: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:133: error: ‘edx’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:133: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:134: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:134: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:139: error: ‘class v8::internal::Assembler’ has no member named ‘sub’
../test/cctest/test-assembler-ia32.cc:142: error: ‘class v8::internal::Assembler’ has no member named ‘test’
../test/cctest/test-assembler-ia32.cc:147: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:148: error: no matching function for call to ‘v8::internal::Assembler::jmp(NULL, v8::internal::RelocInfo::Mode)’
../src/x64/assembler-x64.h:1222: note: candidates are: void v8::internal::Assembler::jmp(v8::internal::Label*, v8::internal::Label::Distance)
../src/x64/assembler-x64.h:1223: note: void v8::internal::Assembler::jmp(v8::internal::Handle<v8::internal::Code>, v8::internal::RelocInfo::Mode)
../src/x64/assembler-x64.h:1226: note: void v8::internal::Assembler::jmp(v8::internal::Register)
../src/x64/assembler-x64.h:1229: note: void v8::internal::Assembler::jmp(const v8::internal::Operand&)
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa323()’:
../test/cctest/test-assembler-ia32.cc:180: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:180: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa324()’:
../test/cctest/test-assembler-ia32.cc:215: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:215: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa325()’:
../test/cctest/test-assembler-ia32.cc:244: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:244: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:244: error: no matching function for call to ‘v8::internal::Operand::Operand(intptr_t, v8::internal::RelocInfo::Mode)’
../src/x64/assembler-x64.h:402: note: candidates are: v8::internal::Operand::Operand(const v8::internal::Operand&, int32_t)
../src/x64/assembler-x64.h:397: note: v8::internal::Operand::Operand(v8::internal::Register, v8::internal::ScaleFactor, int32_t)
../src/x64/assembler-x64.h:392: note: v8::internal::Operand::Operand(v8::internal::Register, v8::internal::Register, v8::internal::ScaleFactor, int32_t)
../src/x64/assembler-x64.h:386: note: v8::internal::Operand::Operand(v8::internal::Register, int32_t)
../src/x64/assembler-x64.h:383: note: v8::internal::Operand::Operand(const v8::internal::Operand&)
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa326()’:
../test/cctest/test-assembler-ia32.cc:271: error: ‘class v8::internal::Assembler’ has no member named ‘movdbl’
../test/cctest/test-assembler-ia32.cc:271: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:272: error: ‘class v8::internal::Assembler’ has no member named ‘movdbl’
../test/cctest/test-assembler-ia32.cc:278: error: ‘class v8::internal::Assembler’ has no member named ‘sub’
../test/cctest/test-assembler-ia32.cc:279: error: ‘class v8::internal::Assembler’ has no member named ‘movdbl’
../test/cctest/test-assembler-ia32.cc:281: error: ‘class v8::internal::Assembler’ has no member named ‘add’
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa328()’:
../test/cctest/test-assembler-ia32.cc:316: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:316: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:316: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:317: error: ‘class v8::internal::Assembler’ has no member named ‘cvtsi2sd’
../test/cctest/test-assembler-ia32.cc:319: error: ‘class v8::internal::Assembler’ has no member named ‘sub’
../test/cctest/test-assembler-ia32.cc:320: error: ‘class v8::internal::Assembler’ has no member named ‘movdbl’
../test/cctest/test-assembler-ia32.cc:322: error: ‘class v8::internal::Assembler’ has no member named ‘add’
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerIa329()’:
../test/cctest/test-assembler-ia32.cc:351: error: ‘esp’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:359: error: ‘class v8::internal::MacroAssembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:359: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:363: error: ‘class v8::internal::MacroAssembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:367: error: ‘class v8::internal::MacroAssembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:371: error: ‘class v8::internal::MacroAssembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:375: error: ‘class v8::internal::MacroAssembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc: In function ‘void TestAssemblerMultiByteNop()’:
../test/cctest/test-assembler-ia32.cc:417: error: ‘ebx’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:418: error: ‘ecx’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:419: error: ‘edx’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:420: error: ‘edi’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:421: error: ‘esi’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:422: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:422: error: ‘eax’ was not declared in this scope
../test/cctest/test-assembler-ia32.cc:423: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:424: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:425: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:426: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:427: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:435: error: ‘class v8::internal::Assembler’ has no member named ‘cmp’
../test/cctest/test-assembler-ia32.cc:437: error: ‘class v8::internal::Assembler’ has no member named ‘cmp’
../test/cctest/test-assembler-ia32.cc:439: error: ‘class v8::internal::Assembler’ has no member named ‘cmp’
../test/cctest/test-assembler-ia32.cc:441: error: ‘class v8::internal::Assembler’ has no member named ‘cmp’
../test/cctest/test-assembler-ia32.cc:443: error: ‘class v8::internal::Assembler’ has no member named ‘cmp’
../test/cctest/test-assembler-ia32.cc:445: error: ‘class v8::internal::Assembler’ has no member named ‘cmp’
../test/cctest/test-assembler-ia32.cc:447: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
../test/cctest/test-assembler-ia32.cc:455: error: ‘class v8::internal::Assembler’ has no member named ‘mov’
make[1]: *** [/Projects/v8/out/ia32.release/obj.target/cctest/test/cctest/test-assembler-ia32.o] Error 1
make: *** [ia32.release] Error 2
make: *** Waiting for unfinished jobs....
该命令抱怨汇编程序指令,gcc认为这些指令是常见的C语言结构。我应该如何处理这些问题?