public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Kbuild fixes
@ 2005-11-10 21:36 Sam Ravnborg
  2005-11-10 21:46 ` Linus Torvalds
  2005-12-01 16:25 ` Andreas Schwab
  0 siblings, 2 replies; 6+ messages in thread
From: Sam Ravnborg @ 2005-11-10 21:36 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton
  Cc: linux-kernel, Zachary Amsden, Uwe Zeisberger, Russell King

Hi Linus.

Two kbuild fixes.

    [PATCH] kbuild: build breaks after -imacros was introduced
    [PATCH] kbuild: make kernelrelease in unconfigured kernel prints an error


The use of -imacros is know to break for at least two distinct users.
akpm being one of them.

	Sam


    please pull from:
    
    master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild.git

Patch'es included below.

 Makefile   |    2 +-
 b/Makefile |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Author: Zachary Amsden <zach@vmware.com>

    [PATCH] kbuild: build breaks after -imacros was introduced
    
    I have to revert the recent addition of -imacros to the Makefile to get my
    tool chain to build.  Without the change, below, I get:
    
    Note that this looks entirely like a toolchain bug.  Here is the offending command:
    
    [pid 12163] execve("/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/tradcpp0", ["/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/tradcpp0", "-lang-asm", "-nostdinc", "-Iinclude", "-Iinclude/asm-i386/mach-default", "-D__GNUC__=3", "-D__GNUC_MINOR__=2", "-D__GNUC_PATCHLEVEL__=2", "-D__GXX_ABI_VERSION=102", "-D__ELF__", "-Dunix", "-D__gnu_linux__", "-Dlinux", "-D__ELF__", "-D__unix__", "-D__gnu_linux__", "-D__linux__", "-D__unix", "-D__linux", "-Asystem=posix", "-D__NO_INLINE__", "-D__STDC_HOSTED__=1", "-Acpu=i386", "-Amachine=i386", "-Di386", "-D__i386", "-D__i386__", "-D__tune_i386__", "-D__KERNEL__", "-D__ASSEMBLY__", "-isystem", "/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include", "-imacros", "include/linux/autoconf.h", "-MD", "arch/i386/kernel/.entry.o.d", "arch/i386/kernel/entry.S", "-o", "/tmp/ccOlsFJR.s"]
    
    Which should execute properly, I think.  But it does not:
    
    zach-dev:linux-2.6.14-zach-work $ make
      CHK     include/linux/version.h
      CHK     include/linux/compile.h
      CHK     usr/initramfs_list
      AS      arch/i386/kernel/entry.o
    /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/tradcpp0: output filename specified twice
    make[1]: *** [arch/i386/kernel/entry.o] Error 1
    make: *** [arch/i386/kernel] Error 2
    
    gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
    
    Deprecating the -imacros fixes the build for me.  It does not appear to be a
    simple argument overflow problem in trapcpp0, since deprecating all the defines
    reproduces the problem as well.  Also, switching -imacros to -include fixes the
    problem.
    
    Signed-off-by: Zachary Amsden <zach@vmware.com>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

diff --git a/Makefile b/Makefile
index 3152d63..83a3185 100644
--- a/Makefile
+++ b/Makefile
@@ -347,7 +347,7 @@ AFLAGS_KERNEL	=
 # Needed to be compatible with the O= option
 LINUXINCLUDE    := -Iinclude \
                    $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
-		   -imacros include/linux/autoconf.h
+		   -include include/linux/autoconf.h
 
 CPPFLAGS        := -D__KERNEL__ $(LINUXINCLUDE)
 

Author: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>

    [PATCH] kbuild: make kernelrelease in unconfigured kernel prints an error
    
    Do not include .config for target kernelrelease
    
    Signed-off-by: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>

diff --git a/Makefile b/Makefile
index 2dac801..3152d63 100644
--- a/Makefile
+++ b/Makefile
@@ -407,7 +407,7 @@ outputmakefile:
 # of make so .config is not included in this case either (for *config).
 
 no-dot-config-targets := clean mrproper distclean \
-			 cscope TAGS tags help %docs check%
+			 cscope TAGS tags help %docs check% kernelrelease
 
 config-targets := 0
 mixed-targets  := 0
    

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] Kbuild fixes
  2005-11-10 21:36 [PATCH] Kbuild fixes Sam Ravnborg
