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