From patchwork Tue Jan 15 22:03:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stanislav Fomichev X-Patchwork-Id: 1025519 X-Patchwork-Delegate: bpf@iogearbox.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="b/nYxFIP"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43fPVY5mfLz9sD4 for ; Wed, 16 Jan 2019 09:03:33 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387592AbfAOWDc (ORCPT ); Tue, 15 Jan 2019 17:03:32 -0500 Received: from mail-pl1-f201.google.com ([209.85.214.201]:45551 "EHLO mail-pl1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729068AbfAOWDb (ORCPT ); Tue, 15 Jan 2019 17:03:31 -0500 Received: by mail-pl1-f201.google.com with SMTP id h10so2489737plk.12 for ; Tue, 15 Jan 2019 14:03:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=7JgUtV6HM4mexCk8FRUYKH2MRzni6DxRfEbhWt5DPS8=; b=b/nYxFIPUxl6ZG4wpOezOh8na9Mw6ubfRP3f36wlcAC63HFAgQtTIaPDVG85zd/h1A ZeWWe64poYvDZU3u8kFCIiV8SzFj54EgfJxCdB49sEmNSiOrtGvRlrA4sDYHXVhn9HpC 5wM1YfEz6rqckFId51OKhHbAS6Kl3/MoYdSkS1ZXITnJDKPEFsWw1dF4NoEM6rzztjB3 k7SXqMBz1zW+3Y0Sh4bO5tBL1s0CzhS9JzIUjFSIt7Ez4OBmVpb0ss2y/J8wxWLc1fE6 pggaaBSnpFO2zcr8uP4xWs4b1ZOJwI74LPe2RIAspXCoCRSTsTG4rkdQom4C90ctQMnJ WE2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=7JgUtV6HM4mexCk8FRUYKH2MRzni6DxRfEbhWt5DPS8=; b=jnaz3HqtWu40Ftra1ude7ge4NuD0E7yFY3OdszukreN3x8uv9CB18BQxr9I2on2rYX F9slIMmFmSi1LFaw8ROlClv8P+lswCTVwX2IoV+CdCelaYlQUVcO9525qZUdVHGshRzZ oqjc4oXYOZyA3vmNdfqza2QYC2/PLWwnlZsgmByqqQPaKtH52L7GLX6IZMTHhft2lM1f 0ju7zGiQRb2hKXrj6A9E6Z3NSjeTnB483xeIyMeBnU2+TGaWkkaZYVPm/CGeZyVp7wtw 7ODPGER1xskdimKKlHANLcfLwNtaXATy11lOE/+qzFzbSgQN/R2EeszAZjfxaKqBU/EH pA1A== X-Gm-Message-State: AJcUukduDoqHLKhCZ1DP7bxw5VphtjFmJDm2wVk344+GrLL8tl3H394d xS9gCTBxBa5KldTAmI3z9Q6tQzKcSot3vJLjb5487KkmLtPHt4WN3NgOLxCqCE4wnYfeGi+gZpM gEaDV+6N5pdia8q20PFbEI/xLZIjfsqrj8IhCl0efSdU7Um3CJPCSzA== X-Google-Smtp-Source: ALg8bN6o22XR4iQlX74oKKlzCIBOlYOc8KCmF8nBEZJrNPdDbNYcoCHmKUZwiCYLfZyo/BhlyV802qw= X-Received: by 2002:a63:780d:: with SMTP id t13mr2196897pgc.39.1547589810561; Tue, 15 Jan 2019 14:03:30 -0800 (PST) Date: Tue, 15 Jan 2019 14:03:27 -0800 In-Reply-To: <20190115135510.0df374a1@cakuba.netronome.com> Message-Id: <20190115220327.171608-1-sdf@google.com> Mime-Version: 1.0 References: <20190115135510.0df374a1@cakuba.netronome.com> X-Mailer: git-send-email 2.20.1.97.g81188d93c3-goog Subject: [PATCH bpf v3] tools/bpf: properly account for libbfd variations From: Stanislav Fomichev To: netdev@vger.kernel.org Cc: davem@davemloft.net, ast@kernel.org, daniel@iogearbox.net, jakub.kicinski@netronome.com, quentin.monnet@netronome.com, Stanislav Fomichev Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On some platforms, in order to link against libbfd, we need to link against liberty and even possibly libz. Account for that in the bpftool Makefile. We now have proper feature detection for each case, so handle each one separately. See recent commit 14541b1e7e72 ("perf build: Don't unconditionally link the libbfd feature test to -liberty and -lz") where I fixed feature detection. v2 (addressed Jakub's nits): * better syntax for 'else ifeq' * no space between ifeq args v3: * use LIBS, not EXTLIBS for -DHAVE_LIBBFD_SUPPORT Fixes: 29a9c10e4110 ("bpftool: make libbfd optional") Signed-off-by: Stanislav Fomichev Acked-by: Jakub Kicinski --- tools/bpf/bpftool/Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/bpf/bpftool/Makefile b/tools/bpf/bpftool/Makefile index 492f0f24e2d3..4ad1f0894d53 100644 --- a/tools/bpf/bpftool/Makefile +++ b/tools/bpf/bpftool/Makefile @@ -93,9 +93,16 @@ BFD_SRCS = jit_disasm.c SRCS = $(filter-out $(BFD_SRCS),$(wildcard *.c)) ifeq ($(feature-libbfd),1) + LIBS += -lbfd -ldl -lopcodes +else ifeq ($(feature-libbfd-liberty),1) + LIBS += -lbfd -ldl -lopcodes -liberty +else ifeq ($(feature-libbfd-liberty-z),1) + LIBS += -lbfd -ldl -lopcodes -liberty -lz +endif + +ifneq ($(filter -lbfd,$(LIBS)),) CFLAGS += -DHAVE_LIBBFD_SUPPORT SRCS += $(BFD_SRCS) -LIBS += -lbfd -lopcodes endif OBJS = $(patsubst %.c,$(OUTPUT)%.o,$(SRCS)) $(OUTPUT)disasm.o