diff mbox

kbuild: llvmlinux: Fix -fno-delete-null-pointer-checks compiler-flag

Message ID 1442286180-11050-1-git-send-email-sedat.dilek@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sedat Dilek Sept. 15, 2015, 3:03 a.m. UTC
CLANG (here: v3.7) does not support '-fno-delete-null-pointer-checks'
as a compiler-flag.

Fix the HOSTCFLAGS and KBUILD_CFLAGS settings accordingly.
Furthermore, move and correct the $HOSTCC check.

Tested against Linux v4.3-rc1 and a refreshed llvmlinux patchset.
---
 Makefile | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Michal Marek Oct. 26, 2015, 8:01 p.m. UTC | #1
Dne 15.9.2015 v 05:03 Sedat Dilek napsal(a):
> CLANG (here: v3.7) does not support '-fno-delete-null-pointer-checks'
> as a compiler-flag.
> 
> Fix the HOSTCFLAGS and KBUILD_CFLAGS settings accordingly.
> Furthermore, move and correct the $HOSTCC check.
> 
> Tested against Linux v4.3-rc1 and a refreshed llvmlinux patchset.
> ---
>  Makefile | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index aaf1d52bc646..4249441e535d 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -300,9 +300,9 @@ HOSTCXX      = g++
>  HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
>  HOSTCXXFLAGS = -O2
>  
> -ifeq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
> -HOSTCFLAGS  += -Wno-unused-value -Wno-unused-parameter \
> -		-Wno-missing-field-initializers -fno-delete-null-pointer-checks
> +HOSTCFLAGS  += -Wno-unused-value -Wno-unused-parameter -Wno-missing-field-initializers

You are enabling the -Wno-* options for gcc with this.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Makefile b/Makefile
index aaf1d52bc646..4249441e535d 100644
--- a/Makefile
+++ b/Makefile
@@ -300,9 +300,9 @@  HOSTCXX      = g++
 HOSTCFLAGS   = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89
 HOSTCXXFLAGS = -O2
 
-ifeq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
-HOSTCFLAGS  += -Wno-unused-value -Wno-unused-parameter \
-		-Wno-missing-field-initializers -fno-delete-null-pointer-checks
+HOSTCFLAGS  += -Wno-unused-value -Wno-unused-parameter -Wno-missing-field-initializers
+ifneq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
+HOSTCFLAGS  += -fno-delete-null-pointer-checks
 endif
 
 # Decide whether to build built-in, modular, or both.
@@ -617,7 +617,9 @@  ARCH_AFLAGS :=
 ARCH_CFLAGS :=
 include arch/$(SRCARCH)/Makefile
 
+ifneq ($(cc-name),clang)
 KBUILD_CFLAGS	+= $(call cc-option,-fno-delete-null-pointer-checks,)
+endif
 
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
 KBUILD_CFLAGS	+= -Os $(call cc-disable-warning,maybe-uninitialized,)