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.