From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 5F4BF13E151D; Tue, 3 Jun 2025 20:35:57 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 5F4BF13E151D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1748972157; bh=pyvzqLXx6qJpWV898XVMHoSJnzrx4vSIKPPDiriPEH8=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=tLcywbpK3N7l9DGTVtA53gAgO3AE9wbhaOz8ZsVOafV3r4oUFvrlQGrQlCzUMlH+V lPxXUfsFACaBQNjOEQJs6BNdy+Nm1/vbcFm21IgZvpyxBt7APEYJoYsPGE2AO8ktRA f4mpbU7Y5UwKOKBMvKTrQbUyZaBVhrrZCq1/mPZc= Received: from send81.i.mail.ru (send81.i.mail.ru [89.221.237.176]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id A96964600A0 for ; Tue, 3 Jun 2025 20:35:55 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A96964600A0 Received: by exim-smtp-985c69c7d-nptnd with esmtpa (envelope-from ) id 1uMVYI-00000000M9W-2d7z; Tue, 03 Jun 2025 20:35:55 +0300 To: Sergey Bronnikov Date: Tue, 3 Jun 2025 20:35:59 +0300 Message-ID: <20250603173559.24591-1-skaplun@tarantool.org> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD9851146C857904EABEC2A4C3EF66ADBBF4ECA7F58A3BF7AFF182A05F538085040E24B6ECCFE49F9763DE06ABAFEAF670529BC06599381B7D2A59B5B5B5ACF08F02BEE0536B1032EF0 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE70C5E0F71D77D667BEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637FE9EFE935CD7C6AE8638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B2E02CB29CF07E68F42E070BE324C7D3C4D2785E05B02EE6D5F6B57BC7E64490618DEB871D839B73339E8FC8737B5C2249F532FBFD8162E58CCC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C084ED00A64A654CBE8941B15DA834481F9449624AB7ADAF372E808ACE2090B5E14AD6D5ED66289B5278DA827A17800CE76631511D42670FFE2EB15956EA79C166176DF2183F8FC7C0444A83B712AC0148725E5C173C3A84C31BC2FD6A5287AC5335872C767BF85DA2F004C90652538430E4A6367B16DE6309 X-C1DE0DAB: 0D63561A33F958A59DDF2BA2769737E25002B1117B3ED6965A8D38DB5B5DC6E2F5FEB6EB1EB183FD277AA237ED671D4372AF3B35EA4094CCD95D32202655EC459C5DF10A05D560A9D2B5782620B851B7C8C84E951CD0BE2F58C12E6D310A6D53587F3D2152687E5CA71A35648BE338CEED902CAAD3CD6B00BA7CCD254A1CF5E8D3496F5BAC7EB6C7638A446BE3E5C627BF0CFE790FC11A7261332C5CB50AE517BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADBF74143AD284FC7177DD89D51EBB774242A1950755802D361004E42C50DC4CA955A7F0CF078B5EC49A30900B95165D349A401E2B4D763A4AD973E9630306CC443F7A8ABC6C734E1349C7C95B876BA5D3D1FB7ECCB7BADDBA1D7E09C32AA3244C4AFFB9FD9F690B0F77DD89D51EBB7742F407A655F460DF79EA455F16B58544A2557BDE0DD54B3590A5AE236DF995FB59829709634694AABAED6A17656DB59BCAD427812AF56FC65B X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVVyIuFBRopBhLc7LpqZgIVQ= X-DA7885C5: 6D9455ECC3461385F255D290C0D534F9507C1476D39F881B525D99B46985CAA7FB31167FD8AE9FFA5B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393FE9E42A757851DB6D25D17BFCAD9D4C2C88CA400067EF43749A17CF7296FF69BE49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH luajit] build: provide LUAJIT_USE_PERFTOOLS option X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Kaplun via Tarantool-patches Reply-To: Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This patch provides the LUAJIT_USE_PERFTOOLS flag via the CMake build system. It allows you to avoid the definition of the cognominal macro definition via CMAKE_C_FLAGS to use integration with the Linux perf tools interface [1] to resolve symbols for traces generated by a JIT. It may be used like the following: | perf record script -f luajit test.lua | perf report -s symbol [1]: https://github.com/torvalds/linux/blob/master/tools/perf/Documentation/jit-interface.txt Resolves tarantool/tarantool#11300 --- Branch: https://github.com/tarantool/luajit/tree/skaplun/gh-11300-use-perftools-flag Issue: https://github.com/tarantool/tarantool/issues/11300 CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 854b3613..c0da4362 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -259,6 +259,14 @@ if(LUAJIT_USE_VALGRIND) AppendFlags(TARGET_C_FLAGS -DLUAJIT_USE_VALGRIND) endif() +# This creates a symbol table of the JIT-compiled code in +# a (%d = pid of process) file. It should be +# used with Linux perf tools. See for details. +option(LUAJIT_USE_PERFTOOLS "Linux perf JIT support" OFF) +if(LUAJIT_USE_PERFTOOLS) + AppendFlags(TARGET_C_FLAGS -DLUAJIT_USE_PERFTOOLS) +endif() + # This is the client for the GDB JIT API. GDB 7.0 or higher is # required to make use of it. See lj_gdbjit.c for details. # Enabling this causes a non-negligible overhead, even when not -- 2.49.0