From patchwork Wed Jan 10 15:01:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 135832 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4208043884; Wed, 10 Jan 2024 16:01:13 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C1C0540269; Wed, 10 Jan 2024 16:01:12 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) by mails.dpdk.org (Postfix) with ESMTP id A08C04021E for ; Wed, 10 Jan 2024 16:01:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1704898871; x=1736434871; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=ddjltbPv1aA8O6sHs8EL3FqFWoVZ8x2m5UQEiFz/M64=; b=KpkvZUA/j8x8qUxTWKiHK+uBlWO+MPmrBPTOiSrRMnroxxuBYcAsvhV0 1s0H37r8MUjI5Trqshonzs6uVT9pJ3643ISZjlq+7ZhzwEfPeylk2kDxP /9AGwFjDjbNdJ3ARLVzjZb/ujRjhwgN4Q8Vc3lNKgJT4k3EAO8GSCvI1V B2WT96UlZ0Pvqv2n//XYsE+4jMlLbPUsYsdUqueFCtuLKw2EwZ0KICD0X BAsC1bClWb6vrfxVGLtwncNhaXhBLIhtGJubJe1yyAPAtiAhz5i5PSbrA VwXytjxMiVM1cRQLTt01beITvOoMIrthcVk7sjiplDSIPOcba07hXzFAP Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10948"; a="11886029" X-IronPort-AV: E=Sophos;i="6.04,184,1695711600"; d="scan'208";a="11886029" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jan 2024 07:01:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,184,1695711600"; d="scan'208";a="16674727" Received: from unknown (HELO silpixa00401385.ir.intel.com) ([10.237.214.148]) by fmviesa002.fm.intel.com with ESMTP; 10 Jan 2024 07:01:08 -0800 From: Bruce Richardson To: dev@dpdk.org Cc: Bruce Richardson Subject: [PATCH] build: fix linker warnings about undefined symbols Date: Wed, 10 Jan 2024 15:01:03 +0000 Message-Id: <20240110150103.529080-1-bruce.richardson@intel.com> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 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 The default behaviour of "ld.lld" has changed, so it now prints out warnings about entries in the version.map file which don't exist in the current build. Since we use our version.map file simply to filter out the functions we don't want made public, we include in it all functions across all OS's and builds that we want public if present. This causes these ld warnings to be emitted, e.g. on BSD, which is missing functionality found on Linux. For example: * hpet functions in EAL * regexdev enqueue and dequeue burst * eventdev event_timer functions Easiest solution, without major rework of how we use our version.map files, and without dynamically generating them per-build, is to pass the --undefined-version flag to the linker, to restore the old behaviour. Signed-off-by: Bruce Richardson Acked-by: Tyler Retzlaff --- config/meson.build | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/meson.build b/config/meson.build index 73737921c3..cfc29ba757 100644 --- a/config/meson.build +++ b/config/meson.build @@ -187,6 +187,9 @@ dpdk_conf.set('RTE_ARCH_32', cc.sizeof('void *') == 4) if not is_windows add_project_link_arguments('-Wl,--no-as-needed', language: 'c') + if cc.has_link_argument('-Wl,--undefined-version') + add_project_link_arguments('-Wl,--undefined-version', language: 'c') + endif endif # use pthreads if available for the platform