Hi Nilima -

I'll try to answer your questions:

1. Alexandre is correct, you must make sure you are using the
'integration' branch (it is the default).

2. Per your command, you built libv8 for arch=mips, but you are trying
to build your shell for the simulator (simulator=mips). You cannot mix
the two. The simulator for local testing on your x86 development
platform, but if you want to build the shell for your target, you must
use a line like:

    scons arch=mips mode=debug library=static sample=shell -j4

(note that I left out regexp=interpreted. That is no longer needed,
since we now have the native regular expression compiler working. I
have updated the wiki page http://wiki.github.com/paul99/v8mips/building-v8mips)

3. I see from your build log that it appears that your target is beg-
endian. That is unfortunately, as v8mips does not currently support
big-endian targets. That will get done eventually, but it is low on
our priority list. Is there any way your target can be run in little-
endian mode? (the mips cores are configurable, some target boards are
configurable, some are fixed).

I know for a fact there are places in the generated code where we make
little-endian assumptions (we have commented these), but I suspect
that there will be more issues, as to my knowledge the whole of v8 has
never been run on a big-endian target.

4. I also see that you are using uclibc. I do not know if that will
work, as it has not been tried. We have been using a mips Linux distro
with full glibc (both Debian and Timesys). We are now porting to
Android, which uses bionic.

5. The issue you fixed with mcontext.gpregs is just used when
profiling. I have only tried that on Linux 2.6. It is possibly you
just have a problem with kernel-headers, or it may be that your kernel
does not support. In any cause, it will not impact regular operation
of v8, just the profiling option (--prof option to shell).

I hope this helps,

paul

On Jul 13, 2:57 am, Alexandre Rames <[email protected]> wrote:
> Hi,
>
> It has been some time I haven't build it.
> There is something weird with the endianness here. The MIPS build should use
> the -EL option to build for little endian.
>
> Did you follow the instructions
> here<http://wiki.github.com/paul99/v8mips/building-v8mips>
> ?
> Also you should try to build the "integration" branch. This branch should
> always compile and work (kind of dev branch).
>
> Alexandre
>
> On Mon, Jul 12, 2010 at 3:26 PM, Nilima Chavan <[email protected]>wrote:
>
>
>
> > Finally i was able to build the libv8.a successfully with following
> > command line:
> > scons arch=mips mode=debug regexp=interpreted library=static
>
> > Have done following changes in platform-linux.cc
> > #elif V8_HOST_ARCH_MIPS
> >    sample.pc = reinterpret_cast<Address>(mcontext.gpregs[35]);
> >    sample.sp = reinterpret_cast<Address>(mcontext.gpregs[29]);
> >    sample.fp = reinterpret_cast<Address>(mcontext.gpregs[30]);
> > #endif
>
> > But still I am not able to build shell with following command:
> > scons mode=debug simulator=mips regexp=interpreted sample=shell -j4
>
> > It is giving following kind of error:
> > /opt/kenati/lib/gcc/mips-kenati-linux-uclibc/3.4.3/../../../../mips-
> > kenati-linux-uclibc/bin/ld: /opt/kenati/lib/gcc/mips-kenati-linux-
> > uclibc/3.4.3/../../../../mips-kenati-linux-uclibc/lib/crt1.o: compiled
> > for a big endian system and target is little endian
> > /opt/kenati/lib/gcc/mips-kenati-linux-uclibc/3.4.3/../../../../mips-
> > kenati-linux-uclibc/bin/ld: /opt/kenati/lib/gcc/mips-kenati-linux-
> > uclibc/3.4.3/../../../../mips-kenati-linux-uclibc/lib/crt1.o:
> > endianness incompatible with that of the selected emulation
> > /opt/kenati/lib/gcc/mips-kenati-linux-uclibc/3.4.3/../../../../mips-
> > kenati-linux-uclibc/bin/ld: failed to merge target specific data of
> > file /opt/kenati/lib/gcc/mips-kenati-linux-uclibc/3.4.3/../../../../
> > mips-kenati-linux-uclibc/lib/crt1.o
>
> > Please let me know if I need to any kind of environment settings for
> > this too.
>
> > Thanks & Regards,
> > Nilima
>
> > On Jul 12, 5:57 pm, Nilima Chavan <[email protected]> wrote:
> > > Thanks for the info Alexandre.
>
> > > I have downloaded v8 sources from github.
> > > But when I tried to build those sources for mips platform its giving
> > > compilation error.
> > > I am building the source code on UBuntu 8 (Linux 2.6.24-16-generic #1
> > > SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux).
>
> > > Environment variables are as below:
> > > AR=/opt/kenati/bin/mips_sfp-uclibc-ar
> > > LD=/opt/kenati/bin/mips_sfp-uclibc-ld
> > > CXX=/opt/kenati/bin/mips_sfp-uclibc-g++
> > > CC=/opt/kenati/bin/mips_sfp-uclibc-gcc
> > > RANLIB=/opt/kenati/bin/mips_sfp-uclibc-ranlib
>
> > > Compilation Error:
> > > opt/kenati/bin/mips_sfp-uclibc-g++ -o obj/release/platform-linux.o -c -
> > > Wall -Werror -W -Wno-unused-parameter -Wnon-virtual-dtor -pedantic -EL
> > > -mips32r2 -Wa,-mips32r2 -fno-inline -mhard-float -O3 -fomit-frame-
> > > pointer -fdata-sections -ffunction-sections -ansi -fno-strict-aliasing
> > > -fno-rtti -fno-exceptions -Wall -Werror -W -Wno-unused-parameter -Wnon-
> > > virtual-dtor -pedantic -EL -mips32r2 -Wa,-mips32r2 -fno-inline -mhard-
> > > float -O3 -fomit-frame-pointer -fdata-sections -ffunction-sections -
> > > ansi -fno-strict-aliasing -DV8_TARGET_ARCH_MIPS -
> > > DENABLE_DEBUGGER_SUPPORT -DENABLE_LOGGING_AND_PROFILING -Isrc src/
> > > platform-linux.cc
>
> > > src/platform-linux.cc: In function `void
> > > v8::internal::ProfilerSignalHandler(int, siginfo_t*, void*)':
> > > src/platform-linux.cc:828: error: 'struct mcontext_t' has no member
> > > named 'pc'
> > > src/platform-linux.cc:829: error: 'struct mcontext_t' has no member
> > > named 'gregs'
> > > src/platform-linux.cc:830: error: 'struct mcontext_t' has no member
> > > named 'gregs'
> > > scons: *** [obj/release/platform-linux.o] Error 1
> > > scons: building terminated because of errors.
>
> > > Can anybody from your side help me on this?
> > > Thanks & Regards,
> > > Nilima
>
> > > On Jul 9, 6:39 pm, Alexandre Rames <[email protected]> wrote:
>
> > > > Hi,
>
> > > > You can find the v8 MIPS repository with the latest code on github:
> >http://github.com/paul99/v8mips
>
> > > > <http://github.com/paul99/v8mips>Alexandre
>
> > > > On Fri, Jul 9, 2010 at 1:02 PM, Nilima Chavan <[email protected]
> > >wrote:
>
> > > > > So we can not use v8 JavaScript engine on MIPs platform?
> > > > > Does anybody working on this. Since I see mips directory under
> > > > > Sources. Even SConstruct provides a way to select the architecture as
> > > > > "mips".
> > > > > If yes can you let us know when the work is expected to get over.
>
> > > > > Thanks & Regards,
> > > > > Nilima
>
> > > > > On Jul 9, 1:41 am, Erik Corry <[email protected]> wrote:
> > > > > > The MIPS port isn't done.  It doesn't work.
>
> > > > > > Den 8. jul. 2010 14.12 skrev Nilima Chavan <
> > [email protected]>:
>
> > > > > > > When I am trying to build v8 for MIP platform, I am getting
> > following
> > > > > > > errors:
> > > > > > > $  scons simulator=mips
>
> > > > > > > In file included from src/virtual-frame.h:41,
> > > > > > >                 from src/virtual-frame-inl.h:31,
> > > > > > >                 from src/codegen.cc:41:
> > > > > > > src/mips/virtual-frame-mips.h:74: error: 'NumberInfo' has not
> > been
> > > > > > > declared
> > > > > > > src/mips/virtual-frame-mips.h:366: error: 'NumberInfo' has not
> > been
> > > > > > > declared
> > > > > > > src/mips/virtual-frame-mips.h:390: error: 'NumberInfo' has not
> > been
> > > > > > > declared
> > > > > > > src/mips/virtual-frame-mips.h:391: error: 'NumberInfo' has not
> > been
> > > > > > > declared
> > > > > > > src/mips/virtual-frame-mips.h:74: error: 'NumberInfo' has not
> > been
> > > > > > > declared
> > > > > > > src/mips/virtual-frame-mips.h:366: error: 'NumberInfo' has not
> > been
> > > > > > > declared
> > > > > > > In file included from src/virtual-frame-inl.h:36,
> > > > > > >                 from src/codegen.cc:41:
> > > > > > > src/virtual-frame-light-inl.h: In constructor
> > > > > > > 'v8::internal::VirtualFrame::VirtualFrame()':
> > > > > > > src/virtual-frame-light-inl.h:41: error: class
> > > > > > > 'v8::internal::VirtualFrame' does not have any field named
> > > > > > > 'element_count_'
> > > > > > > src/virtual-frame-light-inl.h:42: error: class
> > > > > > > 'v8::internal::VirtualFrame' does not have any field named
> > > > > > > 'top_of_stack_state_'
> > > > > > > src/virtual-frame-light-inl.h:42: error: 'NO_TOS_REGISTERS' was
> > not
> > > > > > > declared in this scope
> > > > > > > src/virtual-frame-light-inl.h:43: error: class
> > > > > > > 'v8::internal::VirtualFrame' does not have any field named
> > > > > > > 'register_allocation_map_'
> > > > > > > src/virtual-frame-light-inl.h:43: error: no matching function for
> > call
> > > > > > > to
> > 'v8::internal::ZoneList<v8::internal::FrameElement>::ZoneList()'
> > > > > > > src/zone.h:170: note: candidates are:
> > > > > > > v8::internal::ZoneList<T>::ZoneList(int) [with T =
> > > > > > > v8::internal::FrameElement]
> > > > > > > src/zone.h:166: note:
>
> > v8::internal::ZoneList<v8::internal::FrameElement>::ZoneList(const
> > > > > > > v8::internal::ZoneList<v8::internal::FrameElement>&)
> > > > > > > src/virtual-frame-light-inl.h: In constructor
>
> > 'v8::internal::VirtualFrame::VirtualFrame(v8::internal::VirtualFrame*)':
> > > > > > > src/virtual-frame-light-inl.h:48: error: class
> > > > > > > 'v8::internal::VirtualFrame' does not have any field named
> > > > > > > 'element_count_'
> > > > > > > src/virtual-frame-light-inl.h:49: error: class
> > > > > > > 'v8::internal::VirtualFrame' does not have any field named
> > > > > > > 'top_of_stack_state_'
> > > > > > > src/virtual-frame-light-inl.h:49: error: 'class
> > > > > > > v8::internal::VirtualFrame' has no member named
> > 'top_of_stack_state_'
> > > > > > > src/virtual-frame-light-inl.h:50: error: class
> > > > > > > 'v8::internal::VirtualFrame' does not have any field named
> > > > > > > 'register_allocation_map_'
> > > > > > > src/virtual-frame-light-inl.h:50: error: 'class
> > > > > > > v8::internal::VirtualFrame' has no member named
> > > > > > > 'register_allocation_map_'
> > > > > > > src/virtual-frame-light-inl.h:50: error: no matching function for
> > call
> > > > > > > to
> > 'v8::internal::ZoneList<v8::internal::FrameElement>::ZoneList()'
> > > > > > > src/zone.h:170: note: candidates are:
> > > > > > > v8::internal::ZoneList<T>::ZoneList(int) [with T =
> > > > > > > v8::internal::FrameElement]
> > > > > > > src/zone.h:166: note:
>
> > v8::internal::ZoneList<v8::internal::FrameElement>::ZoneList(const
> > > > > > > v8::internal::ZoneList<v8::internal::FrameElement>&)
> > > > > > > src/virtual-frame-light-inl.h: In member function 'bool
> > > > > > > v8::internal::VirtualFrame::Equals(v8::internal::VirtualFrame*)':
> > > > > > > src/virtual-frame-light-inl.h:55: error: 'top_of_stack_state_'
> > was not
> > > > > > > declared in this scope
> > > > > > > src/virtual-frame-light-inl.h:55: error: 'class
> > > > > > > v8::internal::VirtualFrame' has no member named
> > 'top_of_stack_state_'
> > > > > > > src/virtual-frame-light-inl.h:56: error:
> > 'register_allocation_map_'
> > > > > > > was not declared in this scope
> > > > > > > src/virtual-frame-light-inl.h:56: error: 'class
> > > > > > > v8::internal::VirtualFrame' has no member named
> > > > > > > 'register_allocation_map_'
> > > > > > > src/codegen.cc: At global scope:
> > > > > > > src/codegen.cc:325: error: 'GenerateCallFunction' is not a member
> > of
> > > > > > > 'v8::internal::CodeGenerator'
> > > > > > > src/codegen.cc:325: error: 'GenerateRegExpConstructResult' is not
> > a
> > > > > > > member of 'v8::internal::CodeGenerator'
> > > > > > > src/codegen.cc:325: error: 'GenerateGetFromCache' is not a member
> > of
> > > > > > > 'v8::internal::CodeGenerator'
> > > > > > > src/codegen.cc:325: error: 'GenerateSwapElements' is not a member
> > of
> > > > > > > 'v8::internal::CodeGenerator'
> > > > > > > cc1plus: warnings being treated as errors
> > > > > > > src/mips/virtual-frame-mips.h:486: warning: inline function 'void
> > > > > > > v8::internal::VirtualFrame::PushFrameSlotAt(int)' used but never
> > > > > > > defined...
>
> read more »

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

Reply via email to