diff options
Diffstat (limited to 'scripts/export_report.pl')
| -rw-r--r-- | scripts/export_report.pl | 26 | 
1 files changed, 20 insertions, 6 deletions
diff --git a/scripts/export_report.pl b/scripts/export_report.pl index 04dce7c15f8..8f79b701de8 100644 --- a/scripts/export_report.pl +++ b/scripts/export_report.pl @@ -25,11 +25,12 @@ sub alphabetically {  sub print_depends_on {  	my ($href) = @_;  	print "\n"; -	while (my ($mod, $list) = each %$href) { +	for my $mod (sort keys %$href) { +		my $list = $href->{$mod};  		print "\t$mod:\n";  		foreach my $sym (sort numerically @{$list}) {  			my ($symbol, $no) = split /\s+/, $sym; -			printf("\t\t%-25s\t%-25d\n", $symbol, $no); +			printf("\t\t%-25s\n", $symbol);  		}  		print "\n";  	} @@ -49,8 +50,14 @@ sub usage {  }  sub collectcfiles { -    my @file -	= `cat .tmp_versions/*.mod | grep '.*\.ko\$' | sed s/\.ko$/.mod.c/`; +    my @file; +    while (<.tmp_versions/*.mod>) { +	open my $fh, '<', $_ or die "cannot open $_: $!\n"; +	push (@file, +	      grep s/\.ko/.mod.c/,	# change the suffix +	      grep m/.+\.ko/,		# find the .ko path +	      <$fh>);			# lines in opened file +    }      chomp @file;      return @file;  } @@ -95,6 +102,8 @@ close($module_symvers);  #  # collect the usage count of each symbol.  # +my $modversion_warnings = 0; +  foreach my $thismod (@allcfiles) {  	my $module; @@ -125,7 +134,8 @@ foreach my $thismod (@allcfiles) {  		}  	}  	if ($state != 2) { -		print "WARNING:$thismod is not built with CONFIG_MODVERSION enabled\n"; +		warn "WARNING:$thismod is not built with CONFIG_MODVERSIONS enabled\n"; +		$modversion_warnings++;  	}  	close($module);  } @@ -159,8 +169,12 @@ printf("SECTION 2:\n\tThis section reports export-symbol-usage of in-kernel  modules. Each module lists the modules, and the symbols from that module that  it uses.  Each listed symbol reports the number of modules using it\n"); +print "\nNOTE: Got $modversion_warnings CONFIG_MODVERSIONS warnings\n\n" +    if $modversion_warnings; +  print "~"x80 , "\n"; -while (my ($thismod, $list) = each %MODULE) { +for my $thismod (sort keys %MODULE) { +	my $list = $MODULE{$thismod};  	my %depends;  	$thismod =~ s/\.mod\.c/.ko/;  	print "\t\t\t$thismod\n";  | 
