Messages in this thread Patch in this message | | | Date | Mon, 9 Oct 2006 12:32:08 -0400 | From | Jeff Dike <> | Subject | Re: [uml-devel] [PATCH 01/14] uml: fix compilation options for USER_OBJS |
| |
On Thu, Oct 05, 2006 at 11:38:36PM +0200, Paolo 'Blaisorblade' Giarrusso wrote: > Again, move inclusion of arch's Makefile after CFLAGS setting - I remember > merging the same patch eons ago in 2.6, so I added a comment. > > I discovered this because debug info weren't enabled for USER_OBJS - they're > compiled with USER_CFLAGS which is calculated from CFLAGS (the whole thing is a > bit of an hack but fixing it is not easy, so we're leaving it as-is).
What's the matter with this:
Index: linux-2.6.18-mm/arch/um/Makefile =================================================================== --- linux-2.6.18-mm.orig/arch/um/Makefile 2006-10-03 17:44:32.000000000 -0400 +++ linux-2.6.18-mm/arch/um/Makefile 2006-10-09 12:29:32.000000000 -0400 @@ -64,9 +64,8 @@ CFLAGS += $(CFLAGS-y) -D__arch_um__ -DSU AFLAGS += $(ARCH_INCLUDE) -USER_CFLAGS := $(patsubst -I%,,$(CFLAGS)) -USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) $(ARCH_INCLUDE) \ - $(MODE_INCLUDE) -D_FILE_OFFSET_BITS=64 +USER_CFLAGS = $(patsubst -D__KERNEL__,,$(patsubst -I%,,$(CFLAGS))) \ + $(ARCH_INCLUDE) $(MODE_INCLUDE) -D_FILE_OFFSET_BITS=64 # -Derrno=kernel_errno - This turns all kernel references to errno into # kernel_errno to separate them from the libc errno. This allows -fno-common The real problem is the use of := which assigns USER_CFLAGS from the current value of CFLAGS, which is incomplete, as you noted.
Moving the include around seems slightly bogus, since its precise location shouldn't matter.
If we switch to plain =, then it will be lazy-evaluated with the full CFLAGS.
And we should check other uses of := to make sure they don't have similar problems.
Jeff - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |