From: Arnaud Lacombe <lacombar@gmail.com> To: linux-kbuild@vger.kernel.org, Nicolas Pitre <nico@fluxnic.net> Cc: Arnaud Lacombe <lacombar@gmail.com>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: Re: [RFC] Kbuild: allow code re-use across different directories Date: Mon, 29 Aug 2011 20:31:15 -0400 [thread overview] Message-ID: <CACqU3MVrSV-Qp7mC4iN_viMHz=2-cGPaqNY04eokYkVoE_pSuw@mail.gmail.com> (raw) In-Reply-To: <1313800642-32418-1-git-send-email-lacombar@gmail.com> Hi, On Fri, Aug 19, 2011 at 8:37 PM, Arnaud Lacombe <lacombar@gmail.com> wrote: > Hi folks, > > The attached patch modify Kbuild to allow to directly re-use code in multiple > directory without having to go through a copy. Technically, it changes Kbuild to > use by default the VPATH feature of GNU make and provides accessors for Makefile > to change it indirectly. > > Considering: > > arch/foo/lib: > fancy.c > > We want to be able to build it with -DPANTS=32 in the kernel, but the > bootloader requires -DPANTS_SIZE=30. > > Currently we would do, either: > > arch/foo/lib/Makefile > LDFLAGS_fancy.o := -DPANTS=32 > obj-y += fancy.o > > and, either: > > arch/foo/boot/Makefile: > LDFLAGS_fancy.o := -DPANTS=30 > obj-y += fancy.o > $(obj)/fancy.c: $(srctree)/arch/foo/lib/fancy.c > $(call cmd,shipped) > > or > > arch/foo/boot/Makefile: > LDFLAGS_fancy.o := -DPANTS=30 > obj-y += fancy.o > $(obj)/fancy.o: $(srctree)/arch/foo/lib/fancy.c > $(call cmd,cc_c_o) > > The former implies an extra copy of the source file, the latter expose Kbuild > internal function. > > With the attached patch, we would do: > > arch/foo/boot/Makefile: > LDFLAGS_fancy.o := -DPANTS=30 > obj-y += fancy.o > vpath-y += $(srctree)/arch/foo/lib > > and let GNU make do the job. > Nicolas, I guess you were the one who was interested for a generic way to do such code re-use, did you had any chance to test the quoted patch ? Thanks, - Arnaud > Comments welcome, > - Arnaud > > Cc: linux-kernel@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > > --- > Makefile | 5 +++-- > scripts/Makefile.build | 24 +++++++++++++++--------- > scripts/Makefile.lib | 17 ++++++++++++----- > 3 files changed, 30 insertions(+), 16 deletions(-) > > diff --git a/Makefile b/Makefile > index b4ca4e1..db7f7f5 100644 > --- a/Makefile > +++ b/Makefile > @@ -154,9 +154,10 @@ objtree := $(CURDIR) > src := $(srctree) > obj := $(objtree) > > -VPATH := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD)) > +KBUILD_VPATH := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD)) > +VPATH := $(KBUILD_VPATH) > > -export srctree objtree VPATH > +export srctree objtree KBUILD_VPATH > > > # SUBARCH tells the usermode build what the underlying arch is. That is set > diff --git a/scripts/Makefile.build b/scripts/Makefile.build > index a0fd502..ac539d7 100644 > --- a/scripts/Makefile.build > +++ b/scripts/Makefile.build > @@ -18,6 +18,8 @@ always := > targets := > subdir-y := > subdir-m := > +vpath-y := > +vpath-m := > EXTRA_AFLAGS := > EXTRA_CFLAGS := > EXTRA_CPPFLAGS := > @@ -37,6 +39,7 @@ include scripts/Kbuild.include > > # For backward compatibility check that these variables do not change > save-cflags := $(CFLAGS) > +save-vpath := $(VPATH) > > # The filename Kbuild has precedence over Makefile > kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) > @@ -48,6 +51,9 @@ ifeq ($(KBUILD_NOPEDANTIC),) > ifneq ("$(save-cflags)","$(CFLAGS)") > $(error CFLAGS was changed in "$(kbuild-file)". Fix it to use EXTRA_CFLAGS) > endif > + ifneq ("$(save-vpath)","$(VPATH)") > + $(error VPATH was changed in "$(kbuild-file)". Please uses vpath-y) > + endif > endif > > # > @@ -198,13 +204,13 @@ $(multi-objs-y:.o=.lst) : modname = $(modname-multi) > quiet_cmd_cc_s_c = CC $(quiet_modtag) $@ > cmd_cc_s_c = $(CC) $(c_flags) -fverbose-asm -S -o $@ $< > > -$(obj)/%.s: $(src)/%.c FORCE > +$(obj)/%.s: %.c FORCE > $(call if_changed_dep,cc_s_c) > > quiet_cmd_cc_i_c = CPP $(quiet_modtag) $@ > cmd_cc_i_c = $(CPP) $(c_flags) -o $@ $< > > -$(obj)/%.i: $(src)/%.c FORCE > +$(obj)/%.i: %.c FORCE > $(call if_changed_dep,cc_i_c) > > cmd_gensymtypes = \ > @@ -219,7 +225,7 @@ cmd_cc_symtypes_c = \ > $(call cmd_gensymtypes,true,$@) >/dev/null; \ > test -s $@ || rm -f $@ > > -$(obj)/%.symtypes : $(src)/%.c FORCE > +$(obj)/%.symtypes : %.c FORCE > $(call cmd,cc_symtypes_c) > > # C (.c) files > @@ -301,13 +307,13 @@ define rule_cc_o_c > endef > > # Built-in and composite module parts > -$(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE > +$(obj)/%.o: %.c $(recordmcount_source) FORCE > $(call cmd,force_checksrc) > $(call if_changed_rule,cc_o_c) > > # Single-part modules are special since we need to mark them in $(MODVERDIR) > > -$(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE > +$(single-used-m): %.o: %.c $(recordmcount_source) FORCE > $(call cmd,force_checksrc) > $(call if_changed_rule,cc_o_c) > @{ echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod) > @@ -317,7 +323,7 @@ quiet_cmd_cc_lst_c = MKLST $@ > $(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \ > System.map $(OBJDUMP) > $@ > > -$(obj)/%.lst: $(src)/%.c FORCE > +$(obj)/%.lst: %.c FORCE > $(call if_changed_dep,cc_lst_c) > > # Compile assembler sources (.S) > @@ -331,13 +337,13 @@ $(real-objs-m:.o=.s): modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE) > quiet_cmd_as_s_S = CPP $(quiet_modtag) $@ > cmd_as_s_S = $(CPP) $(a_flags) -o $@ $< > > -$(obj)/%.s: $(src)/%.S FORCE > +$(obj)/%.s: %.S FORCE > $(call if_changed_dep,as_s_S) > > quiet_cmd_as_o_S = AS $(quiet_modtag) $@ > cmd_as_o_S = $(CC) $(a_flags) -c -o $@ $< > > -$(obj)/%.o: $(src)/%.S FORCE > +$(obj)/%.o: %.S FORCE > $(call if_changed_dep,as_o_S) > > targets += $(real-objs-y) $(real-objs-m) $(lib-y) > @@ -349,7 +355,7 @@ quiet_cmd_cpp_lds_S = LDS $@ > cmd_cpp_lds_S = $(CPP) $(cpp_flags) -P -C -U$(ARCH) \ > -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $< > > -$(obj)/%.lds: $(src)/%.lds.S FORCE > +$(obj)/%.lds: %.lds.S FORCE > $(call if_changed_dep,cpp_lds_S) > > # Build the compiled-in targets > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index aeea84a..b57b621 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -46,6 +46,13 @@ obj-m := $(filter-out %/, $(obj-m)) > > subdir-ym := $(sort $(subdir-y) $(subdir-m)) > > +# > +vpath-ym := $(vpath-y) $(vpath-m) > +VPATH := $(KBUILD_VPATH) > +VPATH += $(srctree)/$(src) > +VPATH += $(obj) > +VPATH += $(vpath-ym) > + > # if $(foo-objs) exists, foo.o is a composite object > multi-used-y := $(sort $(foreach m,$(obj-y), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))), $(m)))) > multi-used-m := $(sort $(foreach m,$(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))), $(m)))) > @@ -167,7 +174,7 @@ ifdef REGENERATE_PARSERS > quiet_cmd_gperf = GPERF $@ > cmd_gperf = gperf -t --output-file $@ -a -C -E -g -k 1,3,$$ -p -t $< > > -$(src)/%.hash.c_shipped: $(src)/%.gperf > +$(src)/%.hash.c_shipped: %.gperf > $(call cmd,gperf) > > # LEX > @@ -177,7 +184,7 @@ LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy) > quiet_cmd_flex = LEX $@ > cmd_flex = flex -o$@ -L -P $(LEX_PREFIX) $< > > -$(src)/%.lex.c_shipped: $(src)/%.l > +$(src)/%.lex.c_shipped: %.l > $(call cmd,flex) > > # YACC > @@ -187,13 +194,13 @@ YACC_PREFIX = $(if $(YACC_PREFIX_${baseprereq}),$(YACC_PREFIX_${baseprereq}),yy) > quiet_cmd_bison = YACC $@ > cmd_bison = bison -o$@ -t -l -p $(YACC_PREFIX) $< > > -$(src)/%.tab.c_shipped: $(src)/%.y > +$(src)/%.tab.c_shipped: %.y > $(call cmd,bison) > > quiet_cmd_bison_h = YACC $@ > cmd_bison_h = bison -o/dev/null --defines=$@ -t -l -p $(YACC_PREFIX) $< > > -$(src)/%.tab.h_shipped: $(src)/%.y > +$(src)/%.tab.h_shipped: %.y > $(call cmd,bison_h) > > endif > @@ -204,7 +211,7 @@ endif > quiet_cmd_shipped = SHIPPED $@ > cmd_shipped = cat $< > $@ > > -$(obj)/%: $(src)/%_shipped > +$(obj)/%: %_shipped > $(call cmd,shipped) > > # Commands useful for building a boot image > -- > 1.7.6.153.g78432 > >
WARNING: multiple messages have this Message-ID (diff)
From: lacombar@gmail.com (Arnaud Lacombe) To: linux-arm-kernel@lists.infradead.org Subject: [RFC] Kbuild: allow code re-use across different directories Date: Mon, 29 Aug 2011 20:31:15 -0400 [thread overview] Message-ID: <CACqU3MVrSV-Qp7mC4iN_viMHz=2-cGPaqNY04eokYkVoE_pSuw@mail.gmail.com> (raw) In-Reply-To: <1313800642-32418-1-git-send-email-lacombar@gmail.com> Hi, On Fri, Aug 19, 2011 at 8:37 PM, Arnaud Lacombe <lacombar@gmail.com> wrote: > Hi folks, > > The attached patch modify Kbuild to allow to directly re-use code in multiple > directory without having to go through a copy. Technically, it changes Kbuild to > use by default the VPATH feature of GNU make and provides accessors for Makefile > to change it indirectly. > > Considering: > > arch/foo/lib: > fancy.c > > We want to be able to build it with -DPANTS=32 in the kernel, but the > bootloader requires -DPANTS_SIZE=30. > > Currently we would do, either: > > arch/foo/lib/Makefile > LDFLAGS_fancy.o := -DPANTS=32 > obj-y += fancy.o > > and, either: > > arch/foo/boot/Makefile: > LDFLAGS_fancy.o := -DPANTS=30 > obj-y += fancy.o > $(obj)/fancy.c: $(srctree)/arch/foo/lib/fancy.c > ? ? ? ?$(call cmd,shipped) > > or > > arch/foo/boot/Makefile: > LDFLAGS_fancy.o := -DPANTS=30 > obj-y += fancy.o > $(obj)/fancy.o: $(srctree)/arch/foo/lib/fancy.c > ? ? ? ?$(call cmd,cc_c_o) > > The former implies an extra copy of the source file, the latter expose Kbuild > internal function. > > With the attached patch, we would do: > > arch/foo/boot/Makefile: > LDFLAGS_fancy.o := -DPANTS=30 > obj-y += fancy.o > vpath-y += $(srctree)/arch/foo/lib > > and let GNU make do the job. > Nicolas, I guess you were the one who was interested for a generic way to do such code re-use, did you had any chance to test the quoted patch ? Thanks, - Arnaud > Comments welcome, > ?- Arnaud > > Cc: linux-kernel at vger.kernel.org > Cc: linux-arm-kernel at lists.infradead.org > > --- > ?Makefile ? ? ? ? ? ? ? | ? ?5 +++-- > ?scripts/Makefile.build | ? 24 +++++++++++++++--------- > ?scripts/Makefile.lib ? | ? 17 ++++++++++++----- > ?3 files changed, 30 insertions(+), 16 deletions(-) > > diff --git a/Makefile b/Makefile > index b4ca4e1..db7f7f5 100644 > --- a/Makefile > +++ b/Makefile > @@ -154,9 +154,10 @@ objtree ? ? ? ? ? ?:= $(CURDIR) > ?src ? ? ? ? ? ?:= $(srctree) > ?obj ? ? ? ? ? ?:= $(objtree) > > -VPATH ? ? ? ? ?:= $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD)) > +KBUILD_VPATH ? := $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD)) > +VPATH ? ? ? ? ?:= $(KBUILD_VPATH) > > -export srctree objtree VPATH > +export srctree objtree KBUILD_VPATH > > > ?# SUBARCH tells the usermode build what the underlying arch is. ?That is set > diff --git a/scripts/Makefile.build b/scripts/Makefile.build > index a0fd502..ac539d7 100644 > --- a/scripts/Makefile.build > +++ b/scripts/Makefile.build > @@ -18,6 +18,8 @@ always := > ?targets := > ?subdir-y := > ?subdir-m := > +vpath-y := > +vpath-m := > ?EXTRA_AFLAGS ? := > ?EXTRA_CFLAGS ? := > ?EXTRA_CPPFLAGS := > @@ -37,6 +39,7 @@ include scripts/Kbuild.include > > ?# For backward compatibility check that these variables do not change > ?save-cflags := $(CFLAGS) > +save-vpath := $(VPATH) > > ?# The filename Kbuild has precedence over Makefile > ?kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) > @@ -48,6 +51,9 @@ ifeq ($(KBUILD_NOPEDANTIC),) > ? ? ? ? ifneq ("$(save-cflags)","$(CFLAGS)") > ? ? ? ? ? ? ? ? $(error CFLAGS was changed in "$(kbuild-file)". Fix it to use EXTRA_CFLAGS) > ? ? ? ? endif > + ? ? ? ?ifneq ("$(save-vpath)","$(VPATH)") > + ? ? ? ? ? ? ? ?$(error VPATH was changed in "$(kbuild-file)". Please uses vpath-y) > + ? ? ? ?endif > ?endif > > ?# > @@ -198,13 +204,13 @@ $(multi-objs-y:.o=.lst) : modname = $(modname-multi) > ?quiet_cmd_cc_s_c = CC $(quiet_modtag) ?$@ > ?cmd_cc_s_c ? ? ? = $(CC) $(c_flags) -fverbose-asm -S -o $@ $< > > -$(obj)/%.s: $(src)/%.c FORCE > +$(obj)/%.s: %.c FORCE > ? ? ? ?$(call if_changed_dep,cc_s_c) > > ?quiet_cmd_cc_i_c = CPP $(quiet_modtag) $@ > ?cmd_cc_i_c ? ? ? = $(CPP) $(c_flags) ? -o $@ $< > > -$(obj)/%.i: $(src)/%.c FORCE > +$(obj)/%.i: %.c FORCE > ? ? ? ?$(call if_changed_dep,cc_i_c) > > ?cmd_gensymtypes = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \ > @@ -219,7 +225,7 @@ cmd_cc_symtypes_c = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \ > ? ? $(call cmd_gensymtypes,true,$@) >/dev/null; ? ? ? ? ? ? ? ? ? ? ? ? ? ? \ > ? ? test -s $@ || rm -f $@ > > -$(obj)/%.symtypes : $(src)/%.c FORCE > +$(obj)/%.symtypes : %.c FORCE > ? ? ? ?$(call cmd,cc_symtypes_c) > > ?# C (.c) files > @@ -301,13 +307,13 @@ define rule_cc_o_c > ?endef > > ?# Built-in and composite module parts > -$(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE > +$(obj)/%.o: %.c $(recordmcount_source) FORCE > ? ? ? ?$(call cmd,force_checksrc) > ? ? ? ?$(call if_changed_rule,cc_o_c) > > ?# Single-part modules are special since we need to mark them in $(MODVERDIR) > > -$(single-used-m): $(obj)/%.o: $(src)/%.c $(recordmcount_source) FORCE > +$(single-used-m): %.o: %.c $(recordmcount_source) FORCE > ? ? ? ?$(call cmd,force_checksrc) > ? ? ? ?$(call if_changed_rule,cc_o_c) > ? ? ? ?@{ echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod) > @@ -317,7 +323,7 @@ quiet_cmd_cc_lst_c = MKLST ? $@ > ? ? ? ? ? ? ? ? ? ? $(CONFIG_SHELL) $(srctree)/scripts/makelst $*.o \ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? System.map $(OBJDUMP) > $@ > > -$(obj)/%.lst: $(src)/%.c FORCE > +$(obj)/%.lst: %.c FORCE > ? ? ? ?$(call if_changed_dep,cc_lst_c) > > ?# Compile assembler sources (.S) > @@ -331,13 +337,13 @@ $(real-objs-m:.o=.s): modkern_aflags := $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE) > ?quiet_cmd_as_s_S = CPP $(quiet_modtag) $@ > ?cmd_as_s_S ? ? ? = $(CPP) $(a_flags) ? -o $@ $< > > -$(obj)/%.s: $(src)/%.S FORCE > +$(obj)/%.s: %.S FORCE > ? ? ? ?$(call if_changed_dep,as_s_S) > > ?quiet_cmd_as_o_S = AS $(quiet_modtag) ?$@ > ?cmd_as_o_S ? ? ? = $(CC) $(a_flags) -c -o $@ $< > > -$(obj)/%.o: $(src)/%.S FORCE > +$(obj)/%.o: %.S FORCE > ? ? ? ?$(call if_changed_dep,as_o_S) > > ?targets += $(real-objs-y) $(real-objs-m) $(lib-y) > @@ -349,7 +355,7 @@ quiet_cmd_cpp_lds_S = LDS ? ? $@ > ? ? ? cmd_cpp_lds_S = $(CPP) $(cpp_flags) -P -C -U$(ARCH) \ > ? ? ? ? ? ? ? ? ? ? ? ? ? ? -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $< > > -$(obj)/%.lds: $(src)/%.lds.S FORCE > +$(obj)/%.lds: %.lds.S FORCE > ? ? ? ?$(call if_changed_dep,cpp_lds_S) > > ?# Build the compiled-in targets > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index aeea84a..b57b621 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -46,6 +46,13 @@ obj-m ? ? ? ? ? ? ? ?:= $(filter-out %/, $(obj-m)) > > ?subdir-ym ? ? ?:= $(sort $(subdir-y) $(subdir-m)) > > +# > +vpath-ym ? ? ? := $(vpath-y) $(vpath-m) > +VPATH ? ? ? ? ?:= $(KBUILD_VPATH) > +VPATH ? ? ? ? ?+= $(srctree)/$(src) > +VPATH ? ? ? ? ?+= $(obj) > +VPATH ? ? ? ? ?+= $(vpath-ym) > + > ?# if $(foo-objs) exists, foo.o is a composite object > ?multi-used-y := $(sort $(foreach m,$(obj-y), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))), $(m)))) > ?multi-used-m := $(sort $(foreach m,$(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))), $(m)))) > @@ -167,7 +174,7 @@ ifdef REGENERATE_PARSERS > ?quiet_cmd_gperf = GPERF $@ > ? ? ? cmd_gperf = gperf -t --output-file $@ -a -C -E -g -k 1,3,$$ -p -t $< > > -$(src)/%.hash.c_shipped: $(src)/%.gperf > +$(src)/%.hash.c_shipped: %.gperf > ? ? ? ?$(call cmd,gperf) > > ?# LEX > @@ -177,7 +184,7 @@ LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy) > ?quiet_cmd_flex = LEX ? ? $@ > ? ? ? cmd_flex = flex -o$@ -L -P $(LEX_PREFIX) $< > > -$(src)/%.lex.c_shipped: $(src)/%.l > +$(src)/%.lex.c_shipped: %.l > ? ? ? ?$(call cmd,flex) > > ?# YACC > @@ -187,13 +194,13 @@ YACC_PREFIX = $(if $(YACC_PREFIX_${baseprereq}),$(YACC_PREFIX_${baseprereq}),yy) > ?quiet_cmd_bison = YACC ? ?$@ > ? ? ? cmd_bison = bison -o$@ -t -l -p $(YACC_PREFIX) $< > > -$(src)/%.tab.c_shipped: $(src)/%.y > +$(src)/%.tab.c_shipped: %.y > ? ? ? ?$(call cmd,bison) > > ?quiet_cmd_bison_h = YACC ? ?$@ > ? ? ? cmd_bison_h = bison -o/dev/null --defines=$@ -t -l -p $(YACC_PREFIX) $< > > -$(src)/%.tab.h_shipped: $(src)/%.y > +$(src)/%.tab.h_shipped: %.y > ? ? ? ?$(call cmd,bison_h) > > ?endif > @@ -204,7 +211,7 @@ endif > ?quiet_cmd_shipped = SHIPPED $@ > ?cmd_shipped = cat $< > $@ > > -$(obj)/%: $(src)/%_shipped > +$(obj)/%: %_shipped > ? ? ? ?$(call cmd,shipped) > > ?# Commands useful for building a boot image > -- > 1.7.6.153.g78432 > >
next prev parent reply other threads:[~2011-08-30 0:31 UTC|newest] Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-08-20 0:37 [RFC] Kbuild: allow code re-use across different directories Arnaud Lacombe 2011-08-20 0:37 ` Arnaud Lacombe 2011-08-22 8:42 ` Cong Wang 2011-08-22 8:42 ` Cong Wang 2011-08-30 0:31 ` Arnaud Lacombe [this message] 2011-08-30 0:31 ` Arnaud Lacombe 2011-08-30 4:32 ` Nicolas Pitre 2011-08-30 4:32 ` Nicolas Pitre 2011-08-30 4:36 ` Arnaud Lacombe 2011-08-30 4:36 ` Arnaud Lacombe 2011-09-07 19:07 ` Nicolas Pitre 2011-09-07 19:07 ` Nicolas Pitre 2011-09-07 19:34 ` Arnaud Lacombe 2011-09-07 19:34 ` Arnaud Lacombe 2011-09-07 19:59 ` Nicolas Pitre 2011-09-07 19:59 ` Nicolas Pitre 2011-09-07 20:52 ` Arnaud Lacombe 2011-09-07 20:52 ` Arnaud Lacombe 2011-09-08 4:50 ` Arnaud Lacombe 2011-09-08 4:50 ` Arnaud Lacombe 2011-09-08 20:33 ` Nicolas Pitre 2011-09-08 20:33 ` Nicolas Pitre 2011-09-09 1:22 ` Arnaud Lacombe 2011-09-09 1:22 ` Arnaud Lacombe 2011-09-09 12:32 ` Michal Marek 2011-09-09 12:32 ` Michal Marek 2011-09-09 16:16 ` Arnaud Lacombe 2011-09-09 16:16 ` Arnaud Lacombe 2011-09-08 18:24 ` Arnaud Lacombe 2011-09-09 12:30 ` Michal Marek 2011-09-09 12:30 ` Michal Marek 2011-09-13 21:13 ` Arnaud Lacombe 2011-09-13 21:13 ` Arnaud Lacombe 2011-09-14 1:48 ` Michal Marek 2011-09-14 1:48 ` Michal Marek
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CACqU3MVrSV-Qp7mC4iN_viMHz=2-cGPaqNY04eokYkVoE_pSuw@mail.gmail.com' \ --to=lacombar@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kbuild@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=nico@fluxnic.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.