Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756515AbdLVQMi (ORCPT ); Fri, 22 Dec 2017 11:12:38 -0500 Received: from mx0b-00082601.pphosted.com ([67.231.153.30]:60574 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755464AbdLVQMe (ORCPT ); Fri, 22 Dec 2017 11:12:34 -0500 From: Roman Gushchin To: CC: , , Roman Gushchin , Jakub Kicinski , Alexei Starovoitov , Daniel Borkmann Subject: [PATCH v2 bpf-next 1/2] tools/bpftool: use version from the kernel source tree Date: Fri, 22 Dec 2017 16:11:51 +0000 Message-ID: <20171222161152.24715-1-guro@fb.com> X-Mailer: git-send-email 2.14.3 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [2620:10d:c092:200::1:bfe8] X-ClientProxiedBy: DB6PR07CA0193.eurprd07.prod.outlook.com (2603:10a6:6:42::23) To DM3PR15MB1081.namprd15.prod.outlook.com (2603:10b6:0:12::7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: acef156a-b9bd-444d-2b11-08d54956c27f X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603307)(7153060);SRVR:DM3PR15MB1081; X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;3:CoHm2tsZw15h1cgVQmXMBIoxJwgG2VBbrh6117CsNApW89zUe3UnU/Ln6cmFZur3WlNTd+igE2uLdIs0SqIzyHzSqxb0ZGPugBxQXG9WwT/irDC/v2IaF+3T6SHAeMNfAMRygdoJFJXOJFCXhnIHS1Vh1bWhVcNsi2nYkGC5AQPgfmEOdnw2euVtLkXSwsMtwCxC2u77znLkKr/YzJK06LPEXrHiBlOS5D6C8LHRzOIu7KcPngj8GYfgQC6u4yZZ;25:QqaF2q2Ca431wFe8HG/I/WlAiRSZywoSDA8YM3YfLUXHS37andnvF8KZKsYPTB5b5436CCHcRikGGEJ4Qo0XUpJFkDTnYWFz1TRiirY5mEdoWSGZEqlfDnhRUIjMd/L/rOzNqMHcdzE1R0p+IzoGi6tCzJVCuo6NQ/VZZWz+db5Zhw08XXbbmAScg5sCBd28kb01Uvmb4VboQm4GE5JLPRW7tQxVt5QCzLdU8mVYrrAdrklTol0EoXsnKpmc1YEwPqDuMIT6VPBr4LBkRu44u1gkv3vMW28SWZRqPAY/+vcpsGzQ58hpU0NZizmbPfsJZ3GMo77R5WWNq6Ng1WufBg==;31:K3Xbn7yWdlxyJ5fTahFqL/dQfDYO2Eapu9NfOwgVuaWVlpzGLpC1dyDQdGmTMQyc0ecCWgL//F9sACULD+WDQ2ywnjxZqLgAgw8GUH5KjoVGn70tqtts1WYpL6xIcEiLDPzF6Nx31kNHZWpO8KsHxhnLUTQ/8DMZTPZNonxH0eKXm2z09pEvy3yD2bO7sZPNd+3D0ZC6YnNr1I/Tz3lJe6SxtxvJrc3Apx8voAn4pUI= X-MS-TrafficTypeDiagnostic: DM3PR15MB1081: X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;20:gPzhrdrwduH8otFDkZ2nQHftXURCOoJB9O6QkA8BC8mUqGXinucA7FvX5Ow6eT34ISDwrV7faTjvmXzbphMwbY2R+XRMSovg2/cm9tBRkSVmx9PaDvfiobfku4p8kK/+Bu9ldNSb+gmcPrH1CVKWFPDv2F3uzFh76vFmE8DcxWl8oR6rhA348T7utEiiHaGTY8MjoNV2aMfJtedWQd4mMGE3ceZlocub/QFGmgo6XIjo2wxPRXR2UL2wz3UfUKS0X/8UPcyCd08Ei/mKL+I/zfnErzfpkuXj+0U/fNjCDKKkOA9h1Nw8WQxpTv7KNXUbR9+np79jNk3V5AfyqxY0ajlJhcsnc7wrVQyINhNQ+IcpNxWFPw8kz7VoffPAkE0iWuNwO8huDWM95ZN0bYHVWmdyOn2IoBsBDdggcc90mGreKGB2poizc/33xXlzYDgsg5fuQQbQXoNmuq1l9WVJOwL11rL8JQJRXQ5VscU0DGJ1EBSqn646mUu6cvPPvKkC;4:S0JYaOeE3207bOnM4dh+Wbb6VWQNfqIz1iLCZFcKMtd2RDzzqzKyltV9K5yQ4CPtockFqD6E1Awt5uNBkgdm3Bee7mFPxp8rKj8g09uCMMz66MqyhGdMoZrcRd1xjFrbND0fEhulqGEOwxuv5dWWnkTbZwJyUGZd0Zj7GYXFUiqF4H5CUu57WF8NzDRqY9GA+xHCg5dEWEU/x1DLmLRY+pnXsV9gPYfERnZTvPlDuqs5BxhLqgStiJtn/4GqTgUmn5ZDbFYnjqI7ovT5G9XH0P8xPfsG3Lcz3fIAxc6LANUeLvE5hQ8QhcSegnMM2X0O X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(67672495146484); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(5005006)(8121501046)(10201501046)(3231023)(11241501184)(944501045)(93006095)(93001095)(3002001)(6041268)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123560045)(6072148)(201708071742011);SRVR:DM3PR15MB1081;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DM3PR15MB1081; X-Forefront-PRVS: 05299D545B X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(396003)(376002)(39860400002)(39380400002)(346002)(366004)(189003)(199004)(1076002)(53936002)(478600001)(68736007)(5660300001)(69596002)(50466002)(386003)(6116002)(6506007)(97736004)(48376002)(4326008)(25786009)(39060400002)(7736002)(8936002)(53416004)(52116002)(2351001)(6512007)(51416003)(2906002)(50226002)(2361001)(86362001)(52396003)(54906003)(47776003)(36756003)(305945005)(316002)(6666003)(106356001)(105586002)(8676002)(81166006)(6916009)(6486002)(16586007)(81156014)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM3PR15MB1081;H:castle.thefacebook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DM3PR15MB1081;23:jncRXYSzh5cRAAdq2OYI6ELFQ1cIKVuy8OdMvFX0K?= =?us-ascii?Q?vsweesudTASVCnKrQijKzCB0XYh20R8t7b6tyAqWAO1if1hhZtk7zX156BYm?= =?us-ascii?Q?QoLzG3WZ3wMR0Vg8K4MGe53mIfgetajax10wX4v7330AsBNTHMT0zvDOG5Az?= =?us-ascii?Q?9V532bQngJ6v6QYavn2MJ7L5jzXlZ82P4zrBB9BYKGWj8+ydGr/5QClBuQjb?= =?us-ascii?Q?Ga8Xd9cKXbSV4UICPvovN+cojB5hqljjmSznqOXRMc7+qEVPxNiPA+5sajie?= =?us-ascii?Q?e87tpTUsm/Zw7Q683xE/cTYKqcioY/qTNczkrnDtPPLZ/umxCK2KmkkpASWk?= =?us-ascii?Q?aBS6oVkreODKHDsuFRBz0IZ/KsCUKulzdpreIy8pjJ5MERae/7sseM5UqbP9?= =?us-ascii?Q?lsFvEhBHPhD2Qrs2pdc8SKn1GIVu2FbcXdngmi5VGTELXfRvvc+Eu6030VLZ?= =?us-ascii?Q?Vv7hJFqvvkUN61gk0+l3EDdGd6sDYduH0mOlhBcILaddCUrZ6rYJdNYdFJdF?= =?us-ascii?Q?YPNmVg72ulaS6WFzF5qSEy9XtiFmobITpw0Tz+wnGX92sJvOk/Vz6bwXBdz2?= =?us-ascii?Q?kV7EBFamONT0g68i0yjkyPJtSqpbFR0y0HOdsAaozy+3FIqvOJ0WsBLXOxAD?= =?us-ascii?Q?skWtSbDyrhT15s/wdnvjntnsccpuQT+Pny9pIAx9NXqBqAYHz8jBo6zlkyw2?= =?us-ascii?Q?3fyter3BkLoJHOCwXxZ/F2Bjv2JOFxTFFjvuBzInd/dFPbmLFH/NgMMzMuIi?= =?us-ascii?Q?7l8eyLC1a6mCUrkuqf9qzBjxyuuOKI/D9A+2oP6n1eXZcLltbT4I3y5QsCUp?= =?us-ascii?Q?rclkjf9dgK1O8hh+FUhkCxP2jLMp+tz0xcl/ruZMqPQMdRFuusqhQ9k99hjd?= =?us-ascii?Q?lk8nY4tmVR/tqiGQqnbq+JEIBvabROX2e+6fafdzonLUdeipbZ01mv3n8ecT?= =?us-ascii?Q?wTKNlKUv12XYt3GFYkXUAyN+T1iLrclGQYYk6E9V5/QUhTHMMEC/veSK2LPT?= =?us-ascii?Q?Na8s3qJSWlJKy/PFDUkOlqhJLAxTjBvb/eAB526iLCibHmOtJLR7b3900zaM?= =?us-ascii?Q?lBEwJUL6r7B9zjppfpKeZj7Bg4Nfrqjq78YoKdh+6z34nALCsB6svtNGR6QW?= =?us-ascii?Q?5/cdwytEjE5LT/SNDkV0hVhUJZZumOjp5bYlzvYO78Ze9Mh1K/WUA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;6:/3E8TZgPlqhgYo7FIzwAgZq8FoRmPYc4trDrRvJrnEEVV/DB9IBet38fgQWJb34p9tXLxxvf6kR3mwNAvYA7gt5R+xQ+B4wo7TIl+HHzrGefHK8oC++PvjrVkjztBpYYxn8uTFa/LYWA5LqgaobDusaTEw5fIxFcb4TaNzLSdDCt44sqeksleB8MUfJKJkEpYJ9kDDOyO9MrGIz+hRPuENya1Dh/B99r+JQK/taW6o/4TkCMGHnj9XUnJ7bPHO4ZZifDBKUh9N1OYv5FteEqlzltth/PtvjxcAu0rTRuMaaZsulesamV6IeSo5AXud8uPiRlEIj/f5b1R0oqqoa//0u92P/dngFRyXvSeBcOJyU=;5:zVC4DXs3saWwDid+fnukTK9+/qH5Wr+/eLkCeYWF67MgCQhg6AG/F5ABXFJw2lk9H8bgIb/k3vD5pqVZBMbNbR2FyJxHH5vQ1/x0PhO3BNipjqijyw7+/QmSHCA5wTnsOtM5eDDKUloLbWS5xyXRlgs1aH+3x4GWwVZmC6e9Tz4=;24:Cj517frQ65O4dQw0k49nY6kU11VgDYgzYOwhpneQgw5YAu964p7M40gpbM6UHka+GHoQgxdFhN+rYGryN+MjfDV8mUjbd6lCD/aTKLoeIr0=;7:sAhRoNEQJSW+VPQmDKJ1h44exsd+mFlmiOrjY1yDlWrmFju1l957Zeqxo17xQBTccL3/f1SHMk8ARRQrCgPS0lcQoPQtIMtuSDUr+Zv+tviTGFqrDHaF+cbeCz49mHWcrah77ixhRYp0j+4CApDm3EeYIrU8wnmggOCjmjX73u2SmEO2o4HbAiB11qthyvMX1dWR0fA8NJRhEHZcPwdjxRpe7cJk4ztxqt5dVGjfdqMRD5As9aberGQGOLxkzxcP SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM3PR15MB1081;20:nKy1cHZwYdXARUaRlvhJy4/scQwdzvOM/Lfn23/3V9R02SEJnB+8vM0eKb6f9Sp054F0PYLr9O8Quby+DTdHnaMDuc0cMcj5DVI/x9JHHxQtKDKUWaQFOuZUPY5Fm8ehFJQWlf1BCuM+jT9iurmuDjeC1OOZBsr4+U76qrAkEqk= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2017 16:12:11.0671 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: acef156a-b9bd-444d-2b11-08d54956c27f X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR15MB1081 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2017-12-22_06:,, signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2683 Lines: 91 Bpftool determines it's own version based on the kernel version, which is picked from the linux/version.h header. It's strange to use the version of the installed kernel headers, and makes much more sense to use the version of the actual source tree, where bpftool sources are. Fix this by building kernelversion target and use the resulting string as bpftool version. Example: before: $ bpftool version bpftool v4.14.6 after: $ bpftool version bpftool v4.15.0-rc3 $bpftool version --json {"version":"4.15.0-rc3"} Signed-off-by: Roman Gushchin Cc: Jakub Kicinski Cc: Alexei Starovoitov Cc: Daniel Borkmann --- tools/bpf/bpftool/Makefile | 3 +++ tools/bpf/bpftool/main.c | 13 ++----------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile index 3f17ad317512..f8f31a8d9269 100644 --- a/tools/bpf/bpftool/Makefile +++ b/tools/bpf/bpftool/Makefile @@ -23,6 +23,8 @@ endif LIBBPF = $(BPF_PATH)libbpf.a +BPFTOOL_VERSION=$(shell make --no-print-directory -sC ../../.. kernelversion) + $(LIBBPF): FORCE $(Q)$(MAKE) -C $(BPF_DIR) OUTPUT=$(OUTPUT) $(OUTPUT)libbpf.a FEATURES_DUMP=$(FEATURE_DUMP_EXPORT) @@ -38,6 +40,7 @@ CC = gcc CFLAGS += -O2 CFLAGS += -W -Wall -Wextra -Wno-unused-parameter -Wshadow CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/tools/include/uapi -I$(srctree)/tools/include -I$(srctree)/tools/lib/bpf -I$(srctree)/kernel/bpf/ +CFLAGS += -DBPFTOOL_VERSION='"$(BPFTOOL_VERSION)"' LIBS = -lelf -lbfd -lopcodes $(LIBBPF) INSTALL ?= install diff --git a/tools/bpf/bpftool/main.c b/tools/bpf/bpftool/main.c index ecd53ccf1239..3a0396d87c42 100644 --- a/tools/bpf/bpftool/main.c +++ b/tools/bpf/bpftool/main.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -95,21 +94,13 @@ static int do_help(int argc, char **argv) static int do_version(int argc, char **argv) { - unsigned int version[3]; - - version[0] = LINUX_VERSION_CODE >> 16; - version[1] = LINUX_VERSION_CODE >> 8 & 0xf; - version[2] = LINUX_VERSION_CODE & 0xf; - if (json_output) { jsonw_start_object(json_wtr); jsonw_name(json_wtr, "version"); - jsonw_printf(json_wtr, "\"%u.%u.%u\"", - version[0], version[1], version[2]); + jsonw_printf(json_wtr, "\"%s\"", BPFTOOL_VERSION); jsonw_end_object(json_wtr); } else { - printf("%s v%u.%u.%u\n", bin_name, - version[0], version[1], version[2]); + printf("%s v%s\n", bin_name, BPFTOOL_VERSION); } return 0; } -- 2.14.3