Re: [PATCH v2] ubsan: don't mark __ubsan_handle_builtin_unreachable as noreturn
From: Olof Johansson
Date: Wed Nov 07 2018 - 11:23:55 EST
On Wed, Nov 7, 2018 at 6:45 AM Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx> wrote:
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> gcc-8 complains about the prototype for this function:
>
> lib/ubsan.c:432:1: error: ignoring attribute 'noreturn' in declaration of a built-in function '__ubsan_handle_builtin_unreachable' because it conflicts with attribute 'const' [-Werror=attributes]
>
> This is actually a GCC's bug. In GCC internals
> __ubsan_handle_builtin_unreachable() declared with both 'noreturn' and
> 'const' attributes instead of only 'noreturn':
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84210
>
> Workaround this by removing the noreturn attribute.
>
> [aryabinin: Add information about GCC bug in changelog]
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
Acked-by: Olof Johansson <olof@xxxxxxxxx>
While it's a GCC bug, it's there in official releases now and it makes
warnings noisy so we'd rather silence it.
-Olof