Re: [PATCH] objtool: Don't use -Werror

From: Josh Poimboeuf
Date: Fri Apr 05 2019 - 08:39:14 EST


On Fri, Apr 05, 2019 at 01:01:50PM +0200, Luis Ressel wrote:
> -Werror can be handy for development, but enabling it for production
> builds is a bad idea -- other compilers might produce unexpected
> warnings, or #included library headers might trigger warnings.
>
> In my case, libelf's (not elfutil's!) headers trigger several -Wundef
> warnings. This wasn't a problem before 056d28d135bc, since gcc doesn't
> emit warnings for system headers, but now that there's a
> -I/usr/include/libelf/ in the gcc command line, those warnings appear
> and break the build.

Hi Luis,

What version of libelf are you using? AFAIK, the non-elfutils version
of libelf is buggy and has been unmaintained for 10 years.

> CC'ing stable@ since 056d28d135bc has also been included in stable
> versions.
>
> Fixes: 056d28d135bc ("objtool: Query pkg-config for libelf location")
> Signed-off-by: Luis Ressel <aranea@xxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
> tools/objtool/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile
> index 53f8be0f4a1f..ad2c11a881db 100644
> --- a/tools/objtool/Makefile
> +++ b/tools/objtool/Makefile
> @@ -34,7 +34,7 @@ INCLUDES := -I$(srctree)/tools/include \
> -I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \
> -I$(srctree)/tools/objtool/arch/$(ARCH)/include
> WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -Wno-packed
> -CFLAGS += -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS)
> +CFLAGS += $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS)
> LDFLAGS += $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS)
>
> # Allow old libelf to be used:
> --
> 2.21.0
>

--
Josh