Benedikt says off-list that he doesn't have an opinion: moving the empty implementations into v8-inspector.h is fine.
Feel free to upload a patch. On Mon, Sep 30, 2024 at 10:42 AM Jakob Kummerow <jkumme...@chromium.org> wrote: > +Benedikt Meurer <bmeu...@chromium.org> who made these changes and might > have an opinion. > > > On Sun, Sep 29, 2024 at 12:55 PM alex...@gmail.com <alexko...@gmail.com> > wrote: > >> FWIW, I rebuilt V8 after I made the above change to v8-inspector.h and >> discovered that, in fact, there are default implementations of consoleTime >> and friends in v8-inspector-impl.cc which, of course, doesn't play nicely >> with my change to v8-inspector.h but does suggest that there was an intent >> to have a default implementation for these functions. So just wondering if >> these can be moved to v8-inspector.h as that tells the compiler not to >> produce the typeinfo reference for v8_inspector::V8InspectorClient. >> >> Is it reasonable to submit a PR to make this change? Sorry to be so >> pushy, but this is a bit of a hassle for us, currently. >> >> Thanks >> >> On Thursday, September 26, 2024 at 12:25:53 PM UTC-4 alex...@gmail.com >> wrote: >> >>> We have code that implements v8_inspector::V8InspectorClient and when we >>> upgraded to V8 13.1.36 (thought he problem looks like it's there up to >>> 13.1.99) we get the following when we try to link: >>> >>> ld64.lld: error: undefined symbol: typeinfo for >>> v8_inspector::V8InspectorClient >>> >>> referenced by /Users/imagine/src/inspector.cc >>> >>> out/arm64.mac.release/obj/inspector.o:(symbol typeinfo for >>> imagine::InspectorClient+0x10) >>> >>> did you mean: vtable for v8_inspector::V8InspectorClient >>> >>> defined in: >>> v8/out/arm64.mac.release/obj/libv8_monolith.a(v8-inspector-impl.o) >>> clang++: error: linker command failed with exit code 1 (use -v to see >>> invocation) >>> >>> This seems to be because the following newish virtual functions in the >>> base class have no default implementation: >>> >>> virtual void consoleTime(v8::Isolate* isolate, v8::Local<v8::String> >>> label); >>> virtual void consoleTimeEnd(v8::Isolate* isolate, >>> v8::Local<v8::String> label); >>> virtual void consoleTimeStamp(v8::Isolate* isolate, >>> v8::Local<v8::String> label); >>> >>> We don't want to use rtti so we locally modified v8-inspector.h to >>> provide an empty implementation for these functions to get around the >>> problem, which worked fine, but, obviously we don't want to do that >>> forever. >>> >>> Is there another way around this? Should we submit a change to add >>> default implementations for these functions or will someone else pick this >>> up? >>> >> -- >> > > -- -- v8-users mailing list v8-users@googlegroups.com 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 v8-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/CAKSzg3Q4vCk2aeCuY8RCvgOaJ%2BR7SBJWEhGXxH%2BLfpXus1ejXQ%40mail.gmail.com.