Created attachment 137507 [details] first draft patch Add Instrument build to the build system to make method coverage data for further process.
Created attachment 143566 [details] first draft patch (updated to ToT)
Created attachment 143795 [details] first draft patch (updated to ToT)
Comment on attachment 143795 [details] first draft patch (updated to ToT) View in context: https://bugs.webkit.org/attachment.cgi?id=143795&action=review > Source/WebKit/qt/WebCoreSupport/Instrumenter.cpp:49 > + testcaseFileStream = fopen((QCoreApplication::applicationDirPath().toStdString() + "/../methodcoverage/" + testcaseName).c_str(), "wb"); The dir should be as the other script expects in https://bugs.webkit.org/show_bug.cgi?id=84330 methodcoverage --> methodcoverage/results Additionally we should create this directory if it doesn't exist.
Created attachment 144738 [details] first draft patch (updated to ToT) results patch is corrected too, and the warning is solved
Created attachment 168929 [details] rebased patch to ToT
Created attachment 168960 [details] rebased patch to ToT Instrumenter.cpp and Instrumenter.h was missing from the previous patch.
Created attachment 169163 [details] rebased patch to ToT But I still get the following linking error: --------------------------------------------- .obj/release-shared/DumpRenderTreeQt.o: In function `WebCore::DumpRenderTree::DumpRenderTree()': DumpRenderTreeQt.cpp:(.text._ZN7WebCore14DumpRenderTreeC2Ev+0x101): undefined reference to `Instrumenter::init()' .obj/release-shared/DumpRenderTreeQt.o: In function `WebCore::DumpRenderTree::~DumpRenderTree()': DumpRenderTreeQt.cpp:(.text._ZN7WebCore14DumpRenderTreeD2Ev+0x37): undefined reference to `Instrumenter::destroy()' .obj/release-shared/DumpRenderTreeQt.o: In function `WebCore::DumpRenderTree::processLine(QString const&)': DumpRenderTreeQt.cpp:(.text._ZN7WebCore14DumpRenderTree11processLineERK7QString+0x1bb): undefined reference to `Instrumenter::start(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)' .obj/release-shared/DumpRenderTreeQt.o: In function `WebCore::DumpRenderTree::dump()': DumpRenderTreeQt.cpp:(.text._ZN7WebCore14DumpRenderTree4dumpEv+0x3e1): undefined reference to `Instrumenter::end()' collect2: ld returned 1 exit status make[3]: *** [../../../bin/DumpRenderTree] Error 1 Instrumenter::init() and Instrumenter::destroy() are in the libwebkit1.a, but they aren't in the libQtWebKitWidgets.so for some reason ...
Here is the linking command of libQtWebKitWidgets.so: ------------------------------------------------------ g++ -Wl,--gc-sections -Wl,--no-undefined -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt5/Qt-5.0.0-r38/lib -shared -Wl,-Bsymbolic-functions -Wl,-soname,libQtWebKitWidgets.so.5 -o libQtWebKitWidgets.so.5.0.0 -ldl -L/usr/local/Trolltech/Qt5/Qt-5.0.0-r38/lib -lQtWidgets -lQtNetwork -lQtGui -lQtCore -lpthread -Wl,-whole-archive -lWebKit1 -Wl,-no-whole-archive -L/storage/WebKit/WebKitBuild/Release/Source/WebKit/release -Wl,-whole-archive -lWebKit2 -Wl,-no-whole-archive -L/storage/WebKit/WebKitBuild/Release/Source/WebKit2/release -Wl,-whole-archive -lWebCore -Wl,-no-whole-archive -L/storage/WebKit/WebKitBuild/Release/Source/WebCore/release -lz -lXrender -ljpeg -lpng -Wl,-whole-archive -lANGLE -Wl,-no-whole-archive -L/storage/WebKit/WebKitBuild/Release/Source/ThirdParty/ANGLE/release -Wl,-whole-archive -lJavaScriptCore -Wl,-no-whole-archive -L/storage/WebKit/WebKitBuild/Release/Source/JavaScriptCore/release -Wl,-whole-archive -lWTF -Wl,-no-whole-archive -L/storage/WebKit/WebKitBuild/Release/Source/WTF/release -licui18n -licuuc -licudata -lQtQuick -L/storage/qt5/qtdeclarative/lib -L/usr/local/Trolltech/Qt5/Qt-5.0.0-r38/lib -lQtOpenGL -lQtPrintSupport -lQtQml -lQtWidgets -lQtLocation -lQtSql -lQtNetwork -lQtGui -lQtSensors -lQtCore -lpthread -lGL -lXext -lm -lX11 -lxslt -lgio-2.0 -lgstapp-0.10 -lgstinterfaces-0.10 -lgstpbutils-0.10 -pthread -lgstvideo-0.10 -lgstbase-0.10 -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lxml2 -lgthread-2.0 -lrt -lglib-2.0 It contains ... -Wl,-whole-archive -lWebKit1 -Wl,-no-whole-archive ... How is it possible if the ld doesn't add everything to the so?
Created attachment 169173 [details] rebased patch to ToT I moved the instrumenter from WebKit1 to DRT and it works now.
Created attachment 169174 [details] rebased patch to ToT
Created attachment 169413 [details] rebased patch to ToT
Created attachment 170339 [details] rebased patch to ToT
Created attachment 175391 [details] rebased patch to ToT No more hard coded qt path
=== Bulk closing of Qt bugs === If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary. If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.