提交 24a54f79 编写于 作者: S Stephen Hemminger 提交者: Michal Marek

namespace: add source file location exceptions

Teach namespace checker about some special case files where the
source is in unusual location.  This fixes many of the source file
not found errors (more can be added), and also prevents false positives
for functions not being used.
Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: NMichal Marek <mmarek@suse.cz>
上级 532cf290
......@@ -141,6 +141,26 @@ my %nameexception = (
'VDSO32_sigreturn' => 1,
);
# Files with exceptions to source file location
my %sourceloc = (
'net/dccp/dccp_probe.o' => 'probe',
'net/dccp/dccp_ipv4.o' => 'ipv4',
'net/dccp/dccp_ipv6.o' => 'ipv6',
'net/dccp/dccp_diag.o' => 'diag',
'drivers/char/hw_random/rng-core.o' => 'core',
'fs/fat/msdos.o' => 'namei_msdos',
'fs/fat/vfat.o' => 'namei_vfat',
'fs/nfs_common/nfs_acl.o' => 'nfsacl',
'sound/soundcore.o' => 'sound_core',
'drivers/md/dm-mirror.o' => 'dm-raid1',
'drivers/message/i2o/i2o_bus.o' => 'bus-osm',
'arch/x86/kvm/kvm-amd.o' => 'svm',
'arch/x86/kvm/kvm-intel.o' => 'vmx',
'arch/x86/crypto/twofish-x86_64.o' => 'twofish-x86_64-asm_64',
'arch/x86/crypto/aes-x86_64.o' => 'aes-x86_64-asm_64',
'arch/x86/crypto/aesni-intel.o' => 'aesni-intel_asm',
'arch/x86/crypto/salsa20-x86_64.o' => 'salsa20-x86_64-asm_64',
);
&find(\&linux_objects, '.'); # find the objects and do_nm on them
&list_multiply_defined();
......@@ -228,11 +248,15 @@ sub do_nm
return;
}
($source = $basename) =~ s/\.o$//;
$source = $sourceloc{$fullname} if ($sourceloc{$fullname});
if (-e "$source.c" || -e "$source.S") {
$source = "$objtree$File::Find::dir/$source";
} else {
$source = "$srctree$File::Find::dir/$source";
}
if (! -e "$source.c" && ! -e "$source.S") {
# No obvious source, exclude the object if it is conglomerate
open(my $objdumpdata, "$objdump $basename|")
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册