Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp5957883ybl; Tue, 10 Dec 2019 14:27:29 -0800 (PST) X-Google-Smtp-Source: APXvYqxqzfvieYh8bc49nXmmQa1ZKnmZwe7YDpjW/pxYYSdTjQcXtSMkiqCYlzA3fCWj0J+yLtxt X-Received: by 2002:a05:6808:658:: with SMTP id z24mr284698oih.91.1576016849830; Tue, 10 Dec 2019 14:27:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576016849; cv=none; d=google.com; s=arc-20160816; b=HjnyWk1RHGwL543Bfb1CahDwya5WTKRPP8qExTVoj4mThFbZcq8ho60f42LwVkrWa0 EX9lYn+1ToiWJIGu1HDpvqg30uBKDsj7A2Tpq23fjqEHtk9lZ6t+aBPm0IOBb5FYcT5+ QRXYrcKvPB9v5YtO3pdg1S/ovs4Cky5E4t3mjVEaiRVsV2fgb/fRjAkrsNGD64Txoo6T 5nMB/IAdSq2Lc5lLhJr6udIaZWkC1pv6NzcBLkvh+Ant+F9INbSBQJMBB0kqUEohZIXE 0vu4sh7WnNY3dKBwWiiE/BGXWe1DEYxV28eI3acRmSZnKXTjqcNqykCPEwQVFisGqtsR XAMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=vKIUIAtZTBFzp49qj1GCuDtwPwF5c4oVZxt2cBzaaKU=; b=qfKGGSizrYGyexxL6vcbkVFkzpSH+NFbWwUPcjR9cL0mE4zOi62iu6nGBbMqkl1wPb l59tnLrDCAHLS3NGtL0JHMtdm+OL2vaHFiNZUO2GijIE4oXCXEbAfX3L7V+TUDukwUMw kS5DqpbLFgrjo/gsXaig+V91sTsWLSxFcurNYhafAN/VLbR2xzUyiNr/+QkQCZQGNTxB qdf/AOMxo9/gpd5UWDOFG14pgu4sVhC2lIgyxww8dmlKRiDT9ULhFrpXyC+V1CYp/7bd XG6B2AWqsWT7li5zqC9j8mC3Ht6YQYj1X3GxtQDylqkfeiTJk7e+0ul1a6u3cqOghffK E7ug== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c10si2613860oto.293.2019.12.10.14.27.17; Tue, 10 Dec 2019 14:27:29 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726932AbfLJW0I (ORCPT + 99 others); Tue, 10 Dec 2019 17:26:08 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:45695 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726614AbfLJW0I (ORCPT ); Tue, 10 Dec 2019 17:26:08 -0500 Received: from 1.general.cascardo.us.vpn ([10.172.70.58] helo=calabresa) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1ienx8-0002Vk-Vd; Tue, 10 Dec 2019 22:25:59 +0000 Date: Tue, 10 Dec 2019 19:25:53 -0300 From: Thadeu Lima de Souza Cascardo To: Justin Forbes Cc: Daniel Borkmann , Song Liu , Andrii Nakryiko , Alexei Starovoitov , LKML , "open list:BPF (Safe dynamic programs and tools)" , Yonghong Song , "open list:BPF (Safe dynamic programs and tools)" , linuxppc-dev@lists.ozlabs.org, Martin KaFai Lau , Aurelien Jarno , debian-kernel@lists.debian.org Subject: Re: [PATCH] libbpf: fix readelf output parsing on powerpc with recent binutils Message-ID: <20191210222553.GA4580@calabresa> References: <20191201195728.4161537-1-aurelien@aurel32.net> <87zhgbe0ix.fsf@mpe.ellerman.id.au> <20191202093752.GA1535@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.12.2 (2019-09-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Dec 10, 2019 at 12:58:33PM -0600, Justin Forbes wrote: > On Mon, Dec 2, 2019 at 3:37 AM Daniel Borkmann wrote: > > > > On Mon, Dec 02, 2019 at 04:53:26PM +1100, Michael Ellerman wrote: > > > Aurelien Jarno writes: > > > > 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 checkabi 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 > > > > --- > > > > tools/lib/bpf/Makefile | 4 ++-- > > > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > > > Thanks for fixing that, it's been on my very long list of test failures > > > for a while. > > > > > > Tested-by: Michael Ellerman > > > > Looks good & also continues to work on x86. Applied, thanks! > > This actually seems to break horribly on PPC64le with binutils 2.33.1 > resulting in: > Warning: Num of global symbols in sharedobjs/libbpf-in.o (32) does NOT > match with num of versioned symbols in libbpf.so (184). Please make > sure all LIBBPF_API symbols are versioned in libbpf.map. > > This is the only arch that fails, with x86/arm/aarch64/s390 all > building fine. Reverting this patch allows successful build across > all arches. > > Justin Well, I ended up debugging this same issue and had the same fix as Jarno's when I noticed his fix was already applied. I just installed a system with the latest binutils, 2.33.1, and it still breaks without such fix. Can you tell what is the output of the following command on your system? readelf -s --wide tools/lib/bpf/sharedobjs/libbpf-in.o | cut -d "@" -f1 | sed 's/_v[0-9]_[0-9]_[0-9].*//' | awk '/GLOBAL/ && /DEFAULT/ && !/UND/ {print $0}' Cascardo.