diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/basic/docproc.c | 2 | ||||
| -rw-r--r-- | scripts/kallsyms.c | 6 | ||||
| -rwxr-xr-x | scripts/kernel-doc | 19 | 
3 files changed, 23 insertions, 4 deletions
diff --git a/scripts/basic/docproc.c b/scripts/basic/docproc.c index 4c9523ef9c0..99ca7a69868 100644 --- a/scripts/basic/docproc.c +++ b/scripts/basic/docproc.c @@ -385,7 +385,7 @@ int main(int argc, char *argv[])  	if (!srctree)  		srctree = getcwd(NULL, 0);  	kernsrctree = getenv("KBUILD_SRC"); -	if (!kernsrctree) +	if (!kernsrctree || !*kernsrctree)  		kernsrctree = srctree;  	if (argc != 3) {  		usage(); diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index 3cb57895c9e..64343cc084b 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c @@ -167,11 +167,11 @@ static int symbol_valid_tr(struct sym_entry *s)  	for (i = 0; i < ARRAY_SIZE(text_ranges); ++i) {  		tr = &text_ranges[i]; -		if (s->addr >= tr->start && s->addr < tr->end) -			return 0; +		if (s->addr >= tr->start && s->addr <= tr->end) +			return 1;  	} -	return 1; +	return 0;  }  static int symbol_valid(struct sym_entry *s) diff --git a/scripts/kernel-doc b/scripts/kernel-doc index a193fa3f527..ed591e9b7d1 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1468,6 +1468,8 @@ sub dump_enum($$) {  	    }  	} +	# strip kmemcheck_bitfield_{begin,end}.*; +	$members =~ s/kmemcheck_bitfield_.*?;//gos;  	output_declaration($declaration_name,  			   'enum', @@ -1651,6 +1653,15 @@ sub push_parameter($$$) {  	}  	} +	# strip spaces from $param so that it is one continous string +	# on @parameterlist; +	# this fixes a problem where check_sections() cannot find +	# a parameter like "addr[6 + 2]" because it actually appears +	# as "addr[6", "+", "2]" on the parameter list; +	# but it's better to maintain the param string unchanged for output, +	# so just weaken the string compare in check_sections() to ignore +	# "[blah" in a parameter string; +	###$param =~ s/\s*//g;  	push @parameterlist, $param;  	$parametertypes{$param} = $type;  } @@ -1669,6 +1680,14 @@ sub check_sections($$$$$$) {  			$prm_clean = $prms[$px];  			$prm_clean =~ s/\[.*\]//;  			$prm_clean =~ s/__attribute__\s*\(\([a-z,_\*\s\(\)]*\)\)//; +			# ignore array size in a parameter string; +			# however, the original param string may contain +			# spaces, e.g.:  addr[6 + 2] +			# and this appears in @prms as "addr[6" since the +			# parameter list is split at spaces; +			# hence just ignore "[..." for the sections check; +			$prm_clean =~ s/\[.*//; +  			##$prm_clean =~ s/^\**//;  			if ($prm_clean eq $sects[$sx]) {  				$err = 0;  | 