@ 2005-11-10 21:46 ` Linus Torvalds
  2005-11-10 22:16   ` Sam Ravnborg
  2005-12-01 16:25 ` Andreas Schwab
  1 sibling, 1 reply; 6+ messages in thread
From: Linus Torvalds @ 2005-11-10 21:46 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Andrew Morton, linux-kernel, Zachary Amsden, Uwe Zeisberger,
	Russell King



On Thu, 10 Nov 2005, Sam Ravnborg wrote:
> 
> please pull from:
>     
>     master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild.git

Grr. That's not a valid git URL.

Hint.. There's a missing colon there.

		Linus

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Kbuild fixes
  2005-11-10 21:46 ` Linus Torvalds
@ 2005-11-10 22:16   ` Sam Ravnborg
  0 siblings, 0 replies; 6+ messages in thread
From: Sam Ravnborg @ 2005-11-10 22:16 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Andrew Morton, linux-kernel, Zachary Amsden, Uwe Zeisberger,
	Russell King

On Thu, Nov 10, 2005 at 01:46:35PM -0800, Linus Torvalds wrote:
> 
> 
> On Thu, 10 Nov 2005, Sam Ravnborg wrote:
> > 
> > please pull from:
> >     
> >     master.kernel.org/pub/scm/linux/kernel/git/sam/kbuild.git
> 
> Grr. That's not a valid git URL.

Ups..

git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild.git

or

master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git

It must be a disease coming from sitting in front of Windoze boxes all
day starring in Outlook :-(

	Sam

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Kbuild fixes
  2005-11-10 21:36 [PATCH] Kbuild fixes Sam Ravnborg
  2005-11-10 21:46 ` Linus Torvalds
@ 2005-12-01 16:25 ` Andreas Schwab
  2005-12-02  7:28   ` Uwe Zeisberger
  1 sibling, 1 reply; 6+ messages in thread
From: Andreas Schwab @ 2005-12-01 16:25 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Andrew Morton, linux-kernel, Zachary Amsden,
	Uwe Zeisberger, Russell King

Sam Ravnborg <sam@ravnborg.org> writes:

> Author: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
>
>     [PATCH] kbuild: make kernelrelease in unconfigured kernel prints an error
>     
>     Do not include .config for target kernelrelease

This is wrong.  KERNELRELEASE depends on CONFIG_LOCALVERSION, thus you
need .config.

Signed-off-by: Andreas Schwab <schwab@suse.de>

Index: linux-2.6.14/Makefile
===================================================================
--- linux-2.6.14.orig/Makefile	2005-12-01 17:10:33.998015103 +0100
+++ linux-2.6.14/Makefile	2005-12-01 17:11:39.605921389 +0100
@@ -412,7 +412,7 @@ outputmakefile:
 # of make so .config is not included in this case either (for *config).
 
 no-dot-config-targets := clean mrproper distclean \
-			 cscope TAGS tags help %docs check% kernelrelease
+			 cscope TAGS tags help %docs check%
 
 config-targets := 0
 mixed-targets  := 0

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] Kbuild fixes
  2005-12-01 16:25 ` Andreas Schwab
@ 2005-12-02  7:28   ` Uwe Zeisberger
  0 siblings, 0 replies; 6+ messages in thread
From: Uwe Zeisberger @ 2005-12-02  7:28 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Sam Ravnborg, Linus Torvalds, Andrew Morton, linux-kernel,
	Zachary Amsden, Russell King, James Cloos

Hallo Andreas,

Andreas Schwab wrote:
> Sam Ravnborg <sam@ravnborg.org> writes:
> 
> > Author: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>
> >
> >     [PATCH] kbuild: make kernelrelease in unconfigured kernel prints an error
> >     
> >     Do not include .config for target kernelrelease
> 
> This is wrong.  KERNELRELEASE depends on CONFIG_LOCALVERSION, thus you
> need .config.
James Cloos already indicated that on lkml[1].  I prepared a patch but
didn't sent it to lkml.

