Re: [uml-devel] [PATCH 01/14] uml: fix compilation options for USER_OBJS

From: Paolo Giarrusso
Date: Wed Oct 11 2006 - 07:09:06 EST


Jeff Dike <jdike@xxxxxxxxxxx> ha scritto:

> 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.

Ok, at a first glance this alternative solution is ok. Make sure (run
gdb on an userspace object file and saying list <function>) that it
works and we'll be ok.

> 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.

Maybe, but I hope not... however if CFLAGS is used elsewhere its
occurrences must be looked for and checked.
--
Paolo 'Blaisorblade' Giarrusso

__________________________________________________
Do You Yahoo!?
Poco spazio e tanto spam? Yahoo! Mail ti protegge dallo spam e ti da tanto spazio gratuito per i tuoi file e i messaggi
http://mail.yahoo.it
-
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/