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@xxxxxxxxxx> --- 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox