Commit 24a54f7974a616385b96cd939e004592e2cea484

Authored by Stephen Hemminger
Committed by Michal Marek
1 parent 532cf2907a

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: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>

Showing 1 changed file with 24 additions and 0 deletions Side-by-side Diff

scripts/namespace.pl
... ... @@ -141,6 +141,26 @@
141 141 'VDSO32_sigreturn' => 1,
142 142 );
143 143  
  144 +# Files with exceptions to source file location
  145 +my %sourceloc = (
  146 + 'net/dccp/dccp_probe.o' => 'probe',
  147 + 'net/dccp/dccp_ipv4.o' => 'ipv4',
  148 + 'net/dccp/dccp_ipv6.o' => 'ipv6',
  149 + 'net/dccp/dccp_diag.o' => 'diag',
  150 + 'drivers/char/hw_random/rng-core.o' => 'core',
  151 + 'fs/fat/msdos.o' => 'namei_msdos',
  152 + 'fs/fat/vfat.o' => 'namei_vfat',
  153 + 'fs/nfs_common/nfs_acl.o' => 'nfsacl',
  154 + 'sound/soundcore.o' => 'sound_core',
  155 + 'drivers/md/dm-mirror.o' => 'dm-raid1',
  156 + 'drivers/message/i2o/i2o_bus.o' => 'bus-osm',
  157 + 'arch/x86/kvm/kvm-amd.o' => 'svm',
  158 + 'arch/x86/kvm/kvm-intel.o' => 'vmx',
  159 + 'arch/x86/crypto/twofish-x86_64.o' => 'twofish-x86_64-asm_64',
  160 + 'arch/x86/crypto/aes-x86_64.o' => 'aes-x86_64-asm_64',
  161 + 'arch/x86/crypto/aesni-intel.o' => 'aesni-intel_asm',
  162 + 'arch/x86/crypto/salsa20-x86_64.o' => 'salsa20-x86_64-asm_64',
  163 +);
144 164  
145 165 &find(\&linux_objects, '.'); # find the objects and do_nm on them
146 166 &list_multiply_defined();
147 167  
... ... @@ -228,11 +248,15 @@
228 248 return;
229 249 }
230 250 ($source = $basename) =~ s/\.o$//;
  251 +
  252 + $source = $sourceloc{$fullname} if ($sourceloc{$fullname});
  253 +
231 254 if (-e "$source.c" || -e "$source.S") {
232 255 $source = "$objtree$File::Find::dir/$source";
233 256 } else {
234 257 $source = "$srctree$File::Find::dir/$source";
235 258 }
  259 +
236 260 if (! -e "$source.c" && ! -e "$source.S") {
237 261 # No obvious source, exclude the object if it is conglomerate
238 262 open(my $objdumpdata, "$objdump $basename|")