Hello, I'm trying to cross-compile V8 for an ARM 920T board (armv4) with a toolchain generated by buildroot (based on the uclibc), 4.3.4 version. I'm working with ubuntu 10.04.
I definitly need some help... After a "svn checkout http://v8.googlecode.com/svn/trunk/ v8" I've tried the following scons command with some exports : export GCC_VERSION=43 export CC="$BUILDROOT_PATH/output/staging/usr/bin/arm-linux-gcc -I $BUILDROOT_PATH/output/staging/usr/include -I$BUILDROOT_PATH/output/ staging/include --sysroot=$BUILDROOT_PATH export CXX="$BUILDROOT_PATH/output/staging/usr/bin/arm-linux-g++" export CXXFLAGS="-I. -march=armv4t --sysroot=$BUILDROOT_PATH/output/ staging/ -isysroot $BUILDROOT_PATH/output/staging" export CFLAGS="-I. -march=armv4t" export LDFLAGS="--sysroot $BUILDROOT_PATH/output/staging/" scons mode=debug arch=arm library=shared prof=off os=linux (I know some of these scons options are optional, but I wanted to be sure to get what I need) Then, i get this error : src/platform-linux.cc:48:56: error: execinfo.h: No such file or directory src/platform-linux.cc: In static member function 'static int v8::internal::OS::StackWalk(v8::internal::Vector<v8::internal::OS::StackFrame>)': src/platform-linux.cc:405: error: 'backtrace' was not declared in this scope src/platform-linux.cc:407: error: 'backtrace_symbols' was not declared in this scope src/platform-linux.cc: In function 'void v8::internal::ProfilerSignalHandler(int, siginfo_t*, void*)': src/platform-linux.cc:773: error: 'struct sigcontext' has no member named 'gregs' src/platform-linux.cc:774: error: 'struct sigcontext' has no member named 'gregs' src/platform-linux.cc:775: error: 'struct sigcontext' has no member named 'gregs' scons: *** [obj/debug/platform-linux.os] Error 1 scons: building terminated because of errors. I've read backtrace() was a glibc-specific function and because I'm not interested in backtrace in my project I've created an execinfo.h file with redefined functions. I've put it at the project root in my case. #ifndef _EXECINFO_H_ #define _EXECINFO_H_ 1 #include <sys/cdefs.h> __BEGIN_DECLS int backtrace(void**,int){ return 0; } char** backtrace_symbols(void* const*,int){return NULL; } void backtrace_symbols_fd(void* const*,int,int){} __END_DECLS #endif /* !_EXECINFO_H_ */ I know, it's sooo nasty ! I'm trying every kind of way to get V8 cross- compiled ... Now, the backtrace error is gone, I deal whith the ProfilerSignalHandler one by uncommenting the all function content. Then it ends up getting this : /home/yoann/workspace/karotz/buildroot/buildroot-2010.05/output/ staging/usr/bin/arm-linux-g++ -o obj/debug/platform-linux.os -c -I. - march=armv4t --sysroot=/home/yoann/workspace/karotz/buildroot/ buildroot-2010.05/output/staging/ -isysroot /home/yoann/workspace/ karotz/buildroot/buildroot-2010.05/output/staging -Wall -Werror -W - Wno-unused-parameter -Wnon-virtual-dtor -pedantic -g -O0 -ansi -fno- rtti -fno-exceptions -fvisibility=hidden -Wall -Werror -W -Wno-unused- parameter -Wnon-virtual-dtor -pedantic -g -O0 -ansi -fPIC - DV8_TARGET_ARCH_ARM -DENABLE_DISASSEMBLER -DDEBUG -DV8_SHARED - DENABLE_VMSTATE_TRACKING -DENABLE_LOGGING_AND_PROFILING - DV8_ENABLE_CHECKS -DENABLE_DEBUGGER_SUPPORT -Isrc src/platform- linux.cc /tmp/ccSp2ze3.s: Assembler messages: /tmp/ccSp2ze3.s:414: Error: bad instruction `int $3' scons: *** [obj/debug/platform-linux.os] Error 1 scons: building terminated because of errors. I've tried several branches of V8 (trunk, bleeding_edge and 2.2) but i get the same result. I think this is a flag problem. I'm missing something ... I fear that with the armv4t + uclibc combination I'm entering in a world of pain. If someone has any idea to deal with my problem. I would so pleased to hear anything that would help me. Thanks in advance !! -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