Maybe you're happy with the following patch, too?  With it .config is
included if it exists and no error occurs if not.

{{{
Include .config for target kernelrelease if it exists

With this fix the value of CONFIG_LOCALVERSION is appended to the output
of `make kernelrelease`.  The git tag is *not* appended (yet) without a
.config.

Signed-off-by: Uwe Zeisberger <zeisberg@informatik.uni-freiburg.de>

---

 Makefile |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

applies-to: bf816f7c7055127415fc3b718e260855df815d55
02a17e7669dcc6abd51fefc65af2278e95e4855f
diff --git a/Makefile b/Makefile
index e7a0443..77b51b8 100644
--- a/Makefile
+++ b/Makefile
@@ -407,16 +407,23 @@ outputmakefile:
 # Detect when mixed targets is specified, and make a second invocation
 # of make so .config is not included in this case either (for *config).
 
-no-dot-config-targets := clean mrproper distclean \
-			 cscope TAGS tags help %docs check% kernelrelease
+no-dot-config-targets  := clean mrproper distclean \
+			  cscope TAGS tags help %docs check%
+
+opt-dot-config-targets := kernelrelease
 
 config-targets := 0
 mixed-targets  := 0
 dot-config     := 1
+opt-dot-config := 0
 
-ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
+ifneq ($(filter $(no-dot-config-targets) $(opt-dot-config-targets), $(MAKECMDGOALS)),)
 	ifeq ($(filter-out $(no-dot-config-targets), $(MAKECMDGOALS)),)
 		dot-config := 0
+	else
+		ifeq ($(filter-out $(opt-dot-config-targets), $(MAKECMDGOALS)),)
+			opt-dot-config := 1
+		endif
 	endif
 endif
 
@@ -483,7 +490,11 @@ ifeq ($(dot-config),1)
 # oldconfig if changes are detected.
 -include .config.cmd
 
+ifeq ($(opt-dot-config),1)
+-include .config
+else
 include .config
+endif
 
 # If .config needs to be updated, it will be done via the dependency
 # that autoconf has on .config.
---
0.99.9g
}}}

[1] http://groups.google.com/group/linux.kernel/browse_thread/thread/25b426027bf5fdba/e5931ac731528c1f?q=Cloos&rnum=2#e5931ac731528c1f

-- 
Uwe Zeisberger

http://www.google.com/search?q=sin%28pi%2F2%29

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH] kbuild fixes
@ 2006-08-01  9:40 Sam Ravnborg
  0 siblings, 0 replies; 6+ messages in thread
From: Sam Ravnborg @ 2006-08-01  9:40 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton, LKML

Hi Linus.

Following is a minimum set of kbuild fixes for 2.6.18.
The other kbuild patches previously sent is now queued for 2.6.19.
All patches below has been in -mm for a while.
Please apply.

	git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18.git

Shotlog, diffstat and diff all inline.

	Sam


Dave Jones:
      kbuild: fix typo in modpost

Qi Yong:
      gitignore: gitignore quilt's files

Roman Zippel:
      kconfig: correct oldconfig for unset choice options

Sam Ravnborg:
      kbuild: hardcode value of YACC&LEX for aic7-triple-x
      kbuild: version.h and new headers_* targets does not require a kernel config
      kbuild: .gitignore utsrelease.h
      kbuild: improve error from file2alias
      kbuild: -fno-stack-protector is not good
      kbuild: always use $(CC) for $(call cc-version)

 .gitignore                           |    5 +++
 Makefile                             |    5 ++-
 drivers/scsi/aic7xxx/aicasm/Makefile |    2 +
 scripts/Kbuild.include               |    3 +-
 scripts/Makefile.modpost             |    2 +
 scripts/kconfig/confdata.c           |    2 +
 scripts/mod/file2alias.c             |   62 ++++++++++++++++++++++++----------
 7 files changed, 56 insertions(+), 25 deletions(-)
