Re: [PATCH] compiler_attributes.h: Support no_sanitize_undefined check with GCC 4

From: Peter Zijlstra
Date: Tue Jun 16 2020 - 09:19:29 EST


On Tue, Jun 16, 2020 at 01:15:29AM +0200, Marco Elver wrote:
> UBSAN is supported since GCC 4.9, which unfortunately did not yet have
> __has_attribute(). To work around, the __GCC4_has_attribute workaround
> requires defining which compiler version supports the given attribute.
>
> In the case of no_sanitize_undefined, it is the first version that
> supports UBSAN, which is GCC 4.9.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
> ---
>
> Doing a 'make W=1' with GCC 4.9 and the provided config fixes the build
> robot's report.
>
> Peter: Feel free to either squash this patch into the one adding
> __no_sanitize_undefined or apply on top.

Yeah, argh! So I only saw this thread now, even though I'd already
pushed out x86/entry to tip last night due to getting:

301805 N + Jun 16 kernel test rob (5.8K) [peterz-queue:x86/entry] BUILD SUCCESS 8e8bb06d199a5aa7a534aa3b3fc0abbbc11ca438

Why that thing is claiming SUCCESS when it introduces a build error I
don't know.

Anyway, let me go push this thing on top.