[PATCH 1/5] Only pass -P to cpp when generating ld scripts

Loïc Minier loic.minier at linaro.org
Thu Oct 13 18:06:37 EDT 2011


When building sandbox with ccache, one would hit warnings such as:
    warning: 'struct mmsghdr' declared inside parameter list
on random files; a way to reproduce this issue is to build a simple
file doing just:
    #include <sys/socket.h>

    int main(void) {
        return 0;
    }

    gcc -Wall -P -c -o foo foo.c

But actually the -P flag is only useful when generating non-C files,
such as linker scripts in the case of barebox.  Removing the -P flag
from all the gcc invocations, except when generating .lds files makes
the warning go away.  It turns out that this is what
linux/scripts/Makefile.build also does nowadays.

Signed-off-by: Loïc Minier <loic.minier at linaro.org>
---
 Makefile                 |    2 +-
 arch/arm/Makefile        |    2 +-
 arch/blackfin/Makefile   |    2 +-
 arch/ppc/Makefile        |    2 +-
 arch/sandbox/Makefile    |    1 -
 arch/sandbox/os/Makefile |    1 -
 arch/x86/Makefile        |    2 +-
 scripts/Makefile.build   |    2 +-
 8 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index 5414e63..10d5780 100644
--- a/Makefile
+++ b/Makefile
@@ -825,7 +825,7 @@ prepare prepare-all: prepare0
 # Leave this as default for preprocessing barebox.lds.S, which is now
 # done in arch/$(ARCH)/kernel/Makefile
 
-export CPPFLAGS_barebox.lds += -P -C -U$(ARCH)
+export CPPFLAGS_barebox.lds += -C -U$(ARCH)
 
 # FIXME: The asm symlink changes when $(ARCH) changes. That's
 # hard to detect, but I suppose "make mrproper" is a good idea
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index d25412d..0c42f3d 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -121,7 +121,7 @@ endif
 
 TEXT_BASE = $(CONFIG_TEXT_BASE)
 
-CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) -P
+CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
 
 ifndef CONFIG_MODULES
 # Add cleanup flags
diff --git a/arch/blackfin/Makefile b/arch/blackfin/Makefile
index 902268d..a0b87f7 100644
--- a/arch/blackfin/Makefile
+++ b/arch/blackfin/Makefile
@@ -7,7 +7,7 @@ cpu-$(CONFIG_BF561)		:= bf561
 
 TEXT_BASE = $(CONFIG_TEXT_BASE)
 
-CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) -P
+CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
 CFLAGS += -D__blackfin__
 # -Ttext $(TEXT_BASE)
 KALLSYMS         += --symbol-prefix=_
diff --git a/arch/ppc/Makefile b/arch/ppc/Makefile
index 46d64e5..c7bf863 100644
--- a/arch/ppc/Makefile
+++ b/arch/ppc/Makefile
@@ -14,7 +14,7 @@ cpu-$(CONFIG_ARCH_MPC5200)			:= mpc5xxx
 
 TEXT_BASE = $(CONFIG_TEXT_BASE)
 
-CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE) -P
+CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
 
 # Add cleanup flags
 ifndef CONFIG_MODULES
diff --git a/arch/sandbox/Makefile b/arch/sandbox/Makefile
index 4ca17ed..73c06db 100644
--- a/arch/sandbox/Makefile
+++ b/arch/sandbox/Makefile
@@ -10,7 +10,6 @@ lds-y   := $(BOARD)/barebox.lds
 
 TEXT_BASE = $(CONFIG_TEXT_BASE)
 
-CPPFLAGS += -P
 CFLAGS += -Dmalloc=barebox_malloc \
 		-Dfree=barebox_free -Drealloc=barebox_realloc \
 		-Dread=barebox_read -Dwrite=barebox_write \
diff --git a/arch/sandbox/os/Makefile b/arch/sandbox/os/Makefile
index 2980301..dc211d9 100644
--- a/arch/sandbox/os/Makefile
+++ b/arch/sandbox/os/Makefile
@@ -8,7 +8,6 @@ else
 CPPFLAGS = $(patsubst %,-I$(srctree)/%include,$(machdirs))
 endif
 
-CPPFLAGS += -P
 CFLAGS := -Wall
 NOSTDINC_FLAGS :=
 
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 3b034c0..db4180b 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -5,7 +5,7 @@ machine-y := i386
 
 TEXT_BASE = $(CONFIG_TEXT_BASE)
 
-CPPFLAGS += -march=i386 -m32 -DTEXT_BASE=$(TEXT_BASE) -P
+CPPFLAGS += -march=i386 -m32 -DTEXT_BASE=$(TEXT_BASE)
 LDFLAGS += -m elf_i386
 
 ifndef CONFIG_MODULES
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index c2bab5c..f70e2b9 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -244,7 +244,7 @@ targets += $(extra-y) $(MAKECMDGOALS) $(always)
 # Linker scripts preprocessor (.lds.S -> .lds)
 # ---------------------------------------------------------------------------
 quiet_cmd_cpp_lds_S = LDS     $@
-      cmd_cpp_lds_S = $(CPP) $(cpp_flags) -D__ASSEMBLY__ -o $@ $<
+      cmd_cpp_lds_S = $(CPP) $(cpp_flags) -P -D__ASSEMBLY__ -o $@ $<
 
 %.lds: %.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
-- 
1.7.5.4




More information about the barebox mailing list