Re: [patch 2.6.12] Add -Wno-pointer-sign to HOSTCFLAGS

From: Keith Owens
Date: Sun Jun 19 2005 - 05:33:58 EST


On Sun, 19 Jun 2005 11:23:37 +0200 (MEST),
Mikael Pettersson <mikpe@xxxxxxxxx> wrote:
>On Sun, 19 Jun 2005 11:50:03 +1000, Keith Owens wrote:
>>Compiling 2.6.12 with gcc 4.0.0 (FC4) gets lots of warnings for the
>>programs in the scripts directory. Add -Wno-pointer-sign to HOSTCFLAGS
>>to suppress them.
>>
>>Signed-off-by: Keith Owens <kaos@xxxxxxxxxx>
>>
>>Index: 2.6.12/Makefile
>>===================================================================
>>--- 2.6.12.orig/Makefile 2005-06-18 15:21:18.000000000 +1000
>>+++ 2.6.12/Makefile 2005-06-19 11:43:15.876218980 +1000
>>@@ -204,6 +204,8 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"
>> HOSTCC = gcc
>> HOSTCXX = g++
>> HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
>>+# disable pointer signedness warnings in gcc 4.0
>>+HOSTCFLAGS += $(call cc-option,-Wno-pointer-sign,)
>> HOSTCXXFLAGS = -O2
>
>Please don't. Bogus code should be fixed, not hidden.

The entire kernel, except the scripts directory, is already being
compiled with -Wno-pointer-sign, and has done since 2.6.12-rc1. This
patch makes scripts consistent with the rest of the kernel. The
-Wno-pointer-sign option was added to gcc 4 just for this problem.

If you feel that the code is bogus then turn off the option in your own
tree. Be prepared for thousands of lines of warnings.

On Sun, 19 Jun 2005 10:58:33 +0100,
Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:

>cc-option checks to see if the flag is supported by $(CC) which could
>be a completely different compiler from $(HOSTCC). Hence the above
>can incorrectly supply/fail to supply the argument.

Good point. New patch.


Compiling 2.6.12 with gcc 4.0.0 (FC4) gets lots of warnings for the
programs in the scripts directory. Add -Wno-pointer-sign to HOSTCFLAGS
to suppress them. HOSTCFLAGS change from '=' to ':=' to avoid
recursion problems.

Signed-off-by: Keith Owens <kaos@xxxxxxxxxx>

Index: 2.6.12/Makefile
===================================================================
--- 2.6.12.orig/Makefile 2005-06-19 20:28:20.504999656 +1000
+++ 2.6.12/Makefile 2005-06-19 20:30:14.157877993 +1000
@@ -203,7 +203,11 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH"

HOSTCC = gcc
HOSTCXX = g++
-HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+HOSTCFLAGS := -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
+# disable pointer signedness warnings in gcc 4.0
+hostcc-option = $(shell if $(HOSTCC) $(HOSTCFLAGS) $(1) -S -o /dev/null -xc /dev/null \
+ > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
+HOSTCFLAGS += $(call hostcc-option,-Wno-pointer-sign,)
HOSTCXXFLAGS = -O2

# Decide whether to build built-in, modular, or both.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/