Hello Erik,

I've just seen your new patch http://codereview.chromium.org/3161009/diff/1/2
Thank you !

Yoann

On 6 août, 16:25, Yoann <[email protected]> wrote:
> Thank you Erik.
>
> I've managed to cross-compile V8 !!
>
> I've inspected every functions of platform-linux.cc and found the
> guilty one, DebugBreak()
>
> void OS::DebugBreak() {
> // TODO(lrn): Introduce processor define for runtime system (!=
> V8_ARCH_x,
> //  which is the architecture of generated code).
> #if (defined(__arm__) || defined(__thumb__)) && \
>     defined(CAN_USE_ARMV5_INSTRUCTIONS)
>   asm("bkpt 0");
> #elif defined(__mips__)
>   asm("break");
> #else
>   asm("int $3");
> #endif
>
> }
>
> Now it's quite logical ... I'm on armv4 architecture, then I had a
> beautifull asm error. (according to the preprocessor tests)
> I'have commented all the content of the function, and It builds and
> works fine on my board ! It's maybe not very clean, but it works !
> Great !
>
> To answer to your questions, I'm actually interested in V8 engine
> only, to develop a SDK.
> I have 64 Mb of memory. Now I'm headed to bench this on my board. I
> hope these 64 Mb will be enough to wrap it with my system.
>
> Thank you !
> Have a nice day
> Yoann
>
> On 6 août, 10:45, Erik Corry <[email protected]> wrote:
>
> > Den 5. aug. 2010 17.17 skrev Yoann <[email protected]>:
>
> > > 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 wonder how much memory your 920T board has.  I would guess it doesn't have
> > enough to run Chromium.  Perhaps that is not your aim.
>
> > > I definitly need some help...
>
> > > After a "svn checkouthttp://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
>
> > This stuff isn't very important for V8.  It's only used by the profiler.
> >  Just remove this include.
>
> > All the uses of backtrace etc. are inside an #ifdef __GLIBC__.  I guess with
> > uclibc that macro should be undefined?  So I'm not sure why you get these
> > errors.
>
> > > 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'
>
> > int3 is an x86 instruction.  I can't work out how you are getting this.
> >  Could it be that your include paths are wrong so you are including system
> > libraries from the host rather than the target?  That would also explain the
> > ifdef not working, perhaps?
>
> > > 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
>
> > --
> > Erik Corry, Software Engineer
> > Google Denmark ApS.  CVR nr. 28 86 69 84
> > c/o Philip & Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018 Copenhagen K,
> > Denmark.

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to