Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kernel-doc: fix param matching for array params kernel-doc: ignore kmemcheck_bitfield_begin/end kallsyms: fix inverted valid symbol checking kbuild: fix build error during make htmldocs
This commit is contained in:
commit
ad5cf46b4e
3 changed files with 23 additions and 4 deletions
|
@ -385,7 +385,7 @@ int main(int argc, char *argv[])
|
||||||
if (!srctree)
|
if (!srctree)
|
||||||
srctree = getcwd(NULL, 0);
|
srctree = getcwd(NULL, 0);
|
||||||
kernsrctree = getenv("KBUILD_SRC");
|
kernsrctree = getenv("KBUILD_SRC");
|
||||||
if (!kernsrctree)
|
if (!kernsrctree || !*kernsrctree)
|
||||||
kernsrctree = srctree;
|
kernsrctree = srctree;
|
||||||
if (argc != 3) {
|
if (argc != 3) {
|
||||||
usage();
|
usage();
|
||||||
|
|
|
@ -167,11 +167,11 @@ static int symbol_valid_tr(struct sym_entry *s)
|
||||||
for (i = 0; i < ARRAY_SIZE(text_ranges); ++i) {
|
for (i = 0; i < ARRAY_SIZE(text_ranges); ++i) {
|
||||||
tr = &text_ranges[i];
|
tr = &text_ranges[i];
|
||||||
|
|
||||||
if (s->addr >= tr->start && s->addr < tr->end)
|
if (s->addr >= tr->start && s->addr <= tr->end)
|
||||||
return 0;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int symbol_valid(struct sym_entry *s)
|
static int symbol_valid(struct sym_entry *s)
|
||||||
|
|
|
@ -1468,6 +1468,8 @@ sub dump_enum($$) {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
# strip kmemcheck_bitfield_{begin,end}.*;
|
||||||
|
$members =~ s/kmemcheck_bitfield_.*?;//gos;
|
||||||
|
|
||||||
output_declaration($declaration_name,
|
output_declaration($declaration_name,
|
||||||
'enum',
|
'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;
|
push @parameterlist, $param;
|
||||||
$parametertypes{$param} = $type;
|
$parametertypes{$param} = $type;
|
||||||
}
|
}
|
||||||
|
@ -1669,6 +1680,14 @@ sub check_sections($$$$$$) {
|
||||||
$prm_clean = $prms[$px];
|
$prm_clean = $prms[$px];
|
||||||
$prm_clean =~ s/\[.*\]//;
|
$prm_clean =~ s/\[.*\]//;
|
||||||
$prm_clean =~ s/__attribute__\s*\(\([a-z,_\*\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/^\**//;
|
##$prm_clean =~ s/^\**//;
|
||||||
if ($prm_clean eq $sects[$sx]) {
|
if ($prm_clean eq $sects[$sx]) {
|
||||||
$err = 0;
|
$err = 0;
|
||||||
|
|
Loading…
Reference in a new issue