Re: [dpdk-dev] [PATCH] Enable AddressSanitizer feature on DPDK
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2021-09-13 15:06:06
On Mon, 13 Sep 2021 05:27:12 +0000 "Peng, ZhihongX" [off-list ref] wrote:
quoted
-----Original Message----- From: Stephen Hemminger <stephen@networkplumber.org> Sent: Friday, September 10, 2021 10:48 AM To: Peng, ZhihongX <redacted> Cc: Burakov, Anatoly <redacted>; Ananyev, Konstantin [off-list ref]; dev@dpdk.org; Lin, Xueqin [off-list ref] Subject: Re: [PATCH] Enable AddressSanitizer feature on DPDK On Fri, 10 Sep 2021 02:01:47 +0000 zhihongx.peng@intel.com wrote:quoted
+if get_option('b_sanitize').startswith('address') + cflags += '-DRTE_MALLOC_ASAN' +endif +This looks great, but can we make it just do-the-right-thing and get rid of the nerd knobs (i.e no meson configure). The address sanitizer already has a way to detect if enabled. GCC uses: __SANITIZE_ADDRESS__ Clang uses: #if defined(__has_feature) # if __has_feature(address_sanitizer)Tried this method you said. It can run successfully. Because gcc and clang have different Methods for determining whether to turn on the asan function, so if you judge the two methods in the code, it feels not simple to judge in meson.
There is already compiler specific #ifdef's why not do this contained in one header file? The point is DPDK is trying to get away from having configuration settings if at all possible. Configuration creates dependency nightmares and also leaves many code paths as never tested.