linux-next: build failure after merge of the origin tree

From: Stephen Rothwell
Date: Wed Jan 18 2012 - 18:31:47 EST


Hi Linus,

After merging the origin tree, today's linux-next build (x86_64
allmodconfig) failed like this:

ERROR: "xen_biovec_phys_mergeable" [drivers/block/nvme.ko] undefined!

This is weird, as CONFIG_BLOCK and CONFIG_XEN are both set in this build
and I started with an empty object directory. And biomerge.o has been
built.

Ah ha!

drivers/xen/biomerge.c:14:1: warning: data definition has no type or storage class [enabled by default]
drivers/xen/biomerge.c:14:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
drivers/xen/biomerge.c:14:1: warning: parameter names (without types) in function declaration [enabled by default]

drivers/xen/biomerge.c does not include export.h. It would be nice if
this produced an error, not just the warnings above. Caused by commit
0b934ccd707f ("Xen: Export xen_biovec_phys_mergeable") (which was never
in linux-next :-().

I applied the following patch for today:

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 19 Jan 2012 10:24:31 +1100
Subject: [PATCH] xen: using EXPORT_SYMBOL requires including export.h

Fixes these warnings:

drivers/xen/biomerge.c:14:1: warning: data definition has no type or storage class [enabled by default]
drivers/xen/biomerge.c:14:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
drivers/xen/biomerge.c:14:1: warning: parameter names (without types) in function declaration [enabled by default]

And this build error:

ERROR: "xen_biovec_phys_mergeable" [drivers/block/nvme.ko] undefined!

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
drivers/xen/biomerge.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/xen/biomerge.c b/drivers/xen/biomerge.c
index 18c1bb6..0edb91c 100644
--- a/drivers/xen/biomerge.c
+++ b/drivers/xen/biomerge.c
@@ -1,5 +1,6 @@
#include <linux/bio.h>
#include <linux/io.h>
+#include <linux/export.h>
#include <xen/page.h>

bool xen_biovec_phys_mergeable(const struct bio_vec *vec1,
--
1.7.9.rc0.23.g7e521

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx

Attachment: pgp00000.pgp
Description: PGP signature