diff --git a/.gitignore b/.gitignore
index 27fd376..b1f5b9d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,11 @@ include/config
 include/linux/autoconf.h
 include/linux/compile.h
 include/linux/version.h
+include/linux/utsrelease.h
 
 # stgit generated dirs
 patches-*
+
+# quilt's files
+patches
+series
diff --git a/Makefile b/Makefile
index c9b7dbb..110db85 100644
--- a/Makefile
+++ b/Makefile
@@ -310,8 +310,8 @@ CPPFLAGS        := -D__KERNEL__ $(LINUXI
 CFLAGS          := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
                    -fno-strict-aliasing -fno-common
 # Force gcc to behave correct even for buggy distributions
-CFLAGS          += $(call cc-option, -fno-stack-protector-all \
-                                     -fno-stack-protector)
+CFLAGS          += $(call cc-option, -fno-stack-protector)
+
 AFLAGS          := -D__ASSEMBLY__
 
 # Read KERNELRELEASE from include/config/kernel.release (if it exists)
@@ -368,6 +368,7 @@ # of make so .config is not included in 
 
 no-dot-config-targets := clean mrproper distclean \
 			 cscope TAGS tags help %docs check% \
+			 include/linux/version.h headers_% \
 			 kernelrelease kernelversion
 
 config-targets := 0
diff --git a/drivers/scsi/aic7xxx/aicasm/Makefile b/drivers/scsi/aic7xxx/aicasm/Makefile
index 8c91fda..b98c5c1 100644
--- a/drivers/scsi/aic7xxx/aicasm/Makefile
+++ b/drivers/scsi/aic7xxx/aicasm/Makefile
@@ -14,6 +14,8 @@ LIBS=	-ldb
 clean-files:= ${GENSRCS} ${GENHDRS} $(YSRCS:.y=.output) $(PROG)
 # Override default kernel CFLAGS.  This is a userland app.
 AICASM_CFLAGS:= -I/usr/include -I.
+LEX= flex
+YACC= bison
 YFLAGS= -d
 
 NOMAN=	noman
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index f011322..bb19c15 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -77,8 +77,7 @@ cc-option-align = $(subst -functions=0,,
 
 # cc-version
 # Usage gcc-ver := $(call cc-version, $(CC))
-cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh \
-              $(if $(1), $(1), $(CC)))
+cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
 
 # cc-ifversion
 # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index a495502..0a64688 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -40,7 +40,7 @@ include scripts/Kbuild.include
 include scripts/Makefile.lib
 
 kernelsymfile := $(objtree)/Module.symvers
-modulesymfile := $(KBUILD_EXTMOD)/Modules.symvers
+modulesymfile := $(KBUILD_EXTMOD)/Module.symvers
 
 # Step 1), find all modules listed in $(MODVERDIR)/
 __modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index 2ee48c3..a69d8ac 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -357,7 +357,7 @@ int conf_read(const char *name)
 		for (e = prop->expr; e; e = e->left.expr)
 			if (e->right.sym->visible != no)
 				flags &= e->right.sym->flags;
-		sym->flags |= flags & SYMBOL_DEF_USER;
+		sym->flags &= flags | ~SYMBOL_DEF_USER;
 	}
 
 	sym_change_count += conf_warnings || conf_unsaved;
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 37f67c2..4431292 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -52,6 +52,23 @@ do {                                    
                 sprintf(str + strlen(str), "*");                \
 } while(0)
 
