Re: [GIT] kbuild

From: Al Viro
Date: Sun Apr 19 2009 - 22:50:18 EST


On Mon, Apr 20, 2009 at 02:41:58AM +0100, Al Viro wrote:
> On Sun, Apr 19, 2009 at 05:52:32PM -0700, Linus Torvalds wrote:
> >
> >
> > On Mon, 20 Apr 2009, Sam Ravnborg wrote:
> > >
> > > You will soon see a path from me where I fix sh too.
> >
> > Can we do a global 'sed s:asm/asm-offsets.h:generated/asm-offsets.h:g'
> > thing too? And then get rid of the include/asm symlink?
> >
> > That asm-offsets.h mess is scary. I don't quite know why kvm on ia64 seems
> > to do it's own asm-offsets.h file, for example. And arch/blackfin/Makefile
> > mentions arch/$(ARCH)/include/asm/asm-offsets.h (but does it actually do
> > one?).
>
> We'll need to update uml as well (contents of shared/kern_constants.h)

BTW, while we are at it... There's a way to deal with arch/um without
that kind of contortions, provided that we are willing to use -idirafter.

For the current tree the minimal patch would be just this, and after that
we can simply replace all kern_constants.h includes with asm/asm-offsets.h
or generated/asm-offsets.h. And remove kern_constants.h completely once
that is done.

Moreover, once include/generated gets in, we can move user_constants.h
over there and lose the "add -I$(SHARED_HEADERS) to ARCH_INCLUDE for
O=... builds bit" in arch/um/Makefile as well.


diff --git a/arch/um/Makefile b/arch/um/Makefile
index 0728def..dce2d7f 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -47,7 +47,7 @@ KBUILD_AFLAGS += $(ARCH_INCLUDE)

USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -D__KERNEL__,,\
$(patsubst -I%,,$(KBUILD_CFLAGS)))) $(ARCH_INCLUDE) $(MODE_INCLUDE) \
- $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64
+ $(filter -I%,$(CFLAGS)) -D_FILE_OFFSET_BITS=64 -idirafter include

include $(srctree)/$(ARCH_DIR)/Makefile-$(SUBARCH)

@@ -150,6 +150,6 @@ $(SHARED_HEADERS)/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s

$(SHARED_HEADERS)/kern_constants.h:
$(Q)mkdir -p $(dir $@)
- $(Q)echo '#include "../../../../include/asm/asm-offsets.h"' >$@
+ $(Q)echo '#include <asm/asm-offsets.h>' >$@

export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS HEADER_ARCH DEV_NULL_PATH
--
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/