From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2EF65A0543; Wed, 12 Oct 2022 18:16:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2463E4280B; Wed, 12 Oct 2022 18:16:59 +0200 (CEST) Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com [64.147.123.21]) by mails.dpdk.org (Postfix) with ESMTP id 4DD6740041 for ; Wed, 12 Oct 2022 18:16:58 +0200 (CEST) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailout.west.internal (Postfix) with ESMTP id 084E53200933; Wed, 12 Oct 2022 12:16:54 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute2.internal (MEProxy); Wed, 12 Oct 2022 12:16:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1665591414; x= 1665677814; bh=UDGfWsSyjC+iCIpDp+rVi2mFtvO3e3aWVNqJCU7rV0w=; b=d ar/i8fFfAeWC0WwNsZXJ+1Ax2ZGPketFAN9CY/sA3cgTSGjgSZ6q75dN7x5BsoQ2 Ldi8zBhgC/7yXLIOdQnSkWZgksNFoqwDbkrrgyzo4XJEfPsGqWCQrDW6aHY7ZMjq 5zTAq24FpF0I47Vbs7fhbN4Dmt/gIvYniDjQgiEMUR+jO8Ok6WGozIR1LAPltiAS ftzNc/ObJWErO9IKqyYyZB3f2k6mVeUJuOloU1QRmfe24tqQ5O8KoXJ5Ma1E3cUu 1Lz7CoiSO8fzVdHUzWkQcMnnfq7nWT52bmzIANBc4rzc4BD7GWJld4eb04Wk8v9Y h9pqQr+zUfGFkJUbjJhaQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1665591414; x= 1665677814; bh=UDGfWsSyjC+iCIpDp+rVi2mFtvO3e3aWVNqJCU7rV0w=; b=o Ybh9W26IsvFEXkrOUXA9ktPuKz7sOXEKyS4/8J4bUJrO7ECBzOHP03OhQIThEOwW q7QzkxQTR1ExtMo0TDmN7xCoUmBjFWdvCytAF+S0NDHSry/Jp6DtiArE7LYd67pw oVg7bV4Xy/EzHGakXCd7nCz7or+TeodXtC0DfXm4c20mArRxDRtWe9MS5LLhynQO g4AnzgvJfbtxajkEQPH2SPyM3OS96h38NfMDjY0nfw++k2jQxM2Xy5xG7N8lYxT2 3hGjvcdGKs9tyE0B+t1FKVFLXqZVzC40AscwGzJRZM8JRpqLUhofE8NE4NKFdnf2 rN0fUJFdOzEJZL47cicEQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeejkedguddttdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvfevufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhho mhgrshcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqne cuggftrfgrthhtvghrnhepkeehieefudetuedvveeuheefteetteegfeekudffieekgfeh gedtfeelfffhkeeunecuffhomhgrihhnpegsuhhshigsohigrdhnvghtnecuvehluhhsth gvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhn jhgrlhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 12 Oct 2022 12:16:53 -0400 (EDT) From: Thomas Monjalon To: Olivier Matz Cc: Robin Jarry , dev@dpdk.org, Ferruh Yigit , Bruce Richardson Subject: Re: [PATCH v7] usertools: rewrite pmdinfo Date: Wed, 12 Oct 2022 18:16:52 +0200 Message-ID: <25917113.6Emhk5qWAg@thomas> In-Reply-To: References: <20220913105811.84384-1-robin@jarry.cc> <2415152.uoxibFcf9D@thomas> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 12/10/2022 17:16, Olivier Matz: > On Tue, Oct 11, 2022 at 12:44:56AM +0200, Thomas Monjalon wrote: > As discussed off-list with Robin, it appears that "ldd" is not available > on buildroot-based images. See: > http://lists.busybox.net/pipermail/buildroot/2013-July/074927.html > > The link is quite old but it seems it's still true today if we don't > build the toolchain. > > Robin suggested this patch: > > --- a/usertools/dpdk-pmdinfo.py > +++ b/usertools/dpdk-pmdinfo.py > @@ -290,8 +290,10 @@ def get_needed_libs(path: Path) -> Iterator[Path]: > """ > Extract the dynamic library dependencies from an ELF executable. > """ > + env = os.environ.copy() > + env["LD_TRACE_LOADED_OBJECTS"] = "1" > with subprocess.Popen( > - ["ldd", str(path)], stdout=subprocess.PIPE, stderr=subprocess.PIPE > + [str(path)], stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env > ) as proc: > out, err = proc.communicate() > if proc.returncode != 0: > > One subtle difference is that the patched version won't work on > non-executable files, but I don't think it can happen in real-life. > > An alternative for us is to provide a simple "ldd" shell script in our > buildroot-based images. > > I don't have a strong opinion, I'll tend to say that the patch is a > better option. Any comment? What about implementing both? If ldd is available, use it, otherwise use LD_TRACE_LOADED_OBJECTS variable.