The currently supported build system for V8 is Scons. To build a version of the shell sample with the ARM simulator use:
scons sample=shell simulator=arm Cheers, -- Mads On Mon, Nov 15, 2010 at 2:48 AM, Seung Mo Cho <[email protected]> wrote: > > Hello, > > I would like to test V8 on xcode/mac, using ARM simulator (of V8). But > I couldn't find any information about how to do that. > > The xcodeproj file works fine as a standalone javascript shell using > x86 ISA. However, as an engineer for embedded systems, I also want to > test it using ARM simulator of V8. (I want to trace the arm binaries > generated from JS codes.) I could do it using 'scons', but then I > couldn't use the debugging facility of xcode. (Using gdb only is not > very efficient for analyzing V8..) > > I couldn't find any doc/article on this subject. (All I found was just > a source patch that enabled this feature.) Is there anyone who can > help me use xcode to build/test/debug V8 using ARM simulator? > > > (Actually, I tried setting "debug | v8_shell-arm" as a build target in > xcode. But, it also failed producing the following log. I used v8 of > r5780, which should be a very recent version.) > > > ---- > > > Build v8_shell-arm of project v8 with configuration Debug > > Ld ../xcodebuild/Debug/v8_shell-arm normal i386 > cd /Users/seungmcho/work/v8_r5780/tools > /Developer/usr/bin/g++-4.2 -arch i386 -L/Users/seungmcho/work/v8_r5780/ > tools/../xcodebuild/Debug -F/Users/seungmcho/work/v8_r5780/tools/../ > xcodebuild/Debug -filelist /Users/seungmcho/work/v8_r5780/tools/../ > xcodebuild/v8.build/Debug/v8_shell-arm.build/Objects-normal/i386/ > v8_shell-arm.LinkFileList -lv8-arm -o /Users/seungmcho/work/v8_r5780/ > tools/../xcodebuild/Debug/v8_shell-arm > > Undefined symbols: > "v8::internal::StringSearchBase::kBadCharShiftTable", referenced > from: > __ZN2v88internal16StringSearchBase18kBadCharShiftTableE > $non_lazy_ptr in libv8-arm.a(runtime.o) > (maybe you meant: > __ZN2v88internal16StringSearchBase18kBadCharShiftTableE$non_lazy_ptr) > > "v8::internal::PowersOfTenCache::GetCachedPowerForBinaryExponentRange(int, > int, v8::internal::DiyFp*, int*)", referenced from: > v8::internal::Grisu3Counted(double, int, > v8::internal::Vector<char>, int*, int*)in libv8-arm.a(fast-dtoa.o) > v8::internal::Grisu3(double, v8::internal::Vector<char>, int*, > int*)in libv8-arm.a(fast-dtoa.o) > "v8::internal::StringSearchBase::kSuffixTable", referenced from: > __ZN2v88internal16StringSearchBase12kSuffixTableE$non_lazy_ptr > in libv8-arm.a(runtime.o) > (maybe you meant: > __ZN2v88internal16StringSearchBase12kSuffixTableE$non_lazy_ptr) > "v8::internal::StringSearchBase::kGoodSuffixShiftTable", referenced > from: > __ZN2v88internal16StringSearchBase21kGoodSuffixShiftTableE > $non_lazy_ptr in libv8-arm.a(runtime.o) > (maybe you meant: > __ZN2v88internal16StringSearchBase21kGoodSuffixShiftTableE > $non_lazy_ptr) > "v8::internal::Strtod(v8::internal::Vector<char const>, int)", > referenced from: > double v8::internal::InternalStringToInt<v8::internal:: > (anonymous namespace)::StringInputBufferIterator, v8::internal:: > (anonymous > namespace)::StringInputBufferIterator::EndMarker>(v8::internal:: > (anonymous namespace)::StringInputBufferIterator, v8::internal:: > (anonymous namespace)::StringInputBufferIterator::EndMarker, int)in > libv8-arm.a(conversions.o) > double v8::internal::InternalStringToInt<v8::internal:: > (anonymous namespace)::StringInputBufferIterator, v8::internal:: > (anonymous > namespace)::StringInputBufferIterator::EndMarker>(v8::internal:: > (anonymous namespace)::StringInputBufferIterator, v8::internal:: > (anonymous namespace)::StringInputBufferIterator::EndMarker, int)in > libv8-arm.a(conversions.o) > double v8::internal::InternalStringToInt<unsigned short const*, > unsigned short const*>(unsigned short const*, unsigned short const*, > int)in libv8-arm.a(conversions.o) > double v8::internal::InternalStringToInt<unsigned short const*, > unsigned short const*>(unsigned short const*, unsigned short const*, > int)in libv8-arm.a(conversions.o) > double v8::internal::InternalStringToInt<char const*, char > const*>(char const*, char const*, int)in libv8-arm.a(conversions.o) > double v8::internal::InternalStringToInt<char const*, char > const*>(char const*, char const*, int)in libv8-arm.a(conversions.o) > double v8::internal::InternalStringToDouble<v8::internal:: > (anonymous namespace)::StringInputBufferIterator, v8::internal:: > (anonymous > namespace)::StringInputBufferIterator::EndMarker>(v8::internal:: > (anonymous namespace)::StringInputBufferIterator, v8::internal:: > (anonymous namespace)::StringInputBufferIterator::EndMarker, int, > double)in libv8-arm.a(conversions.o) > double v8::internal::InternalStringToDouble<unsigned short > const*, unsigned short const*>(unsigned short const*, unsigned short > const*, int, double)in libv8-arm.a(conversions.o) > double v8::internal::InternalStringToDouble<char const*, char > const*>(char const*, char const*, int, double)in libv8- > arm.a(conversions.o) > "v8::internal::KeywordMatcher::Step(unsigned int)", referenced from: > v8::internal::KeywordMatcher::AddChar(unsigned int)in libv8- > arm.a(scanner-FF1FCAE703A77A77.o) > ld: symbol(s) not found > collect2: ld returned 1 exit status > > > > > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users > -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
