Hi Minas,

On Wed, Sep 23, 2009 at 8:21 AM, M.A. <[email protected]> wrote:
> On Sep 22, 11:14 am, Mads Sig Ager <[email protected]> wrote:
>> The platform-freebsd.cc change looks good to me (for now, please use
>> the arch=x64 option to scons to build the 64-bit version - we will
>> update the architecture guess soon).
>
>> Before I can put back this
>> change, I need you to sign the contributor license which can be signed
>> electronically here:http://code.google.com/legal/individual-cla-v1.0.html.
>
> Well, I've signed it.

Could you please try signing it again.  Your signature has not been
registered by the system.

Thanks,    -- Mads

>> For future patches, please follow the guidelines 
>> athttp://code.google.com/p/v8/wiki/Contributingon uploading changes for
>> review.
>
> I wasn't sure (and also not sure yet now) will I make more than this
> one patch, I just wanted v8 to be just buildable out of box, for the
> start, to get it try
>
> Well, if I decide to commit again I will consider using those new
> commit tools
> Google is famous, amongst others, for spying on its users every move
> and every URL change.
>
> -Minas
>
>> Thanks for the patch!
>>
>> -- Mads
>>
>> On Sat, Sep 19, 2009 at 7:23 PM, M.A. <[email protected]> wrote:
>>
>> > Hello there,
>>
>> > I just made v8 to build under FreeBSD 7.2 amd64 (i.e. x86-64
>> > architecture).
>>
>> > I would ask that someone of comitters apply this patch and commit
>> > changes to repository.
>>
>> > It works fine with Python 2.5.4, scons 1.2.0
>> > Also libexecinfo-1.1_3 package was been installed, and its execinfo.h
>> > symlinked as:
>> > $ ln -s /usr/local/include/execinfo.h /usr/include/execinfo.h
>>
>> > I created the patch file with "diff -rupN v8-orig/ v8/ > ./
>> > for_r2938.patch"
>> > and listed it below.
>> > To apply them back against source command line like
>> >  patch -p1 < ./for_r2938.patch
>> > should be called
>>
>> > I also added there hello_world.cpp and its build shell file to check
>> > how it works.
>>
>> > -Regards,
>> > Minas Abrahamyan
>>
>> > ===$ cat ./for_r2938.patch: ===
>> > diff -rupN v8-orig/hello_w_make.sh v8/hello_w_make.sh
>> > --- v8-orig/hello_w_make.sh     1970-01-01 04:00:00.000000000 +0400
>> > +++ v8/hello_w_make.sh  2009-09-19 21:49:08.000000000 +0500
>> > @@ -0,0 +1 @@
>> > +g++ -Iinclude hello_world.cpp -o hello_world libv8.a /usr/local/lib/
>> > libexecinfo.a -lpthread
>> > diff -rupN v8-orig/hello_world.cpp v8/hello_world.cpp
>> > --- v8-orig/hello_world.cpp     1970-01-01 04:00:00.000000000 +0400
>> > +++ v8/hello_world.cpp  2009-09-19 21:02:01.000000000 +0500
>> > @@ -0,0 +1,33 @@
>> > +#include <v8.h>
>> > +
>> > +using namespace v8;
>> > +
>> > +int main(int argc, char* argv[]) {
>> > +
>> > +  // Create a stack-allocated handle scope.
>> > +  HandleScope handle_scope;
>> > +
>> > +  // Create a new context.
>> > +  Persistent<Context> context = Context::New();
>> > +
>> > +  // Enter the created context for compiling and
>> > +  // running the hello world script.
>> > +  Context::Scope context_scope(context);
>> > +
>> > +  // Create a string containing the JavaScript source code.
>> > +  Handle<String> source = String::New("'Hello' + ', World!'");
>> > +
>> > +  // Compile the source code.
>> > +  Handle<Script> script = Script::Compile(source);
>> > +
>> > +  // Run the script to get the result.
>> > +  Handle<Value> result = script->Run();
>> > +
>> > +  // Dispose the persistent context.
>> > +  context.Dispose();
>> > +
>> > +  // Convert the result to an ASCII string and print it.
>> > +  String::AsciiValue ascii(result);
>> > +  printf("%s\n", *ascii);
>> > +  return 0;
>> > +}
>> > diff -rupN v8-orig/src/platform-freebsd.cc v8/src/platform-freebsd.cc
>> > --- v8-orig/src/platform-freebsd.cc     2009-09-19 13:04:27.000000000
>> > +0500
>> > +++ v8/src/platform-freebsd.cc  2009-09-19 21:34:59.000000000 +0500
>> > @@ -554,14 +554,21 @@ static void ProfilerSignalHandler(int si
>> >     // Extracting the sample from the context is extremely machine
>> > dependent.
>> >     ucontext_t* ucontext = reinterpret_cast<ucontext_t*>(context);
>> >     mcontext_t& mcontext = ucontext->uc_mcontext;
>> > -#if defined (__arm__) || defined(__thumb__)
>> > +#if V8_HOST_ARCH_IA32
>> > +    sample.pc = mcontext.mc_eip;
>> > +    sample.sp = mcontext.mc_esp;
>> > +    sample.fp = mcontext.mc_ebp;
>> > +#elif V8_HOST_ARCH_X64
>> > +    sample.pc = mcontext.mc_rip;
>> > +    sample.sp = mcontext.mc_rsp;
>> > +    sample.fp = mcontext.mc_rbp;
>> > +#elif V8_HOST_ARCH_ARM and (defined (__arm__) || defined(__thumb__))
>> > +// An undefined macro V8_HOST_ARCH_ARM evaluates to 0, so this
>> > applies to Android's Bionic also.
>> >     sample.pc = mcontext.mc_r15;
>> >     sample.sp = mcontext.mc_r13;
>> >     sample.fp = mcontext.mc_r11;
>> >  #else
>> > -    sample.pc = mcontext.mc_eip;
>> > -    sample.sp = mcontext.mc_esp;
>> > -    sample.fp = mcontext.mc_ebp;
>> > +#error Host arch not supported, FIXME
>> >  #endif
>> >     active_sampler_->SampleStack(&sample);
>> >   }
>> > diff -rupN v8-orig/tools/utils.py v8/tools/utils.py
>> > --- v8-orig/tools/utils.py      2009-09-19 13:03:03.000000000 +0500
>> > +++ v8/tools/utils.py   2009-09-19 19:58:38.000000000 +0500
>> > @@ -63,6 +63,8 @@ def GuessArchitecture():
>> >   id = platform.machine()
>> >   if id.startswith('arm'):
>> >     return 'arm'
>> > +  elif id=='amd64':
>> > +    return 'x64'
>> >   elif (not id) or (not re.match('(x|i[3-6])86', id) is None):
>> >     return 'ia32'
>> >   else:
>> > === end of cat ===
> >
>

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

Reply via email to