+/**
+ * Check that sizeof(device_id type) are consistent with size of section
+ * in .o file. If in-consistent then userspace and kernel does not agree
+ * on actual size which is a bug.
+ **/
+static void device_id_size_check(const char *modname, const char *device_id,
+				 unsigned long size, unsigned long id_size)
+{
+	if (size % id_size || size < id_size) {
+		fatal("%s: sizeof(struct %s_device_id)=%lu is not a modulo "
+		      "of the size of section __mod_%s_device_table=%lu.\n"
+		      "Fix definition of struct %s_device_id "
+		      "in mod_devicetable.h\n",
+		      modname, device_id, id_size, device_id, size, device_id);
+	}
+}
+
 /* USB is special because the bcdDevice can be matched against a numeric range */
 /* Looks like "usb:vNpNdNdcNdscNdpNicNiscNipN" */
 static void do_usb_entry(struct usb_device_id *id,
@@ -152,10 +169,8 @@ static void do_usb_table(void *symval, u
 	unsigned int i;
 	const unsigned long id_size = sizeof(struct usb_device_id);
 
-	if (size % id_size || size < id_size) {
-		warn("%s ids %lu bad size "
-		     "(each on %lu)\n", mod->name, size, id_size);
-	}
+	device_id_size_check(mod->name, "usb", size, id_size);
+
 	/* Leave last one: it's the terminator. */
 	size -= id_size;
 
@@ -434,6 +449,7 @@ static inline int sym_is(const char *sym
 
 static void do_table(void *symval, unsigned long size,
 		     unsigned long id_size,
+		     const char *device_id,
 		     void *function,
 		     struct module *mod)
 {
@@ -441,10 +457,7 @@ static void do_table(void *symval, unsig
 	char alias[500];
 	int (*do_entry)(const char *, void *entry, char *alias) = function;
 
-	if (size % id_size || size < id_size) {
-		warn("%s ids %lu bad size "
-		     "(each on %lu)\n", mod->name, size, id_size);
-	}
+	device_id_size_check(mod->name, device_id, size, id_size);
 	/* Leave last one: it's the terminator. */
 	size -= id_size;
 
@@ -476,40 +489,51 @@ void handle_moddevtable(struct module *m
 		+ sym->st_value;
 
 	if (sym_is(symname, "__mod_pci_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct pci_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct pci_device_id), "pci",
 			 do_pci_entry, mod);
 	else if (sym_is(symname, "__mod_usb_device_table"))
 		/* special case to handle bcdDevice ranges */
 		do_usb_table(symval, sym->st_size, mod);
 	else if (sym_is(symname, "__mod_ieee1394_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct ieee1394_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct ieee1394_device_id), "ieee1394",
 			 do_ieee1394_entry, mod);
 	else if (sym_is(symname, "__mod_ccw_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct ccw_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct ccw_device_id), "ccw",
 			 do_ccw_entry, mod);
 	else if (sym_is(symname, "__mod_serio_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct serio_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct serio_device_id), "serio",
 			 do_serio_entry, mod);
 	else if (sym_is(symname, "__mod_pnp_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct pnp_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct pnp_device_id), "pnp",
 			 do_pnp_entry, mod);
 	else if (sym_is(symname, "__mod_pnp_card_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct pnp_card_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct pnp_card_device_id), "pnp_card",
 			 do_pnp_card_entry, mod);
 	else if (sym_is(symname, "__mod_pcmcia_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct pcmcia_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct pcmcia_device_id), "pcmcia",
 			 do_pcmcia_entry, mod);
         else if (sym_is(symname, "__mod_of_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct of_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct of_device_id), "of",
 			 do_of_entry, mod);
         else if (sym_is(symname, "__mod_vio_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct vio_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct vio_device_id), "vio",
 			 do_vio_entry, mod);
 	else if (sym_is(symname, "__mod_i2c_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct i2c_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct i2c_device_id), "i2c",
 			 do_i2c_entry, mod);
 	else if (sym_is(symname, "__mod_input_device_table"))
-		do_table(symval, sym->st_size, sizeof(struct input_device_id),
+		do_table(symval, sym->st_size,
+			 sizeof(struct input_device_id), "input",
 			 do_input_entry, mod);
 }
 

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-08-01  9:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-01  9:40 [PATCH] kbuild fixes Sam Ravnborg
  -- strict thread matches above, loose matches on Subject: below --
2005-11-10 21:36 [PATCH] Kbuild fixes Sam Ravnborg
2005-11-10 21:46 ` Linus Torvalds
2005-11-10 22:16   ` Sam Ravnborg
2005-12-01 16:25 ` Andreas Schwab
2005-12-02  7:28   ` Uwe Zeisberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox