nevermind, I got it to work. I forgot I had issues building the snapshot 
version for arm. Doing make -j 2 arm.release snapshot=off works.

Thanks,

On Wednesday, February 25, 2015 at 3:13:09 PM UTC-5, Malek Musleh wrote:
>
> That looks like it sort of solved it, as in the instrumentation function 
> call is recognized. I am getting a problem at the linking stage though 
> (errors below):
>
> First off, I am building for arm: make -j 2 arm.release. So I am not sure 
> why the Linux_x64 release is showing up. The main error though about 
> __cxa_demangle
> could be solved with an extern C {}  type declaration right? 
>
> I included the library header file in the v8 source code:
>
> #include "/home/musleh/Research/gem5-ARM/util/m5/m5op.h"
>
> and added the following to v78.gyp:
>
>             'conditions': [
>               ['nacl_target_arch=="none"', {
>                 'link_settings': {
>                   'libraries': [
> +                    '/home/musleh/Research/gem5-ARM/util/m5/libm5.a  -lrt'
>                   ],
>                 },
>               }, {
>
> and similarly under include_dir:
>
>           'include_dirs': [
>             '../..', '/home/musleh/Research/gem5-ARM/util/m5',
>           ],
>
>
> any idea as to if I am missing something else?
>
> /home/musleh/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: the 
> vtable symbol may be undefined because the class is missing its key function
> /home/musleh/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: the 
> vtable symbol may be undefined because the class is missing its key function
> /home/musleh/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: the 
> vtable symbol may be undefined because the class is missing its key function
> /home/musleh/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: the 
> vtable symbol may be undefined because the class is missing its key function
> /home/musleh/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: the 
> vtable symbol may be undefined because the class is missing its key function
> /home/musleh/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: the 
> vtable symbol may be undefined because the class is missing its key function
> /home/musleh/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: the 
> vtable symbol may be undefined because the class is missing its key function
> /home/musleh/v8/out/arm.release/obj.host/tools/gyp/libv8_libbase.a(/home/musleh/v8/out/arm.release/obj.host/v8_libbase/src/base/logging.o):../src/base/logging.cc:function
>  
> v8::base::DumpBacktrace(): error: undefined reference to '__cxa_demangle'
> /home/musleh/v8/out/arm.release/obj.host/tools/gyp/libv8_libbase.a(/home/musleh/v8/out/arm.release/obj.host/v8_libbase/src/base/platform/platform-linux.o):../src/base/platform/platform-linux.cc:function
>  
> void std::vector<v8::base::OS::SharedLibraryAddress, 
> std::allocator<v8::base::OS::SharedLibraryAddress> 
> >::_M_insert_aux<v8::base::OS::SharedLibraryAddress>(__gnu_cxx::__normal_iterator<v8::base::OS::SharedLibraryAddress*,
> > 
> std::vector<v8::base::OS::SharedLibraryAddress, 
> std::allocator<v8::base::OS::SharedLibraryAddress> > >, 
> v8::base::OS::SharedLibraryAddress&&): error: undefined reference to 
> 'std::string::swap(std::string&)'
> /home/musleh/v8/out/arm.release/obj.host/tools/gyp/libv8_libbase.a(/home/musleh/v8/out/arm.release/obj.host/v8_libbase/src/base/platform/platform-linux.o):../src/base/platform/platform-linux.cc:function
>  
> void std::vector<v8::base::OS::SharedLibraryAddress, 
> std::allocator<v8::base::OS::SharedLibraryAddress> 
> >::_M_insert_aux<v8::base::OS::SharedLibraryAddress>(__gnu_cxx::__normal_iterator<v8::base::OS::SharedLibraryAddress*,
> > 
> std::vector<v8::base::OS::SharedLibraryAddress, 
> std::allocator<v8::base::OS::SharedLibraryAddress> > >, 
> v8::base::OS::SharedLibraryAddress&&): error: undefined reference to 
> 'std::string::swap(std::string&)'
> clang++: error: linker command failed with exit code 1 (use -v to see 
> invocation)
> make[1]: *** [/home/musleh/v8/out/arm.release/mksnapshot] Error 1
> make[1]: Leaving directory `/home/musleh/v8/out'
>
>
> On Wednesday, February 25, 2015 at 4:18:32 AM UTC-5, Ben Noordhuis wrote:
>>
>> On Wed, Feb 25, 2015 at 5:20 AM, Malek Musleh <[email protected]> 
>> wrote: 
>> > Hi, 
>> > 
>> > I am trying to instrument the v8 source code with callable functions 
>> defined 
>> > in a separate (external library). 
>> > Specifically, I am inserting these instrumentation function calls in 
>> > ./src/ic/arm/ic-arm.cc 
>> > 
>> > Is the main Makefile (v8/Makefile) the best place to include a link 
>> against 
>> > my external library or is there a more formal 
>> > way of doing so? 
>> > 
>> > I have access to the source code of the external library, so 
>> theoretically I 
>> > could include the library source files within the v8 build structure, 
>> > but from past experiences, it would seem this would be the undesirable 
>> > approach. 
>> > 
>> > Malek 
>>
>> I think you should be able to add it to the 'libraries' element in the 
>> appropriate 'link_settings' section in tools/gyp/v8.gyp.  You will 
>> probably also need to update one of the 'include_dirs' elements if the 
>> external library comes with its own headers. 
>>
>> If you are going to integrate V8 with a downstream project that also 
>> builds with GYP, you should also update the appropriate 
>> 'direct_dependent_settings' section to make downstream pick up the 
>> required link settings automatically. 
>>
>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to