* linux-next: build warnings after merge of the modules tree @ 2013-11-04 2:41 Stephen Rothwell 2013-11-05 2:20 ` Rusty Russell 0 siblings, 1 reply; 4+ messages in thread From: Stephen Rothwell @ 2013-11-04 2:41 UTC (permalink / raw) To: Rusty Russell; +Cc: linux-next, linux-kernel, Andi Kleen [-- Attachment #1: Type: text/plain, Size: 926 bytes --] Hi Rusty, After merging the modules tree, today's linux-next build (x86_64 allmodconfig) produced these warning: WARNING: vmlinux: 'pci_restore_msi_state' exported twice. Previous export was in vmlinux WARNING: vmlinux: '__mod_zone_page_state' exported twice. Previous export was in vmlinux WARNING: vmlinux: 'scsi_prep_return' exported twice. Previous export was in vmlinux WARNING: vmlinux: 'hvc_poll' exported twice. Previous export was in vmlinux WARNING: vmlinux: 'nfs_clear_inode' exported twice. Previous export was in vmlinux (just some samples ... it scrolled off my scrollback :-() Presumably caused by commit e0f244c63fc9 ("asmlinkage, module: Make ksymtab and kcrctab symbols and __this_module __visible"). (reverting that commit makes the warnings go away.) I have used the modules tree from next-20131101 for today. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: linux-next: build warnings after merge of the modules tree 2013-11-04 2:41 linux-next: build warnings after merge of the modules tree Stephen Rothwell @ 2013-11-05 2:20 ` Rusty Russell 2013-11-05 14:17 ` Andi Kleen 0 siblings, 1 reply; 4+ messages in thread From: Rusty Russell @ 2013-11-05 2:20 UTC (permalink / raw) To: Stephen Rothwell; +Cc: linux-next, linux-kernel, Andi Kleen, linux-kbuild Stephen Rothwell <sfr@canb.auug.org.au> writes: > Hi Rusty, > > After merging the modules tree, today's linux-next build (x86_64 > allmodconfig) produced these warning: > > WARNING: vmlinux: 'pci_restore_msi_state' exported twice. Previous export was in vmlinux > WARNING: vmlinux: '__mod_zone_page_state' exported twice. Previous export was in vmlinux > WARNING: vmlinux: 'scsi_prep_return' exported twice. Previous export was in vmlinux > WARNING: vmlinux: 'hvc_poll' exported twice. Previous export was in vmlinux > WARNING: vmlinux: 'nfs_clear_inode' exported twice. Previous export was in vmlinux > > (just some samples ... it scrolled off my scrollback :-() > > Presumably caused by commit e0f244c63fc9 ("asmlinkage, module: Make > ksymtab and kcrctab symbols and __this_module __visible"). (reverting > that commit makes the warnings go away.) This works for me.... feedback please! Cheers, Rusty. modpost: fix bogus 'exported twice' warnings. Andi's change in e0f244c63fc9 ("asmlinkage, module: Make ksymtab and kcrctab symbols and __this_module __visible") make the crc appear first in the symbol table. modpost creates an entry when it sees the CRC, then when it sees the actual symbol, it complains that it's seen it before. The preloaded flag already exists for the equivalent case where we loaded from Module.symvers, so use that. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 9b873ac6ed7b..5c677a3e7487 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -164,7 +164,7 @@ struct symbol { unsigned int vmlinux:1; /* 1 if symbol is defined in vmlinux */ unsigned int kernel:1; /* 1 if symbol is from kernel * (only for external modules) **/ - unsigned int preloaded:1; /* 1 if symbol from Module.symvers */ + unsigned int preloaded:1; /* 1 if symbol from Module.symvers, or crc */ enum export export; /* Type of export */ char name[0]; }; @@ -332,8 +332,11 @@ static void sym_update_crc(const char *name, struct module *mod, { struct symbol *s = find_symbol(name); - if (!s) + if (!s) { s = new_symbol(name, mod, export); + /* Don't complain when we find it later. */ + s->preloaded = 1; + } s->crc = crc; s->crc_valid = 1; } ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: linux-next: build warnings after merge of the modules tree 2013-11-05 2:20 ` Rusty Russell @ 2013-11-05 14:17 ` Andi Kleen 2013-11-05 23:07 ` Stephen Rothwell 0 siblings, 1 reply; 4+ messages in thread From: Andi Kleen @ 2013-11-05 14:17 UTC (permalink / raw) To: Rusty Russell; +Cc: Stephen Rothwell, linux-next, linux-kernel, linux-kbuild > modpost creates an entry when it sees the CRC, then when it sees the > actual symbol, it complains that it's seen it before. The preloaded > flag already exists for the equivalent case where we loaded from > Module.symvers, so use that. Looks good. Thanks for fixing. -Andi ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: linux-next: build warnings after merge of the modules tree 2013-11-05 14:17 ` Andi Kleen @ 2013-11-05 23:07 ` Stephen Rothwell 0 siblings, 0 replies; 4+ messages in thread From: Stephen Rothwell @ 2013-11-05 23:07 UTC (permalink / raw) To: Andi Kleen; +Cc: Rusty Russell, linux-next, linux-kernel, linux-kbuild [-- Attachment #1: Type: text/plain, Size: 2068 bytes --] Hi Rusty, On Tue, 5 Nov 2013 06:17:02 -0800 Andi Kleen <ak@linux.intel.com> wrote: > > > modpost creates an entry when it sees the CRC, then when it sees the > > actual symbol, it complains that it's seen it before. The preloaded > > flag already exists for the equivalent case where we loaded from > > Module.symvers, so use that. > > Looks good. Thanks for fixing. I added this as a merge fix today (thanks): From: Rusty Russell <rusty@rustcorp.com.au> Subject: modpost: fix bogus 'exported twice' warnings. Andi's change in e0f244c63fc9 ("asmlinkage, module: Make ksymtab and kcrctab symbols and __this_module __visible") make the crc appear first in the symbol table. modpost creates an entry when it sees the CRC, then when it sees the actual symbol, it complains that it's seen it before. The preloaded flag already exists for the equivalent case where we loaded from Module.symvers, so use that. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Tested-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c index 9b873ac6ed7b..5c677a3e7487 100644 --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c @@ -164,7 +164,7 @@ struct symbol { unsigned int vmlinux:1; /* 1 if symbol is defined in vmlinux */ unsigned int kernel:1; /* 1 if symbol is from kernel * (only for external modules) **/ - unsigned int preloaded:1; /* 1 if symbol from Module.symvers */ + unsigned int preloaded:1; /* 1 if symbol from Module.symvers, or crc */ enum export export; /* Type of export */ char name[0]; }; @@ -332,8 +332,11 @@ static void sym_update_crc(const char *name, struct module *mod, { struct symbol *s = find_symbol(name); - if (!s) + if (!s) { s = new_symbol(name, mod, export); + /* Don't complain when we find it later. */ + s->preloaded = 1; + } s->crc = crc; s->crc_valid = 1; } -- Cheers, Stephen Rothwell sfr@canb.auug.org.au [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-11-05 23:07 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-11-04 2:41 linux-next: build warnings after merge of the modules tree Stephen Rothwell 2013-11-05 2:20 ` Rusty Russell 2013-11-05 14:17 ` Andi Kleen 2013-11-05 23:07 ` Stephen Rothwell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).