From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1F72C0650E for ; Mon, 1 Jul 2019 14:15:36 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 5D02921721 for ; Mon, 1 Jul 2019 14:15:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D02921721 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9487B1B9C6; Mon, 1 Jul 2019 16:15:35 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id CAE4E1B9C1 for ; Mon, 1 Jul 2019 16:15:33 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Jul 2019 07:15:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.63,439,1557212400"; d="scan'208";a="154094685" Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.30]) ([10.237.221.30]) by orsmga007.jf.intel.com with ESMTP; 01 Jul 2019 07:15:31 -0700 To: Thomas Monjalon , David Marchand Cc: dev@dpdk.org, nhorman@tuxdriver.com, adrien.mazarguil@6wind.com, stephen@networkplumber.org, Bruce Richardson References: <1561635235-22238-1-git-send-email-david.marchand@redhat.com> <1561809533-6545-1-git-send-email-david.marchand@redhat.com> <2123522.W70hLPZofc@xps> From: Ferruh Yigit Openpgp: preference=signencrypt Autocrypt: addr=ferruh.yigit@intel.com; prefer-encrypt=mutual; keydata= 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 VQ== Message-ID: <47b0afe9-96ba-eafd-cf37-08c69742b15e@intel.com> Date: Mon, 1 Jul 2019 15:15:30 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <2123522.W70hLPZofc@xps> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v2 00/10] experimental tags fixes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 6/29/2019 6:06 PM, Thomas Monjalon wrote: > 29/06/2019 13:58, David Marchand: >> Following the build error reported by Aaron [1], I noticed that some >> experimental functions could go unnoticed because of a gcc peculiarity. >> >> To catch those, I went and added a new check on the object files to >> ensure that any experimental api flagged in the map files is really >> exported as such. >> >> Then went with my previous idea of only adding the tags on the functions >> prototypes and enforcing it (a new check in checkpatches.sh). >> And finally enforcing that the __rte_experimental tag is always the first >> part of a function prototype which seems to work with both gcc and clang. > > Applied, thanks > Getting an odd build error with "i686-native-linuxapp-icc" [1]. Beware of the "." at the end: "rte_flow_conv." Objdump shows two symbols with one "." at the end and one without it [2]. And this seems not the problem of only experimental APIs [3]. But this is only happening with "i686-native-linuxapp-icc". Do you have any idea what is going on here? [1] Building i686-native-linuxapp-icc ... rte_flow_conv. is flagged as experimental but is not listed in version map Please add rte_flow_conv. to the version map rte_eth_dev_is_removed. is flagged as experimental but is not listed in version map Please add rte_eth_dev_is_removed. to the version map [2] $ objdump -x -j '.text.experimental' ./build/build/lib/librte_ethdev/rte_ethdev.o ./build/build/lib/librte_ethdev/rte_ethdev.o: file format elf32-i386 ./build/build/lib/librte_ethdev/rte_ethdev.o architecture: i386, flags 0x00000011: HAS_RELOC, HAS_SYMS start address 0x00000000 Sections: Idx Name Size VMA LMA File off Algn 4 .text.experimental 00001b70 00000000 00000000 0000e17d 2**4 CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE SYMBOL TABLE: 00000000 l d .text.experimental 00000000 .text.experimental 00000000 g F .text.experimental 00000090 rte_eth_find_next_of 00000090 g F .text.experimental 000000d0 rte_eth_find_next_sibling 00000160 g F .text.experimental 00000110 rte_eth_dev_owner_new 00000270 g F .text.experimental 00000240 rte_eth_dev_owner_set 000004b0 g F .text.experimental 000002c0 rte_eth_dev_owner_unset 00000770 g F .text.experimental 000001b0 rte_eth_dev_owner_delete 00000920 g F .text.experimental 00000190 rte_eth_dev_owner_get 00000ab0 g F .text.experimental 000000e0 rte_eth_dev_rx_intr_ctl_q_get_fd 00000b90 g F .text.experimental 000007d0 rte_eth_dev_create 00001360 g F .text.experimental 000003a0 rte_eth_dev_destroy 00001700 g F .text.experimental 000000e0 rte_eth_read_clock 000017e0 g F .text.experimental 00000070 rte_eth_dev_get_module_info 00001850 g F .text.experimental 00000070 rte_eth_dev_get_module_eeprom 000018c0 g F .text.experimental 00000040 rte_eth_switch_domain_alloc 00001900 g F .text.experimental 00000040 rte_eth_switch_domain_free 00001940 g F .text.experimental 000001a0 rte_eth_devargs_parse 00001ae0 g F .text.experimental 00000005 rte_eth_dev_is_removed 00001ae5 g F .text.experimental 0000008b rte_eth_dev_is_removed. [3] objdump -x ./build/build/lib/librte_ethdev/rte_ethdev.o | grep '\.$' 00002075 g F .text 0000006b rte_eth_promiscuous_enable. 000020e5 g F .text 0000005b rte_eth_promiscuous_get. 00002145 g F .text 0000006b rte_eth_promiscuous_disable. 000021b5 g F .text 0000006b rte_eth_allmulticast_enable. 00002225 g F .text 0000005b rte_eth_allmulticast_get. 00002285 g F .text 0000006b rte_eth_allmulticast_disable. 0000458d g F .text 00000bc3 rte_eth_xstats_get_names_by_id. 00008109 g F .text 00000147 rte_eth_dev_info_get. 00001ae5 g F .text.experimental 0000008b rte_eth_dev_is_removed. 000043cf R_386_PC32 rte_eth_xstats_get_names_by_id. 00004406 R_386_PC32 rte_eth_xstats_get_names_by_id.