2015-12-20 16:43:53

by Fengguang Wu

[permalink] [raw]
Subject: arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain'

Hi Sasha,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 69c37a92ddbf79d9672230f21a04580d7ac2f4c3
commit: 71458cfc782eafe4b27656e078d379a34e472adf kernel: add support for gcc 5
date: 1 year, 2 months ago
config: x86_64-randconfig-x006-201551 (attached as .config)
reproduce:
git checkout 71458cfc782eafe4b27656e078d379a34e472adf
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

arch/x86/xen/suspend.c: In function 'xen_arch_pre_suspend':
>> arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain' [-Werror=implicit-function-declaration]
if (xen_pv_domain())
^
cc1: some warnings being treated as errors

vim +/xen_pv_domain +70 arch/x86/xen/suspend.c

0e91398f Jeremy Fitzhardinge 2008-05-26 54 pfn_to_mfn(xen_start_info->store_mfn);
0e91398f Jeremy Fitzhardinge 2008-05-26 55 xen_start_info->console.domU.mfn =
0e91398f Jeremy Fitzhardinge 2008-05-26 56 pfn_to_mfn(xen_start_info->console.domU.mfn);
0e91398f Jeremy Fitzhardinge 2008-05-26 57 } else {
0e91398f Jeremy Fitzhardinge 2008-05-26 58 #ifdef CONFIG_SMP
b78936e1 Mike Travis 2008-12-16 59 BUG_ON(xen_cpu_initialized_map == NULL);
b78936e1 Mike Travis 2008-12-16 60 cpumask_copy(xen_cpu_initialized_map, cpu_online_mask);
0e91398f Jeremy Fitzhardinge 2008-05-26 61 #endif
9c7a7942 Jeremy Fitzhardinge 2008-05-31 62 xen_vcpu_restore();
0e91398f Jeremy Fitzhardinge 2008-05-26 63 }
0e91398f Jeremy Fitzhardinge 2008-05-26 64
aa8532c3 David Vrabel 2014-05-08 65 xen_mm_unpin_all();
aa8532c3 David Vrabel 2014-05-08 66 }
aa8532c3 David Vrabel 2014-05-08 67
aa8532c3 David Vrabel 2014-05-08 68 void xen_arch_pre_suspend(void)
aa8532c3 David Vrabel 2014-05-08 69 {
aa8532c3 David Vrabel 2014-05-08 @70 if (xen_pv_domain())
aa8532c3 David Vrabel 2014-05-08 71 xen_pv_pre_suspend();
aa8532c3 David Vrabel 2014-05-08 72 }
aa8532c3 David Vrabel 2014-05-08 73
aa8532c3 David Vrabel 2014-05-08 74 void xen_arch_post_suspend(int cancelled)
aa8532c3 David Vrabel 2014-05-08 75 {
aa8532c3 David Vrabel 2014-05-08 76 if (xen_pv_domain())
aa8532c3 David Vrabel 2014-05-08 77 xen_pv_post_suspend(cancelled);
aa8532c3 David Vrabel 2014-05-08 78 else

:::::: The code at line 70 was first introduced by commit
:::::: aa8532c32216ae07c3813b9aeb774517878a7573 xen: refactor suspend pre/post hooks

:::::: TO: David Vrabel <[email protected]>
:::::: CC: David Vrabel <[email protected]>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation


Attachments:
(No filename) (2.86 kB)
.config.gz (19.50 kB)
Download all attachments

2015-12-21 22:07:06

by Andrew Morton

[permalink] [raw]
Subject: Re: arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain'

On Mon, 21 Dec 2015 00:43:17 +0800 kbuild test robot <[email protected]> wrote:

> First bad commit (maybe != root cause):
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 69c37a92ddbf79d9672230f21a04580d7ac2f4c3
> commit: 71458cfc782eafe4b27656e078d379a34e472adf kernel: add support for gcc 5
> date: 1 year, 2 months ago
> config: x86_64-randconfig-x006-201551 (attached as .config)
> reproduce:
> git checkout 71458cfc782eafe4b27656e078d379a34e472adf
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> All errors (new ones prefixed by >>):
>
> arch/x86/xen/suspend.c: In function 'xen_arch_pre_suspend':
> >> arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain' [-Werror=implicit-function-declaration]
> if (xen_pv_domain())
> ^

hm, tricky!

--- a/arch/x86/xen/suspend.c~arch-x86-xen-suspendc-include-xen-xenh
+++ a/arch/x86/xen/suspend.c
@@ -1,6 +1,7 @@
#include <linux/types.h>
#include <linux/tick.h>

+#include <xen/xen.h>
#include <xen/interface/xen.h>
#include <xen/grant_table.h>
#include <xen/events.h>
_

2015-12-22 11:49:57

by Stefano Stabellini

[permalink] [raw]
Subject: Re: arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain'

On Mon, 21 Dec 2015, Andrew Morton wrote:
> On Mon, 21 Dec 2015 00:43:17 +0800 kbuild test robot <[email protected]> wrote:
>
> > First bad commit (maybe != root cause):
> >
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 69c37a92ddbf79d9672230f21a04580d7ac2f4c3
> > commit: 71458cfc782eafe4b27656e078d379a34e472adf kernel: add support for gcc 5
> > date: 1 year, 2 months ago
> > config: x86_64-randconfig-x006-201551 (attached as .config)
> > reproduce:
> > git checkout 71458cfc782eafe4b27656e078d379a34e472adf
> > # save the attached .config to linux build tree
> > make ARCH=x86_64
> >
> > All errors (new ones prefixed by >>):
> >
> > arch/x86/xen/suspend.c: In function 'xen_arch_pre_suspend':
> > >> arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain' [-Werror=implicit-function-declaration]
> > if (xen_pv_domain())
> > ^
>
> hm, tricky!
>
> --- a/arch/x86/xen/suspend.c~arch-x86-xen-suspendc-include-xen-xenh
> +++ a/arch/x86/xen/suspend.c
> @@ -1,6 +1,7 @@
> #include <linux/types.h>
> #include <linux/tick.h>
>
> +#include <xen/xen.h>
> #include <xen/interface/xen.h>
> #include <xen/grant_table.h>
> #include <xen/events.h>


Looks like the right fix. David? Boris?

2015-12-22 14:31:26

by Boris Ostrovsky

[permalink] [raw]
Subject: Re: arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain'

On 12/22/2015 06:49 AM, Stefano Stabellini wrote:
> On Mon, 21 Dec 2015, Andrew Morton wrote:
>> On Mon, 21 Dec 2015 00:43:17 +0800 kbuild test robot <[email protected]> wrote:
>>
>>> First bad commit (maybe != root cause):
>>>
>>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>>> head: 69c37a92ddbf79d9672230f21a04580d7ac2f4c3
>>> commit: 71458cfc782eafe4b27656e078d379a34e472adf kernel: add support for gcc 5
>>> date: 1 year, 2 months ago
>>> config: x86_64-randconfig-x006-201551 (attached as .config)
>>> reproduce:
>>> git checkout 71458cfc782eafe4b27656e078d379a34e472adf
>>> # save the attached .config to linux build tree
>>> make ARCH=x86_64
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>> arch/x86/xen/suspend.c: In function 'xen_arch_pre_suspend':
>>>>> arch/x86/xen/suspend.c:70:9: error: implicit declaration of function 'xen_pv_domain' [-Werror=implicit-function-declaration]
>>> if (xen_pv_domain())
>>> ^
>> hm, tricky!
>>
>> --- a/arch/x86/xen/suspend.c~arch-x86-xen-suspendc-include-xen-xenh
>> +++ a/arch/x86/xen/suspend.c
>> @@ -1,6 +1,7 @@
>> #include <linux/types.h>
>> #include <linux/tick.h>
>>
>> +#include <xen/xen.h>
>> #include <xen/interface/xen.h>
>> #include <xen/grant_table.h>
>> #include <xen/events.h>
>
> Looks like the right fix. David? Boris?

Why are we trying to compile this if CONFIG_XEN is not set?

-boris