Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1759009ybz; Sat, 18 Apr 2020 07:54:57 -0700 (PDT) X-Google-Smtp-Source: APiQypL0DrCKovm9emXL9YoeF7R1s2ZdZPHrJFVLuyL1y6Lxk1MkNDqFYuLnfncHOtUKmXvB2kse X-Received: by 2002:a05:6402:7d6:: with SMTP id u22mr7321642edy.149.1587221697159; Sat, 18 Apr 2020 07:54:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587221697; cv=none; d=google.com; s=arc-20160816; b=UDyAeb5V6OmImxq1lxPYbWK6n8Y4fOGcPwpUFal0l4ohMVpsO82bBRlGnmQo5OvQPc 4k4tmOUQXJ5fqZ/pmD8g1+KB2Oe/1wc+aPjPrTsOnuKbcFpCUFkn4MjVaNF3yD+75VI+ u0dYEe2BdASeULIoDIncKoFdI5SdKXWWyKvzur3ZoJlpn0bCZ7EyHz1PwEEjGODSCIte PD68i+cepW9ze8LYtffzQRSqpQy1uJjIrIgaBtme4PkNuh8sIG/TA6EtwVveYW6j/Fqh gTGS42/kLHDTX1mes6WH7OiXZNvr8TjxRrBYM0Ynar/RTwnsunedl8blZdEDbeTrCYQa Uf5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Wm0bAC2uAiAQTvvAcN85UObOd2FfUscP0Z78asfnxpA=; b=J/KuMetbWRkgVtHU3Sm3nSgQYK0T+7ECrgpQa7ThxAQ5ENDm49oijz0liVU+k/jfJX woTiux7KeoVxV0SiO7/Stg0B4Kc3JDxIlv2do+Gu5iT9tfLwfbKyYZLPqQjSEz3vKWpb 5VrTyr8khh/WoVDxd0DMWtTVXszuFsdRaSDnaHQUCHiC8mRhTm8mJcZbPDxk4QgZke8M M8Z+0a/JKJ6vnNDTPp5D6uMhl8LSuPegiG7jZePL+PXgcSXoGes6/OGPeISwf+3f6zO8 /AW8glp1V3MeCFPlRwDh+yC/cr3ZDGhuOAY7k/8gCckuDDkcE/rRvSuzPX7yOZvDVPrb g3oA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vusfOXdm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o5si16534832ejj.514.2020.04.18.07.54.35; Sat, 18 Apr 2020 07:54:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vusfOXdm; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726544AbgDROmO (ORCPT + 99 others); Sat, 18 Apr 2020 10:42:14 -0400 Received: from mail.kernel.org ([198.145.29.99]:52006 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728260AbgDROmK (ORCPT ); Sat, 18 Apr 2020 10:42:10 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AA30A21974; Sat, 18 Apr 2020 14:42:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587220929; bh=vfAHXFAy/Y/q0wkxF7wa7tNLX+mcFSUdnGqu55sY0aU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vusfOXdmo9YnisglNF7OfSpv+Ug3A9R0ZOI8kq6n1UGRNf4U2oPj1YMRyvaUe9nld F+czt9aSwtYTl8Y7K24zJKkciNBZ13xwunljfXC4aBYZqSNWAGOvZa8bv50pwirg03 TroWXH6A/UVTQ/OPEx/EfZ4VMTBZtIqtbKBKz+Vc= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Aurelien Jarno , Daniel Borkmann , Michael Ellerman , Sasha Levin , netdev@vger.kernel.org, bpf@vger.kernel.org Subject: [PATCH AUTOSEL 5.4 66/78] libbpf: Fix readelf output parsing on powerpc with recent binutils Date: Sat, 18 Apr 2020 10:40:35 -0400 Message-Id: <20200418144047.9013-66-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200418144047.9013-1-sashal@kernel.org> References: <20200418144047.9013-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Aurelien Jarno [ Upstream commit 3464afdf11f9a1e031e7858a05351ceca1792fea ] On powerpc with recent versions of binutils, readelf outputs an extra field when dumping the symbols of an object file. For example: 35: 0000000000000838 96 FUNC LOCAL DEFAULT [: 8] 1 btf_is_struct The extra "[: 8]" prevents the GLOBAL_SYM_COUNT variable to be computed correctly and causes the check_abi target to fail. Fix that by looking for the symbol name in the last field instead of the 8th one. This way it should also cope with future extra fields. Signed-off-by: Aurelien Jarno Signed-off-by: Daniel Borkmann Tested-by: Michael Ellerman Link: https://lore.kernel.org/bpf/20191201195728.4161537-1-aurelien@aurel32.net Signed-off-by: Sasha Levin --- tools/lib/bpf/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile index 33e2638ef7f0d..122321d549227 100644 --- a/tools/lib/bpf/Makefile +++ b/tools/lib/bpf/Makefile @@ -145,7 +145,7 @@ PC_FILE := $(addprefix $(OUTPUT),$(PC_FILE)) GLOBAL_SYM_COUNT = $(shell readelf -s --wide $(BPF_IN_SHARED) | \ cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | \ - awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$8}' | \ + awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}' | \ sort -u | wc -l) VERSIONED_SYM_COUNT = $(shell readelf -s --wide $(OUTPUT)libbpf.so | \ grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | sort -u | wc -l) @@ -217,7 +217,7 @@ check_abi: $(OUTPUT)libbpf.so "versioned in $(VERSION_SCRIPT)." >&2; \ readelf -s --wide $(BPF_IN_SHARED) | \ cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | \ - awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$8}'| \ + awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $$NF}'| \ sort -u > $(OUTPUT)libbpf_global_syms.tmp; \ readelf -s --wide $(OUTPUT)libbpf.so | \ grep -Eo '[^ ]+@LIBBPF_' | cut -d@ -f1 | \ -- 2.20.1